ebf38a0c30382d608c88cd9932bdb4d0c432a97a
[gnulib.git] / ChangeLog
1 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2
3         stdlib: don't get in the way of non-GCC __attribute__
4         See thread starting at
5         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
6         Revert previous stdlib change, installing the following instead:
7         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
8         to get in the way of a non-GCC compiler that supports __attribute__.
9         (_GL_ATTRIBUTE_RETURN): New macro.
10         (_Exit): Use it instead of __attribute__.
11
12 2011-02-12  Bruno Haible  <bruno@clisp.org>
13
14         quotearg test: Avoid test failure on mingw.
15         * tests/test-quotearg.sh: Convert the locale identifier from native
16         Windows syntax to Unix syntax.
17
18 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19
20         stdlib: support non-GCC __attribute__
21
22         Fix a serious and tricky problem encountered when attempting to
23         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24         5.5, but it crashed due to memory corruption on Solaris 10 with
25         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
26         bits that are otherwise zero.  This tagging is optional inside
27         Emacs but is preferred and is used when __attribute__ ((__aligned
28         (8))) works, as it does with both recent-enough GCC and with Sun C
29         5.11.  However, Sun C 5.11 is not GCC and does not #define
30         __GNUC__ and __GNUC_MINOR__.
31
32         When I added the getloadavg module to Emacs, it brought in
33         stdlib.in.h, which contained this fragment:
34
35            #ifndef __attribute__
36            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
37            #  define __attribute__(Spec)   /* empty */
38            # endif
39            #endif
40
41         When files that include <stdlib.h> were compiled with Sun C 5.11,
42         the above code disabled __attribute__ ((__aligned (8))), which
43         caused variables to not be properly aligned, which eventually led
44         to the pointer corruption mentioned above.  (This was a bit hard
45         to diagnose, unfortunately.)
46
47         Several "#define __attribute__(X) /* empty */" code snippets need
48         to be eradicated from Gnulib to work with non-GCC compilers that
49         support __attribute__.  The Autoconf way to do this is to test for
50         each kind of attribute that we want support for, and selectively
51         enable that in source code.
52
53         Fix this problem just for stdlib.h, by adding a test for the
54         __noreturn__ attribute, and change stdlib.in.h to use that test
55         when needed.  This technique can be easily generalized to the
56         other *.in.h files and attributes, and a similar technique can be
57         used for *.h and *.c files.  This patch is enough to solve the
58         problem for Emacs + getloadavg, and I thought I'd publish it for
59         feedback before undertaking further, similar fixes in other
60         modules.
61
62         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
63         because it's not needed for stdlib.h.  It merely substitutes the
64         value directly into stdlib.h.  We may well need to #define it, or
65         similar symbols, for other modules, but it's nice to also have an
66         option to not #define it for applications like Emacs that do not
67         need it.
68
69         * lib/stdlib.in.h (__attribute__): Do not #define.
70         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
71         be defined only if the _Exit module is also used.
72         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
73         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
74         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
75         platforms.
76         * modules/_Exit (Files): Add m4/attribute.m4.
77         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
78         * m4/attribute.m4: New file.
79
80 2011-02-12  Bruno Haible  <bruno@clisp.org>
81
82         wcsrtombs: Work around bug on native Windows.
83         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
84         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
85         instead of len.
86         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
87
88 2011-02-12  Bruno Haible  <bruno@clisp.org>
89
90         mbsrtowcs: Work around bug on native Windows.
91         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
92         against mingw bug.
93         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
94
95 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
96
97         doc: update users.txt
98         * users.txt: Add rcs.
99
100 2011-02-10  John W. Eaton  <jwe@gnu.org>
101
102         doc: update users.txt
103         * users.txt: Add octave.
104
105 2011-02-10  Jim Meyering  <meyering@redhat.com>
106
107         doc: update users.txt
108         * users.txt: Add iwhd.
109
110 2011-02-09  Bruno Haible  <bruno@clisp.org>
111
112         gnulib-tool: Make copyright notice adjustment more robust.
113         * gnulib-tool (func_import): In sed_transform_main_lib_file,
114         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
115         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
116         License".
117         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
118
119 2011-02-06  Bruno Haible  <bruno@clisp.org>
120
121         New module 'towctrans'.
122         * modules/towctrans: New file.
123         * lib/wctype.in.h (towctrans): New declaration.
124         * lib/towctrans.c: New file.
125         * lib/towctrans-impl.h: New file.
126         * m4/towctrans.m4: New file.
127         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
128         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
129         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
130         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
131         * doc/posix-functions/towctrans.texi: Mention the new module.
132
133 2011-02-06  Bruno Haible  <bruno@clisp.org>
134
135         New module 'wctrans'.
136         * modules/wctrans: New file.
137         * lib/wctype.in.h (wctrans): New declaration.
138         * lib/wctrans.c: New file.
139         * lib/wctrans-impl.h: New file.
140         * m4/wctrans.m4: New file.
141         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
142         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
143         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
144         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
145         * doc/posix-functions/wctrans.texi: Mention the new module.
146
147 2011-02-06  Bruno Haible  <bruno@clisp.org>
148
149         New module 'iswctype'.
150         * modules/iswctype: New file.
151         * lib/wctype.in.h (iswctype): New declaration.
152         * lib/iswctype.c: New file.
153         * lib/iswctype-impl.h: New file.
154         * m4/iswctype.m4: New file.
155         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
156         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
157         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
158         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
159         * doc/posix-functions/iswctype.texi: Mention the new module and the
160         HP-UX 11.00 problem.
161
162 2011-02-06  Bruno Haible  <bruno@clisp.org>
163
164         New module 'wctype'.
165         * modules/wctype: Change to represent the wctype() substitute.
166         * lib/wctype.in.h (wctype): New declaration.
167         * lib/wctype.c: New file.
168         * lib/wctype-impl.h: New file.
169         * m4/wctype.m4: New file.
170         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
171         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
172         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
173         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
174         * doc/posix-functions/wctype.texi: Mention the new module and the
175         HP-UX 11.00 problem.
176
177 2011-02-06  Bruno Haible  <bruno@clisp.org>
178
179         wctype-h: Ensure wctype_t and wctrans_t are defined.
180         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
181         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
182         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
183         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
184         HAVE_WCTRANS_T.
185         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
186
187 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
188
189         flock: fix license typo
190
191         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
192         omitted.
193
194 2011-02-08  Bruno Haible  <bruno@clisp.org>
195
196         Split large sed scripts, for HP-UX sed.
197         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
198         to avoid HP-UX limit of 99 commands, in the near future.
199         * modules/stdlib (Makefile.am): Likewise.
200         * modules/unistd (Makefile.am): Likewise.
201         * modules/wchar (Makefile.am): Likewise.
202         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
203         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
204         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
205
206 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
207             Bruno Haible  <bruno@clisp.org>
208
209         stdlib: improve random_r modularization
210         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
211         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
212         you also need the random_r module to get this material right.
213         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
214         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
215         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
216
217 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
218
219         stdlib: don't depend on stdint
220         * lib/stdlib.in.h: Don't include <stdint.h> merely because
221         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
222         be independent of whether stdint.h is needed.
223         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
224         here, instead of ...
225         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
226         struct random_data should be using the random_r module, not just
227         the stdlib module (which wouldn't make sense: what package needs
228         just struct random_data without also needing random_r?).
229         * modules/stdlib (Depends-on): Remove stdint.
230
231         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
232         See the thread rooted at
233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
234         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
235         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
236         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
237         __VMS)); previously it was always included (via fcntl--.h).
238         (getloadavg): Do not use c_strtod.  Instead, approximate it by
239         hand; this is good enough for load averages.  Also, do not use
240         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
241         flags directly if available and don't bother otherwise.  (Packages
242         that need the extra reliability should use the modules that define
243         these flags on older platforms that lack them.)
244         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
245         fcntl-safer.
246
247 2011-02-08  Jim Meyering  <meyering@redhat.com>
248
249         di-set.h, ino-map.h: add multiple-inclusion guard
250         Technically, the guard is required only for ino-map.h, due to its
251         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
252         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
253         * lib/ino-map.h: Likewise.
254
255 2011-02-06  Bruno Haible  <bruno@clisp.org>
256
257         iswblank: Ensure declaration on glibc systems.
258         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
259         * modules/iswblank (Dependencies): Add 'extensions'.
260         * doc/posix-functions/iswblank.texi: Document the glibc problem.
261
262 2011-02-06  Bruno Haible  <bruno@clisp.org>
263
264         New module 'iswblank'.
265         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
266         * modules/iswblank: New file.
267         * modules/wctype-h (Files): Remove lib/iswblank.c.
268         (Makefile.am): Substitute GNULIB_ISWBLANK.
269         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
270         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
271         (gl_WCTYPE_H_DEFAULTS): New macro.
272         (gl_WCTYPE_H): Require it. Remove iswblank related code.
273         * modules/iswblank-tests: New file.
274         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
275         * tests/test-wctype-h.c (main): Remove iswblank tests.
276         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
277         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
278         of 'wctype-h'.
279         * NEWS: Mention the change.
280         * modules/mbchar (Depends-on): Add iswblank.
281
282 2011-02-08  Bruno Haible  <bruno@clisp.org>
283
284         di-set tests: Refactor.
285         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
286         unnecessary includes.
287         (ASSERT): Remove macro.
288         (main): Make C90 compliant by avoiding variable declaration after
289         statement.
290         * modules/di-set-tests (Files): Add tests/macros.h.
291
292 2011-02-08  Bruno Haible  <bruno@clisp.org>
293
294         ino-map tests: Refactor.
295         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
296         unnecessary includes.
297         (ASSERT): Remove macro.
298         (main): Make C90 compliant by avoiding variable declaration after
299         statement.
300         * modules/ino-map-tests (Files): Add tests/macros.h.
301
302 2011-02-08  Jim Meyering  <meyering@redhat.com>
303
304         di-set: add "const" to a cast
305         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
306         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
307
308 2011-02-06  Bruno Haible  <bruno@clisp.org>
309
310         Rename module 'wctype' to 'wctype-h'.
311         * modules/wctype-h: Renamed from modules/wctype.
312         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
313         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
314         (Files, Depends-on, Makefile.am): Update.
315         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
316         (Files, Makefile.am): Update.
317         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
318         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
319         * doc/posix-headers/wctype.texi: Update.
320         * doc/posix-functions/iswalnum.texi: Update.
321         * doc/posix-functions/iswalpha.texi: Update.
322         * doc/posix-functions/iswblank.texi: Update.
323         * doc/posix-functions/iswcntrl.texi: Update.
324         * doc/posix-functions/iswdigit.texi: Update.
325         * doc/posix-functions/iswgraph.texi: Update.
326         * doc/posix-functions/iswlower.texi: Update.
327         * doc/posix-functions/iswprint.texi: Update.
328         * doc/posix-functions/iswpunct.texi: Update.
329         * doc/posix-functions/iswspace.texi: Update.
330         * doc/posix-functions/iswupper.texi: Update.
331         * doc/posix-functions/iswxdigit.texi: Update.
332         * doc/posix-functions/towlower.texi: Update.
333         * doc/posix-functions/towupper.texi: Update.
334         * NEWS: Mention the change.
335         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
336         * modules/mbchar (Dependencies): Likewise.
337         * modules/mbswidth (Dependencies): Likewise.
338         * modules/quotearg (Dependencies): Likewise.
339         * modules/regex (Dependencies): Likewise.
340         * modules/wcscasecmp (Dependencies): Likewise.
341         * modules/wcsncasecmp (Dependencies): Likewise.
342         * modules/wcwidth (Dependencies): Likewise.
343
344 2011-02-06  Bruno Haible  <bruno@clisp.org>
345
346         New module 'wcswidth'.
347         * modules/wcswidth: New file.
348         * lib/wchar.in.h (wcswidth): New declaration.
349         * lib/wcswidth.c: New file.
350         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
351         * m4/wcswidth.m4: New file.
352         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
353         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
354         REPLACE_WCSWIDTH.
355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
356         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
357         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
358         * doc/posix-functions/wcswidth.texi: Mention the new module.
359
360 2011-02-06  Bruno Haible  <bruno@clisp.org>
361
362         New module 'wcstok'.
363         * modules/wcstok: New file.
364         * lib/wchar.in.h (wcstok): New declaration.
365         * lib/wcstok.c: New file.
366         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
367         * m4/wcstok.m4: New file.
368         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
369         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
370         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
371         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
372         * doc/posix-functions/wcstok.texi: Mention the new module.
373
374 2011-02-06  Bruno Haible  <bruno@clisp.org>
375
376         New module 'wcsstr'.
377         * modules/wcsstr: New file.
378         * lib/wchar.in.h (wcsstr): New declaration.
379         * lib/wcsstr.c: New file.
380         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
381         * m4/wcsstr.m4: New file.
382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
385         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
386         * doc/posix-functions/wcsstr.texi: Mention the new module.
387
388 2011-02-06  Bruno Haible  <bruno@clisp.org>
389
390         New module 'wcspbrk'.
391         * modules/wcspbrk: New file.
392         * lib/wchar.in.h (wcspbrk): New declaration.
393         * lib/wcspbrk.c: New file.
394         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
395         * m4/wcspbrk.m4: New file.
396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
398         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
399         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
400         * doc/posix-functions/wcspbrk.texi: Mention the new module.
401
402 2011-02-06  Bruno Haible  <bruno@clisp.org>
403
404         New module 'wcsspn'.
405         * modules/wcsspn: New file.
406         * lib/wchar.in.h (wcsspn): New declaration.
407         * lib/wcsspn.c: New file.
408         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
409         * m4/wcsspn.m4: New file.
410         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
411         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
412         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
413         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
414         * doc/posix-functions/wcsspn.texi: Mention the new module.
415
416 2011-02-06  Bruno Haible  <bruno@clisp.org>
417
418         New module 'wcscspn'.
419         * modules/wcscspn: New file.
420         * lib/wchar.in.h (wcscspn): New declaration.
421         * lib/wcscspn.c: New file.
422         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
423         * m4/wcscspn.m4: New file.
424         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
425         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
426         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
427         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
428         * doc/posix-functions/wcscspn.texi: Mention the new module.
429
430 2011-02-06  Bruno Haible  <bruno@clisp.org>
431
432         New module 'wcsrchr'.
433         * modules/wcsrchr: New file.
434         * lib/wchar.in.h (wcsrchr): New declaration.
435         * lib/wcsrchr.c: New file.
436         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
437         * m4/wcsrchr.m4: New file.
438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
441         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
442         * doc/posix-functions/wcsrchr.texi: Mention the new module.
443
444 2011-02-06  Bruno Haible  <bruno@clisp.org>
445
446         New module 'wcschr'.
447         * modules/wcschr: New file.
448         * lib/wchar.in.h (wcschr): New declaration.
449         * lib/wcschr.c: New file.
450         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
451         * m4/wcschr.m4: New file.
452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
454         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
455         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
456         * doc/posix-functions/wcschr.texi: Mention the new module.
457
458 2011-02-06  Bruno Haible  <bruno@clisp.org>
459
460         New module 'wcsdup'.
461         * modules/wcsdup: New file.
462         * lib/wchar.in.h (wcsdup): New declaration.
463         * lib/wcsdup.c: New file.
464         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
465         * m4/wcsdup.m4: New file.
466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
469         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
470         * doc/posix-functions/wcsdup.texi: Mention the new module.
471
472 2011-02-06  Bruno Haible  <bruno@clisp.org>
473
474         New module 'wcsxfrm'.
475         * modules/wcsxfrm: New file.
476         * lib/wchar.in.h (wcsxfrm): New declaration.
477         * lib/wcsxfrm.c: New file.
478         * lib/wcsxfrm-impl.h: New file.
479         * m4/wcsxfrm.m4: New file.
480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
483         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
484         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
485
486 2011-02-06  Bruno Haible  <bruno@clisp.org>
487
488         New module 'wcscoll'.
489         * modules/wcscoll: New file.
490         * lib/wchar.in.h (wcscoll): New declaration.
491         * lib/wcscoll.c: New file.
492         * lib/wcscoll-impl.h: New file.
493         * m4/wcscoll.m4: New file.
494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
497         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
498         * doc/posix-functions/wcscoll.texi: Mention the new module.
499
500 2011-02-06  Bruno Haible  <bruno@clisp.org>
501
502         New module 'wcsncasecmp'.
503         * modules/wcsncasecmp: New file.
504         * lib/wchar.in.h (wcsncasecmp): New declaration.
505         * lib/wcsncasecmp.c: New file.
506         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
507         * m4/wcsncasecmp.m4: New file.
508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
510         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
511         HAVE_WCSNCASECMP.
512         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
513         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
514
515 2011-02-06  Bruno Haible  <bruno@clisp.org>
516
517         New module 'wcscasecmp'.
518         * modules/wcscasecmp: New file.
519         * lib/wchar.in.h (wcscasecmp): New declaration.
520         * lib/wcscasecmp.c: New file.
521         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
522         * m4/wcscasecmp.m4: New file.
523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
526         HAVE_WCSCASECMP.
527         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
528         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
529
530 2011-02-05  Bruno Haible  <bruno@clisp.org>
531
532         New module 'wcsncmp'.
533         * modules/wcsncmp: New file.
534         * lib/wchar.in.h (wcsncmp): New declaration.
535         * lib/wcsncmp.c: New file.
536         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
537         * m4/wcsncmp.m4: New file.
538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
540         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
541         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
542         * doc/posix-functions/wcsncmp.texi: Mention the new module.
543
544 2011-02-05  Bruno Haible  <bruno@clisp.org>
545
546         New module 'wcscmp'.
547         * modules/wcscmp: New file.
548         * lib/wchar.in.h (wcscmp): New declaration.
549         * lib/wcscmp.c: New file.
550         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
551         * m4/wcscmp.m4: New file.
552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
554         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
555         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
556         * doc/posix-functions/wcscmp.texi: Mention the new module.
557
558 2011-02-05  Bruno Haible  <bruno@clisp.org>
559
560         New module 'wcsncat'.
561         * modules/wcsncat: New file.
562         * lib/wchar.in.h (wcsncat): New declaration.
563         * lib/wcsncat.c: New file.
564         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
565         * m4/wcsncat.m4: New file.
566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
568         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
569         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
570         * doc/posix-functions/wcsncat.texi: Mention the new module.
571
572 2011-02-05  Bruno Haible  <bruno@clisp.org>
573
574         New module 'wcscat'.
575         * modules/wcscat: New file.
576         * lib/wchar.in.h (wcscat): New declaration.
577         * lib/wcscat.c: New file.
578         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
579         * m4/wcscat.m4: New file.
580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
582         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
583         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
584         * doc/posix-functions/wcscat.texi: Mention the new module.
585
586 2011-02-05  Bruno Haible  <bruno@clisp.org>
587
588         New module 'wcpncpy'.
589         * modules/wcpncpy: New file.
590         * lib/wchar.in.h (wcpncpy): New declaration.
591         * lib/wcpncpy.c: New file.
592         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
593         * m4/wcpncpy.m4: New file.
594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
596         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
597         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
598         * doc/posix-functions/wcpncpy.texi: Mention the new module.
599
600 2011-02-05  Bruno Haible  <bruno@clisp.org>
601
602         New module 'wcsncpy'.
603         * modules/wcsncpy: New file.
604         * lib/wchar.in.h (wcsncpy): New declaration.
605         * lib/wcsncpy.c: New file.
606         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
607         * m4/wcsncpy.m4: New file.
608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
611         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
612         * doc/posix-functions/wcsncpy.texi: Mention the new module.
613
614 2011-02-05  Bruno Haible  <bruno@clisp.org>
615
616         New module 'wcpcpy'.
617         * modules/wcpcpy: New file.
618         * lib/wchar.in.h (wcpcpy): New declaration.
619         * lib/wcpcpy.c: New file.
620         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
621         * m4/wcpcpy.m4: New file.
622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
624         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
625         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
626         * doc/posix-functions/wcpcpy.texi: Mention the new module.
627
628 2011-02-05  Bruno Haible  <bruno@clisp.org>
629
630         New module 'wcscpy'.
631         * modules/wcscpy: New file.
632         * lib/wchar.in.h (wcscpy): New declaration.
633         * lib/wcscpy.c: New file.
634         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
635         * m4/wcscpy.m4: New file.
636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
639         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
640         * doc/posix-functions/wcscpy.texi: Mention the new module.
641
642 2011-02-05  Bruno Haible  <bruno@clisp.org>
643
644         New module 'wcsnlen'.
645         * modules/wcsnlen: New file.
646         * lib/wchar.in.h (wcsnlen): New declaration.
647         * lib/wcsnlen.c: New file.
648         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
649         * m4/wcsnlen.m4: New file.
650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
653         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
654         * doc/posix-functions/wcsnlen.texi: Mention the new module.
655
656 2011-02-05  Bruno Haible  <bruno@clisp.org>
657
658         New module 'wcslen'.
659         * modules/wcslen: New file.
660         * lib/wchar.in.h (wcslen): New declaration.
661         * lib/wcslen.c: New file.
662         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
663         * m4/wcslen.m4: New file.
664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
667         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
668         * doc/posix-functions/wcslen.texi: Mention the new module.
669
670 2011-02-05  Bruno Haible  <bruno@clisp.org>
671
672         New module 'wmemset'.
673         * modules/wmemset: New file.
674         * lib/wchar.in.h (wmemset): New declaration.
675         * lib/wmemset.c: New file.
676         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
677         * m4/wmemset.m4: New file.
678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
680         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
681         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
682         * doc/posix-functions/wmemset.texi: Mention the new module.
683
684 2011-02-05  Bruno Haible  <bruno@clisp.org>
685
686         New module 'wmemmove'.
687         * modules/wmemmove: New file.
688         * lib/wchar.in.h (wmemmove): New declaration.
689         * lib/wmemmove.c: New file.
690         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
691         * m4/wmemmove.m4: New file.
692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
694         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
695         HAVE_WMEMMOVE.
696         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
697         * doc/posix-functions/wmemmove.texi: Mention the new module.
698
699 2011-02-05  Bruno Haible  <bruno@clisp.org>
700
701         New module 'wmemcpy'.
702         * modules/wmemcpy: New file.
703         * lib/wchar.in.h (wmemcpy): New declaration.
704         * lib/wmemcpy.c: New file.
705         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
706         * m4/wmemcpy.m4: New file.
707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
709         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
710         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
711         * doc/posix-functions/wmemcpy.texi: Mention the new module.
712
713 2011-02-05  Bruno Haible  <bruno@clisp.org>
714
715         New module 'wmemcmp'.
716         * modules/wmemcmp: New file.
717         * lib/wchar.in.h (wmemcmp): New declaration.
718         * lib/wmemcmp.c: New file.
719         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
720         * m4/wmemcmp.m4: New file.
721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
723         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
724         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
725         * doc/posix-functions/wmemcmp.texi: Mention the new module.
726
727 2011-02-07  Jim Meyering  <meyering@redhat.com>
728
729         di-set, ino-map: new modules, from coreutils
730         * lib/di-set.c: New file.
731         * lib/di-set.h: Likewise.
732         * lib/ino-map.c: Likewise.
733         * lib/ino-map.h: Likewise.
734         * modules/di-set: Likewise.
735         * modules/di-set-tests: Likewise.
736         * modules/ino-map: Likewise.
737         * modules/ino-map-tests: Likewise.
738         * tests/test-di-set.c: Likewise.
739         * tests/test-ino-map.c: Likewise.
740
741 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
742
743         getloadavg: merge minor changes from Emacs
744
745         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
746         (getloadavg): Use memset, not bzero.
747
748         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
749         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
750         clash (bug#86).
751
752 2010-11-14  Bruno Haible  <bruno@clisp.org>
753
754         Allow multiple gnulib generated replacements to coexist.
755         * lib/getopt.in.h (struct option): Avoid identical redefinition.
756         * lib/inttypes.in.h (imaxdiv_t): Likewise.
757         * lib/langinfo.in.h (nl_item): Likewise.
758         * lib/math.in.h (_NaN, NAN): Likewise.
759         * lib/netdb.in.h (struct addrinfo): Likewise.
760         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
761         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
762         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
763         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
764         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
765         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
766         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
767         pthread_mutexattr_init, pthread_mutexattr_settype,
768         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
769         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
770         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
771         pthread_spin_trylock, pthread_spin_unlock): Likewise.
772         * lib/sched.in.h (struct sched_param): Likewise.
773         * lib/se-selinux.in.h (security_class_t, security_context_t,
774         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
775         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
776         lsetfilecon, fsetfilecon, security_check_context,
777         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
778         Likewise.
779         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
780         Likewise.
781         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
782         _gl_function_taking_int_returning_void_t, union sigval,
783         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
784         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
785         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
786         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
787         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
788         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
789         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
790         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
791         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
792         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
793         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
794         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
795         socklen_t, rpl_fd_isset): Likewise.
796         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
797         * lib/sys_time.in.h (struct timeval): Likewise.
798         * lib/sys_times.in.h (struct tms): Likewise.
799         * lib/sys_utsname.in.h (struct utsname):
800         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
801         * lib/unistd.in.h (getpagesize): Likewise.
802         * lib/wchar.in.h (mbstate_t): Likewise.
803         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
804         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
805         towlower, towupper): Likewise.
806         Reported by Sam Steingold <sds@gnu.org>.
807
808 2011-02-05  Eric Blake  <eblake@redhat.com>
809
810         unsetenv: work around Haiku issues
811         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
812         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
813
814 2010-12-30  Bruce Korb  <bkorb@gnu.org>
815
816         libposix: avoid calling error() within libposix
817         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
818         is defined.
819
820 2011-02-05  Eric Blake  <eblake@redhat.com>
821
822         strerror_r-posix: port to cygwin
823         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
824         implementation.
825         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
826         * tests/test-strerror_r.c (main): Fix test.
827         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
828         issue.
829
830 2011-02-05  Bruno Haible  <bruno@clisp.org>
831
832         New module 'wmemchr'.
833         * modules/wmemchr: New file.
834         * lib/wchar.in.h (wmemchr): New declaration.
835         * lib/wmemchr.c: New file.
836         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
837         * m4/wmemchr.m4: New file.
838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
840         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
841         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
842         * doc/posix-functions/wmemchr.texi: Mention the new module.
843
844 2011-02-04  Eric Blake  <eblake@redhat.com>
845
846         fdopendir: detect FreeBSD bug
847         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
848         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
849
850 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
851
852         stdbool: do not define HAVE_STDBOOL_H
853         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
854         AC_HEADER_STDBOOL.  All uses changed.  Do not define
855         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
856         imported from the latest Autoconf git.  It was motivated by Emacs,
857         which uses gnulib but does not need HAVE_STDBOOL_H.
858
859 2011-02-04  Bruno Haible  <bruno@clisp.org>
860
861         wcsnrtombs: Prepare for new module wwcsnrtombs.
862         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
863         * lib/wcsnrtombs.c: Include it.
864         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
865
866         wcsrtombs: Prepare for new module wwcsrtombs.
867         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
868         * lib/wcsrtombs.c: Include it.
869         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
870
871         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
872         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
873         * lib/mbsnrtowcs.c: Include it.
874         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
875
876         mbsrtowcs: Prepare for new module mbsrtowwcs.
877         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
878         * lib/mbsrtowcs.c: Include it.
879         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
880
881 2011-02-04  Bruno Haible  <bruno@clisp.org>
882
883         vasnprintf: Reduce use of malloc for small format strings.
884         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
885         (arguments): Add room for the first 7 arguments.
886         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
887         (char_directives, u8_directives, u16_directives, u32_directives): Add
888         room for the first 7 directives.
889         * lib/printf-parse.c: Include <string.h>.
890         (PRINTF_PARSE): Change memory handling code so that it uses the first
891         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
892         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
893         Reported by Pádraig Brady <P@draigbrady.com>.
894
895 2011-01-31  Eric Blake  <eblake@redhat.com>
896
897         dup2: work around Haiku bug
898         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
899         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
900         * doc/posix-functions/dup2.texi (dup2): Document the bug.
901         * tests/test-dup2.c (main): Enhance test.
902
903 2011-01-31  Simon Josefsson  <simon@josefsson.org>
904
905         doc: off_t is not available in eglibc 2.11.2 stdio.h.
906         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
907         declared by eglibc 2.11.2.
908         * lib/stdio.in.h: Likewise.
909
910 2011-01-31  Eric Blake  <eblake@redhat.com>
911
912         ignore-value: add missing test dependency
913         * tests/test-ignore-value.c: Revert previous change; stdio.h
914         provides off_t.
915         * modules/ignore-value-tests (Depends-on): Add missing dependency.
916
917 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
918
919         mktime: clarify long_int width checking
920         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
921         the top level, to make it clearer that the assumption about
922         long_int width is being checked.  See
923         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
924
925 2011-01-30  Simon Josefsson  <simon@josefsson.org>
926
927         ignore-value: Fix self-test.
928         * tests/test-ignore-value.c: Include sys/types.h for off_t.
929
930 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
931
932         TYPE_MAXIMUM: avoid theoretically undefined behavior
933         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
934         negative number, which the C Standard says has undefined behavior.
935         In practice this is not a problem, but might as well do it by the book.
936         Reported by Rich Felker and Eric Blake; see
937         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
938         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
939         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
940         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
941         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
942         * m4/stdint.m4 (gl_STDINT_H): Likewise.
943         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
944
945         mktime: #undef mktime before #defining it
946         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
947
948         mktime: systematically normalize tm_isdst comparisons
949         * lib/mktime.c (isdst_differ): New function.
950         (__mktime_internal): Use it systematically for all isdst comparisons.
951         This completes the fix for libc BZ #6723, and removes the need for
952         normalizing tm_isdst.  See
953         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
954         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
955
956         mktime: fix some integer overflow issues and sidestep the rest
957
958         This was prompted by a bug report by Benjamin Lindner for MinGW
959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
960         His bug is due to signed integer overflow (0 - INT_MIN), and I
961         I scanned through mktime.c looking for other integer overflow
962         problems, fixing all the bugs I found.
963
964         Although the C Standard says the resulting code is still not safe
965         in the presence of integer overflow, in practice it should be good
966         enough for all real-world two's-complement implementations, except
967         for debugging environments that deliberately trap on integer
968         overflow (e.g., gcc -ftrapv).
969
970         * lib/mktime.c (WRAPV): New macro.
971         (SHR): Also check that long_int and time_t shift right in the
972         usual way, before using the fast-but-unportable method.
973         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
974         used.  The code already assumed two's complement, so there's
975         no need to test for alternatives.  All uses removed.
976         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
977         the C standard.  Problem reported by Rich Felker in
978         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
979         (twos_complement_arithmetic): Also check long_int and time_t.
980         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
981         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
982         (__mktime_internal): Avoid integer overflow with unary subtraction
983         in two instances where -1 - X is an adequate replacement for -X,
984         since the calculations are approximate.
985
986 2011-01-29  Eric Blake  <eblake@redhat.com>
987
988         mktime: avoid infinite loop
989         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
990         type; behavior is still undefined but portable to all known targets.
991         Reported by Rich Felker.
992
993 2011-01-29  Simon Josefsson  <simon@josefsson.org>
994
995         rename, unlink, same-inode: Relicense.
996         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
997         * modules/unlink (License): Likewise.
998         * modules/same-inode (License): Likewise.
999
1000 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1001
1002         mktime: avoid problems on NetBSD 5 / i386
1003         * lib/mktime.c (long_int): New type.  This works around a problem
1004         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
1005         but time_t is 64 bits, and where I expect the existing code is
1006         wrong in some cases.
1007         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
1008         (ydhms_diff): Bring back the compile-time check for wide-enough
1009         year and yday.
1010
1011         mktime: fix misspelling in comment
1012         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
1013         This merges all recent glibc changes of importance.
1014
1015 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1016
1017         move-if-change: cope with concurrent mv of identical file.
1018         * build-aux/move-if-change (CMPPROG): Accept environment
1019         variable as an override for `cmp'.
1020         (usage): Document CMPPROG.
1021         Adjust comparison to drop stdout.  Cope with failure of mv if
1022         the target file exists and is identical to the source, for
1023         parallel builds.
1024         Report from H.J. Lu against binutils in PR binutils/12283.
1025
1026 2011-01-28  Bruce Korb  <bkorb@gnu.org>
1027
1028         * users.txt: Mention sharutils.
1029
1030 2011-01-28  Simon Josefsson  <simon@josefsson.org>
1031
1032         * users.txt: Mention OATH Toolkit.
1033
1034 2011-01-27  Bruno Haible  <bruno@clisp.org>
1035
1036         Prepare for supporting FreeBSD 10.
1037         * build-aux/config.libpath: Remove handling of freebsd1*.
1038
1039 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
1040
1041         Prepare for supporting FreeBSD 10.
1042         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
1043         match FreeBSD 10.0.
1044
1045 2011-01-27  Bruno Haible  <bruno@clisp.org>
1046
1047         vma-iter, get-rusage-as: Add OpenBSD support.
1048         * modules/vma-iter (configure.ac): Test for mquery.
1049         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
1050         * lib/vma-iter.c: Include <sys/mman.h>.
1051         (vma_iterate): Add an implementation based on mquery().
1052         * lib/resource-ext.h (get_rusage_as): Update comments.
1053         * lib/get-rusage-as.c: Likewise.
1054         * lib/get-rusage-data.c: Likewise.
1055
1056 2011-01-26  Karl Berry  <karl@gnu.org>
1057
1058         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
1059         variables to make it easier to override the makeinfo program used.
1060
1061 2011-01-26  Eric Blake  <eblake@redhat.com>
1062
1063         fcntl: work around Haiku F_DUPFD bugs
1064         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
1065         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
1066         cloexec bit on duplication.
1067         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
1068
1069 2011-01-26  Bruno Haible  <bruno@clisp.org>
1070
1071         Enable memory leak tests on AIX.
1072         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
1073         * tests/test-fprintf-posix3.c (main): Likewise.
1074
1075 2011-01-26  Bruno Haible  <bruno@clisp.org>
1076
1077         Tests for module 'get-rusage-data'.
1078         * modules/get-rusage-data-tests: New file.
1079         * tests/test-get-rusage-data.c: New file.
1080
1081         New module 'get-rusage-data'.
1082         * lib/resource-ext.h (get_rusage_data): New declaration.
1083         * lib/get-rusage-data.c: New file.
1084         * modules/get-rusage-data: New file.
1085
1086 2011-01-25  Bruno Haible  <bruno@clisp.org>
1087
1088         get-rusage-as: Allow for easier testing.
1089         * lib/resource-ext.h (get_rusage_as): Add comment.
1090         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
1091         (main): New function for interactive testing.
1092
1093 2011-01-25  Bruno Haible  <bruno@clisp.org>
1094
1095         vma-iter: Treat Haiku like BeOS.
1096         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
1097         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
1098
1099 2011-01-25  Eric Blake  <eblake@redhat.com>
1100
1101         c-stack: fix regression on cygwin when libsigsegv is present
1102         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
1103
1104 2011-01-24  Bruno Haible  <bruno@clisp.org>
1105
1106         vma-iter: Avoid empty intervals.
1107         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
1108         on an empty interval.
1109
1110 2011-01-24  Jim Meyering  <meyering@redhat.com>
1111
1112         u64: remove unnecessary #include
1113         * lib/u64.h: Don't include <stddef.h>.  It was not used.
1114
1115 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1116
1117         Allow the user to avoid the GNULIB_TEST_* macros.
1118         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
1119
1120 2011-01-23  Bruno Haible  <bruno@clisp.org>
1121
1122         New module 'vma-iter'.
1123         * lib/vma-iter.h: New file.
1124         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
1125         * modules/vma-iter: New file.
1126         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
1127         for get_rusage_as_via_iterator.
1128         (vma_iterate_callback): New function.
1129         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
1130         * modules/get-rusage-as (Depends-on): Add vma-iter.
1131
1132 2011-01-23  Bruno Haible  <bruno@clisp.org>
1133
1134         uninorm: Tweak includes.
1135         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
1136         Reported by Jim Meyering.
1137
1138 2011-01-23  Bruno Haible  <bruno@clisp.org>
1139
1140         get-rusage-as: Improve on NetBSD.
1141         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
1142         /proc, like on FreeBSD.
1143
1144 2011-01-23  Jim Meyering  <meyering@redhat.com>
1145
1146         xreadlink.h: remove unnecessary #include
1147         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
1148
1149         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
1150         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
1151
1152 2011-01-23  Bruno Haible  <bruno@clisp.org>
1153
1154         get-rusage-as: Fix bug.
1155         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
1156         original limit when aborting the first loop.
1157
1158 2011-01-23  Bruno Haible  <bruno@clisp.org>
1159
1160         wctype: Ensure valid C syntax.
1161         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
1162         unconditionally, instead of gl_NEXT_HEADERS conditionally.
1163
1164 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1165
1166         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
1167         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
1168         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
1169         as they are needed only for configure's test case.
1170         This removes two unnecessary symbols from config.h.
1171
1172         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
1173         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
1174         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
1175         AC_CHECK_HEADERS_ONCE on a header that we also invoke
1176         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
1177         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
1178         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
1179         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
1180         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1181         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1182         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
1183         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1184         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1185         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1186         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
1187         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1188         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
1189         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1190
1191 2011-01-21  Eric Blake  <eblake@redhat.com>
1192
1193         maintainer-makefile: work with older git for submodule check
1194         * top/maint.mk (public-submodule-commit): Rewrite to avoid
1195         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
1196         Reported by Matthias Bolte.
1197
1198         bootstrap: minor portability fixes
1199         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
1200         (usage): Omit leading capital and trailing . on help phrases, per
1201         GNU Coding Standards.
1202         (check_versions, top level): Prefix messages with script name.
1203
1204 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
1205
1206         bootstrap: support --no-git option
1207         * build-aux/bootstrap: Add --no-git option, to be used when
1208         --gnulib-srcdir points to the exact desired checkout.
1209
1210 2011-01-21  Eric Blake  <eblake@redhat.com>
1211
1212         strerror_r-posix: work with glibc 2.13
1213         * lib/strerror_r.c (strerror_r): Fix return type.
1214
1215 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1216             Bruno Haible  <bruno@clisp.org>
1217
1218         uN_strstr: New unit tests.
1219         * modules/unistr/u8-strstr-tests: New file.
1220         * modules/unistr/u16-strstr-tests: New file.
1221         * modules/unistr/u32-strstr-tests: New file.
1222         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
1223         * tests/unistr/test-u8-strstr.c: New file.
1224         * tests/unistr/test-u16-strstr.c: New file.
1225         * tests/unistr/test-u32-strstr.c: New file.
1226
1227 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1228             Bruno Haible  <bruno@clisp.org>
1229
1230         Make uN_strstr functions O(n) worst-case.
1231         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
1232         16-bit and 32-bit unit cases, use the unibyte algorithm from
1233         lib/mbsstr.c.
1234         * lib/unistr/u8-strstr.c: Include <string.h>.
1235         (UNIT_IS_UINT8_T): New macro.
1236         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
1237         (U_STRLEN, U_STRNLEN): New macros.
1238         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
1239         (U_STRLEN, U_STRNLEN): New macros.
1240         * modules/unistr/u8-strstr (Depends-on): Add strstr.
1241         (configure.ac): Update required libunistring version.
1242         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
1243         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
1244         malloca.
1245         (configure.ac): Update required libunistring version.
1246         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
1247         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
1248         malloca.
1249         (configure.ac): Update required libunistring version.
1250
1251 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1252             Bruno Haible  <bruno@clisp.org>
1253
1254         Prepare for faster uN_strstr functions.
1255         * lib/str-kmp.h: Support definable UNITs.
1256         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
1257         needle_len argument.
1258         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
1259         * lib/mbscasestr.c (mbscasestr): Likewise.
1260
1261 2011-01-21  Pádraig Brady <P@draigBrady.com>
1262
1263         malloca-tests: make faster by unsetting MALLOC_PERTURB_
1264         * tests/test-malloca.c (main): Unset the environment variable
1265         to greatly speed up the test.
1266         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
1267         * modules/malloca-tests: Depend on unsetenv.
1268
1269 2011-01-21  Pádraig Brady <P@draigBrady.com>
1270
1271         ignore-value: remove stdint dependency
1272         * lib/ignore-value.h: Remove <stdint.h>
1273         * modules/ignore-value: Remove stdint dependency.
1274
1275 2011-01-21  Jim Meyering  <meyering@redhat.com>
1276
1277         maint.mk: adjust variable name to be consistent with other gl_ vars
1278         * top/maint.mk (gl_public_submodule_commit): Rename the variable
1279         to be lower case.
1280
1281 2011-01-20  Jim Meyering  <meyering@redhat.com>
1282
1283         maint.mk: make "check" depend on public-submodule-commit by default
1284         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
1285
1286 2011-01-20  Bruno Haible  <bruno@clisp.org>
1287
1288         mbfile, mbiter: Complete change from 2008-12-21.
1289         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
1290         * m4/mbiter.m4 (gl_MBITER): Likewise.
1291
1292 2011-01-20  Jim Meyering  <meyering@redhat.com>
1293
1294         init.sh: insert space between each function name and "()"
1295         * tests/init.sh: Make it a little easier to see that a function's
1296         name is "warn_", and not "warn" when looking at the first part of
1297         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
1298
1299 2011-01-20  Jim Meyering  <meyering@redhat.com>
1300
1301         mountlist: clean up code formatting
1302         * lib/mountlist.c (read_file_system_list): Split a long line,
1303         correct bracing style, use NULL in place of "(struct statfs *)0",
1304         don't parenthesize return value, add spaces around "=" and after
1305         ";-in-for-stmt".
1306
1307 2011-01-14  Markus Duft <mduft@gentoo.org>
1308
1309         mountlist: add support for Interix
1310         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
1311         Apply statvfs to all entries of /dev/fs.
1312         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
1313         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
1314
1315 2011-01-20  Jim Meyering  <meyering@redhat.com>
1316
1317         maint.mk: improve the public-submodule-commit rule
1318         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
1319         to suppress printing of its commands... unless V=1.
1320         Add git submodule's --quiet option to suppress printing of e.g.,
1321         "Entering gnulib" output.
1322         "cd" into $(srcdir) before running git submodule.
1323
1324 2011-01-20  Bruno Haible  <bruno@clisp.org>
1325
1326         include_next: Fix bug introduced on 2011-01-18.
1327         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
1328         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
1329         ac_cv_header_... variable if the second argument is not 'check'.
1330         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
1331         gl_NEXT_HEADERS_INTERNAL.
1332
1333 2011-01-20  Bruno Haible  <bruno@clisp.org>
1334
1335         Allow the user to avoid the GNULIB_TEST_* macros.
1336         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
1337         Suggested by Paul Eggert.
1338
1339 2011-01-14  Jim Meyering  <meyering@redhat.com>
1340
1341         bootstrap: avoid failure when there is no .gitmodules file
1342         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
1343         has been assigned to, even when its value is the empty string.
1344         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
1345         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
1346         Reported by John W. Eaton <jwe@gnu.org>.
1347
1348 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1349
1350         assume <ctype.h>, ..., <time.h> exist
1351         For years gnulib has been assuming the existence of the headers
1352         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
1353         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
1354         them, since they don't appear to be needed.
1355         * README (Portability guidelines): Document this.
1356         * lib/flock.c: Assume <fcntl.h> exists.
1357         * lib/regex_internal.h: Assume <locale.h> exists.
1358         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
1359         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
1360         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
1361         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
1362         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
1363         * m4/regex.m4 (gl_REGEX): Likewise.
1364         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
1365         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
1366         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
1367         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
1368         * tests/test-argp.c: Likewise.
1369         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
1370
1371         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
1372         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
1373         AA_APPLE_UNIVERSAL_BUILD.  See
1374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
1375         * NEWS: Document this.
1376
1377 2011-01-19  Eric Blake  <eblake@redhat.com>
1378
1379         c-stack: assume stack overflow if SA_SIGINFO unsupported
1380         * lib/c-stack.c (SIGACTION_WORKS): Rename...
1381         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
1382         sigaction will work.
1383         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
1384         behavior match Linux.
1385         * tests/test-c-stack.c (main): Prefer NULL for pointers.
1386
1387         stdbool-tests: accomodate Haiku
1388         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
1389
1390         binary-io: fix O_TEXT on Haiku
1391         * modules/binary-io (Depends-on): Add fcntl-h.
1392         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
1393         than blindly undefining O_TEXT.
1394         Reported by Scott McCreary.
1395
1396 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1397
1398         include_next: do not check for standard headers like stddef.h
1399
1400         I found this problem when modifying Emacs to use gnulib.
1401         I noticed that it added HAVE_STDDEF_H to config.h, even though
1402         gnulib always assumes <stddef.h> exists as per README and this
1403         symbol is unnecessary.
1404         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
1405         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
1406         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
1407         faster for headers like stddef.h that are known to exist.
1408         (gl_CHECK_NEXT_HEADERS): Use it.
1409         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
1410         rather than gl_CHECK_NEXT_HEADERS.
1411         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
1412         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
1413
1414 2011-01-18  Eric Blake  <eblake@redhat.com>
1415
1416         ansi-c++-opt: skip C++ dependency style if C++ is unused
1417         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
1418         tests when we know C++ compilation is not desired.
1419         Reported by Scott McCreary.
1420
1421 2011-01-18  Bruno Haible  <bruno@clisp.org>
1422
1423         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
1424         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
1425         (main): Perform test also when getrlimit and setrlimit don't exist or
1426         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
1427         limiting the address space size using setrlimit, compare the address
1428         space size before and after the the test.
1429         * tests/test-dprintf-posix2.c: Likewise.
1430         * tests/test-fprintf-posix3.sh: Update skip messages.
1431         * tests/test-dprintf-posix2.sh: Likewise.
1432         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
1433         * modules/dprintf-posix-tests (Depends-on): Likewise.
1434         Reported by Bruce Korb <bkorb@gnu.org> and
1435         Gary V. Vaughan <gary@gnu.org>.
1436
1437 2011-01-18  Bruno Haible  <bruno@clisp.org>
1438
1439         get-rusage-as: Improvement for Cygwin.
1440         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
1441         areas that are merely reserved.
1442
1443 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1444
1445         strftime: remove dependencies on multibyte modules
1446
1447         strftime depended on mbrlen, mbsinit, and wchar, but these modules
1448         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
1449         only if __osf__ is defined, and I suspect OSF doesn't need these
1450         other modules.  If my guess is wrong, we'll need to come up with a
1451         variant of strftime that doesn't need the multibyte modules.
1452
1453         I discovered this problem when attempting modify Emacs to use the
1454         strftime module.  With the previous gnulib, this caused Emacs to
1455         need 31 new files, ranging from lib/config.charset to
1456         m4/wint_t.m4.  This was overkill and I expect would be offputting
1457         to the Emacs maintainers.  After this change, only 6 new files are
1458         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
1459         stdbool.m4, and tm_gmtoff.m4.
1460
1461         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
1462         Suggested by Bruno Haible in
1463         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
1464         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
1465         and do not check for wchar.h.
1466         * modules/strftime (Files): Remove m4/mbstate_t.m4.
1467         (Depends-on): Remove mbrlen, mbsinit, wchar.
1468
1469 2011-01-18  Bruno Haible  <bruno@clisp.org>
1470
1471         Tests for module 'get-rusage-as'.
1472         * modules/get-rusage-as-tests: New file.
1473         * tests/test-get-rusage-as.c: New file.
1474
1475         New module 'get-rusage-as'.
1476         * modules/get-rusage-as: New file.
1477         * lib/resource-ext.h: New file.
1478         * lib/get-rusage-as.c: New file.
1479
1480 2011-01-17  Eric Blake  <eblake@redhat.com>
1481
1482         sigaction: relax license from LGPLv3+ to LGPLv2+
1483         * modules/sigaction (License): Relax to LGPLv2+.
1484
1485 2011-01-14  Bruno Haible  <bruno@clisp.org>
1486
1487         filemode: Make function declarations usable in C++ mode.
1488         * lib/filemode.h: Enclose function declarations in extern "C" block.
1489         Reported by John W. Eaton <jwe@gnu.org>.
1490
1491 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
1492
1493         save-cwd: no longer include "xgetcwd.h"
1494         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
1495         This avoids a compilation failure in projects that use save-cwd
1496         without also using the xgetcwd module.
1497
1498 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
1501         This is so that a program like Emacs, which needs only dtoastr,
1502         does not have to bother with distributing and compiling ftoastr
1503         and ldtoastr.
1504         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
1505         * modules/dtoastr, modules/ldtoastr: New files.
1506         * modules/ftoastr: Now works just for 'float'.
1507         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
1508         (Makefile.am): Remove ftoastr.h (not needed and no effect),
1509         dtoastr.c, ldtoastr.c.
1510
1511 2011-01-11  Jim Meyering  <meyering@redhat.com>
1512
1513         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
1514         There is no need to work around the lack of the fchdir function,
1515         since gnulib can now provide a replacement when required.
1516         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
1517         * modules/save-cwd (Depends-on): Add fchdir.
1518
1519 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1520
1521         openat, save-cwd: avoid xmalloc
1522
1523         This removes a direct (but undocumented) dependency of openat on
1524         xalloc, along with an indirect dependency via save-cwd.  It also
1525         removes a dependency of save-cwd on xgetcwd, and thereby
1526         indirectly on xalloc.  This change causes the openat substitute
1527         to fall back on save_cwd when memory is tight, and for save_cwd to
1528         fail instead of dying when memory is tight, but that's good enough.
1529         Problem and initial idea for fix reported by Bastien Roucaries in
1530         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
1531
1532         * lib/openat-proc.c: Include stdlib.h (for malloc), not
1533         xalloc.h (for xmalloc).
1534         (openat_proc_name): Use malloc, not xmalloc.
1535         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
1536         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
1537
1538         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
1539         This avoids heap allocation for file names whose lengths are in
1540         the range 512..1023, with the upper bound increasing to at most
1541         4031 depending on the platform's PATH_MAX.  (We do not want
1542         pathmax.h here as it might supply a non-constant PATH_MAX.)
1543         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
1544         Perhaps they should be moved to malloca.h?
1545         (OPENAT_BUFFER_SIZE): Use them.
1546
1547 2011-01-10  Bruno Haible  <bruno@clisp.org>
1548
1549         doc: Update users.txt.
1550         * users.txt: Add recutils.
1551
1552 2011-01-09  Karl Berry  <karl@gnu.org>
1553
1554         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
1555
1556         * doc/configmake.texi: New file.
1557         * doc/gnulib.texi: Include it.
1558         * modules/configmake: Move documentation from here.
1559
1560 2011-01-09  Bruno Haible  <bruno@clisp.org>
1561
1562         Update to Unicode 6.0.0.
1563         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
1564         (get_lbp): Update for Unicode 6.0.0.
1565         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
1566         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
1567         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
1568         U+11001, U+11038..U+11046. Remove U+06DE.
1569         (uc_width): Fix bounds of planes.
1570         * tests/uniwidth/test-uc_width2.sh: Same updates as in
1571         lib/uniwidth/width.c.
1572         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
1573         trailing whitespace removed.
1574         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
1575         without comments, but with the original copyright notice.
1576         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
1577         * lib/unicase/ignorable.h: Likewise.
1578         * lib/unicase/tocasefold.h: Likewise.
1579         * lib/unicase/tolower.h: Likewise.
1580         * lib/unicase/totitle.h: Likewise.
1581         * lib/unicase/toupper.h: Likewise.
1582         * lib/unictype/bidi_of.h: Likewise.
1583         * lib/unictype/blocks.h: Likewise.
1584         * lib/unictype/categ_C.h: Likewise.
1585         * lib/unictype/categ_Cn.h: Likewise.
1586         * lib/unictype/categ_L.h: Likewise.
1587         * lib/unictype/categ_Ll.h: Likewise.
1588         * lib/unictype/categ_Lm.h: Likewise.
1589         * lib/unictype/categ_Lo.h: Likewise.
1590         * lib/unictype/categ_Lu.h: Likewise.
1591         * lib/unictype/categ_M.h: Likewise.
1592         * lib/unictype/categ_Mc.h: Likewise.
1593         * lib/unictype/categ_Me.h: Likewise.
1594         * lib/unictype/categ_Mn.h: Likewise.
1595         * lib/unictype/categ_N.h: Likewise.
1596         * lib/unictype/categ_Nd.h: Likewise.
1597         * lib/unictype/categ_No.h: Likewise.
1598         * lib/unictype/categ_P.h: Likewise.
1599         * lib/unictype/categ_Po.h: Likewise.
1600         * lib/unictype/categ_S.h: Likewise.
1601         * lib/unictype/categ_Sc.h: Likewise.
1602         * lib/unictype/categ_Sk.h: Likewise.
1603         * lib/unictype/categ_Sm.h: Likewise.
1604         * lib/unictype/categ_So.h: Likewise.
1605         * lib/unictype/categ_of.h: Likewise.
1606         * lib/unictype/combining.h: Likewise.
1607         * lib/unictype/ctype_alnum.h: Likewise.
1608         * lib/unictype/ctype_alpha.h: Likewise.
1609         * lib/unictype/ctype_graph.h: Likewise.
1610         * lib/unictype/ctype_lower.h: Likewise.
1611         * lib/unictype/ctype_print.h: Likewise.
1612         * lib/unictype/ctype_punct.h: Likewise.
1613         * lib/unictype/ctype_upper.h: Likewise.
1614         * lib/unictype/decdigit.h: Likewise.
1615         * lib/unictype/digit.h: Likewise.
1616         * lib/unictype/numeric.h: Likewise.
1617         * lib/unictype/pr_alphabetic.h: Likewise.
1618         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1619         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1620         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1621         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1622         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1623         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1624         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1625         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1626         * lib/unictype/pr_case_ignorable.h: Likewise.
1627         * lib/unictype/pr_cased.h: Likewise.
1628         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
1629         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
1630         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
1631         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
1632         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
1633         * lib/unictype/pr_combining.h: Likewise.
1634         * lib/unictype/pr_composite.h: Likewise.
1635         * lib/unictype/pr_currency_symbol.h: Likewise.
1636         * lib/unictype/pr_decimal_digit.h: Likewise.
1637         * lib/unictype/pr_deprecated.h: Likewise.
1638         * lib/unictype/pr_format_control.h: Likewise.
1639         * lib/unictype/pr_grapheme_base.h: Likewise.
1640         * lib/unictype/pr_grapheme_extend.h: Likewise.
1641         * lib/unictype/pr_grapheme_link.h: Likewise.
1642         * lib/unictype/pr_id_continue.h: Likewise.
1643         * lib/unictype/pr_id_start.h: Likewise.
1644         * lib/unictype/pr_ideographic.h: Likewise.
1645         * lib/unictype/pr_lowercase.h: Likewise.
1646         * lib/unictype/pr_math.h: Likewise.
1647         * lib/unictype/pr_numeric.h: Likewise.
1648         * lib/unictype/pr_other_alphabetic.h: Likewise.
1649         * lib/unictype/pr_other_id_continue.h: Likewise.
1650         * lib/unictype/pr_other_math.h: Likewise.
1651         * lib/unictype/pr_punctuation.h: Likewise.
1652         * lib/unictype/pr_sentence_terminal.h: Likewise.
1653         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1654         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1655         * lib/unictype/pr_unified_ideograph.h: Likewise.
1656         * lib/unictype/pr_uppercase.h: Likewise.
1657         * lib/unictype/pr_xid_continue.h: Likewise.
1658         * lib/unictype/pr_xid_start.h: Likewise.
1659         * lib/unictype/scripts.h: Likewise.
1660         * lib/unictype/scripts_byname.gperf: Likewise.
1661         * lib/unictype/sy_java_ident.h: Likewise.
1662         * lib/unigbrk/gbrkprop.h: Likewise.
1663         * lib/unilbrk/lbrkprop1.h: Likewise.
1664         * lib/unilbrk/lbrkprop2.h: Likewise.
1665         * lib/uninorm/decomposition-table2.h: Likewise.
1666         * lib/uniwbrk/wbrkprop.h: Likewise.
1667         * tests/unicase/test-cased.c: Likewise.
1668         * tests/unicase/test-ignorable.c: Likewise.
1669         * tests/unicase/test-uc_tolower.c: Likewise.
1670         * tests/unicase/test-uc_totitle.c: Likewise.
1671         * tests/unicase/test-uc_toupper.c: Likewise.
1672         * tests/unictype/test-categ_C.c: Likewise.
1673         * tests/unictype/test-categ_Cn.c: Likewise.
1674         * tests/unictype/test-categ_L.c: Likewise.
1675         * tests/unictype/test-categ_Ll.c: Likewise.
1676         * tests/unictype/test-categ_Lm.c: Likewise.
1677         * tests/unictype/test-categ_Lo.c: Likewise.
1678         * tests/unictype/test-categ_Lu.c: Likewise.
1679         * tests/unictype/test-categ_M.c: Likewise.
1680         * tests/unictype/test-categ_Mc.c: Likewise.
1681         * tests/unictype/test-categ_Me.c: Likewise.
1682         * tests/unictype/test-categ_Mn.c: Likewise.
1683         * tests/unictype/test-categ_N.c: Likewise.
1684         * tests/unictype/test-categ_Nd.c: Likewise.
1685         * tests/unictype/test-categ_No.c: Likewise.
1686         * tests/unictype/test-categ_P.c: Likewise.
1687         * tests/unictype/test-categ_Po.c: Likewise.
1688         * tests/unictype/test-categ_S.c: Likewise.
1689         * tests/unictype/test-categ_Sc.c: Likewise.
1690         * tests/unictype/test-categ_Sk.c: Likewise.
1691         * tests/unictype/test-categ_Sm.c: Likewise.
1692         * tests/unictype/test-categ_So.c: Likewise.
1693         * tests/unictype/test-ctype_alnum.c: Likewise.
1694         * tests/unictype/test-ctype_alpha.c: Likewise.
1695         * tests/unictype/test-ctype_graph.c: Likewise.
1696         * tests/unictype/test-ctype_lower.c: Likewise.
1697         * tests/unictype/test-ctype_print.c: Likewise.
1698         * tests/unictype/test-ctype_punct.c: Likewise.
1699         * tests/unictype/test-ctype_upper.c: Likewise.
1700         * tests/unictype/test-decdigit.h: Likewise.
1701         * tests/unictype/test-digit.h: Likewise.
1702         * tests/unictype/test-numeric.h: Likewise.
1703         * tests/unictype/test-pr_alphabetic.c: Likewise.
1704         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
1705         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
1706         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
1707         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
1708         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
1709         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
1710         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
1711         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
1712         * tests/unictype/test-pr_case_ignorable.c: Likewise.
1713         * tests/unictype/test-pr_cased.c: Likewise.
1714         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
1715         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
1716         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
1717         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
1718         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
1719         * tests/unictype/test-pr_combining.c: Likewise.
1720         * tests/unictype/test-pr_composite.c: Likewise.
1721         * tests/unictype/test-pr_currency_symbol.c: Likewise.
1722         * tests/unictype/test-pr_decimal_digit.c: Likewise.
1723         * tests/unictype/test-pr_deprecated.c: Likewise.
1724         * tests/unictype/test-pr_format_control.c: Likewise.
1725         * tests/unictype/test-pr_grapheme_base.c: Likewise.
1726         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
1727         * tests/unictype/test-pr_grapheme_link.c: Likewise.
1728         * tests/unictype/test-pr_id_continue.c: Likewise.
1729         * tests/unictype/test-pr_id_start.c: Likewise.
1730         * tests/unictype/test-pr_ideographic.c: Likewise.
1731         * tests/unictype/test-pr_lowercase.c: Likewise.
1732         * tests/unictype/test-pr_math.c: Likewise.
1733         * tests/unictype/test-pr_numeric.c: Likewise.
1734         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
1735         * tests/unictype/test-pr_other_id_continue.c: Likewise.
1736         * tests/unictype/test-pr_other_math.c: Likewise.
1737         * tests/unictype/test-pr_punctuation.c: Likewise.
1738         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
1739         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
1740         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
1741         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
1742         * tests/unictype/test-pr_uppercase.c: Likewise.
1743         * tests/unictype/test-pr_xid_continue.c: Likewise.
1744         * tests/unictype/test-pr_xid_start.c: Likewise.
1745         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
1746         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
1747         changes.
1748         * lib/unictype/categ_Cc.h: Likewise.
1749         * lib/unictype/categ_Cf.h: Likewise.
1750         * lib/unictype/categ_Co.h: Likewise.
1751         * lib/unictype/categ_Cs.h: Likewise.
1752         * lib/unictype/categ_Lt.h: Likewise.
1753         * lib/unictype/categ_Nl.h: Likewise.
1754         * lib/unictype/categ_Pc.h: Likewise.
1755         * lib/unictype/categ_Pd.h: Likewise.
1756         * lib/unictype/categ_Pe.h: Likewise.
1757         * lib/unictype/categ_Pf.h: Likewise.
1758         * lib/unictype/categ_Pi.h: Likewise.
1759         * lib/unictype/categ_Ps.h: Likewise.
1760         * lib/unictype/categ_Z.h: Likewise.
1761         * lib/unictype/categ_Zl.h: Likewise.
1762         * lib/unictype/categ_Zp.h: Likewise.
1763         * lib/unictype/categ_Zs.h: Likewise.
1764         * lib/unictype/ctype_blank.h: Likewise.
1765         * lib/unictype/ctype_cntrl.h: Likewise.
1766         * lib/unictype/ctype_digit.h: Likewise.
1767         * lib/unictype/ctype_space.h: Likewise.
1768         * lib/unictype/ctype_xdigit.h: Likewise.
1769         * lib/unictype/mirror.h: Likewise.
1770         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1771         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1772         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1773         * lib/unictype/pr_bidi_control.h: Likewise.
1774         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1775         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1776         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1777         * lib/unictype/pr_bidi_pdf.h: Likewise.
1778         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1779         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1780         * lib/unictype/pr_dash.h: Likewise.
1781         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1782         * lib/unictype/pr_diacritic.h: Likewise.
1783         * lib/unictype/pr_extender.h: Likewise.
1784         * lib/unictype/pr_hex_digit.h: Likewise.
1785         * lib/unictype/pr_hyphen.h: Likewise.
1786         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1787         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1788         * lib/unictype/pr_ignorable_control.h: Likewise.
1789         * lib/unictype/pr_iso_control.h: Likewise.
1790         * lib/unictype/pr_join_control.h: Likewise.
1791         * lib/unictype/pr_left_of_pair.h: Likewise.
1792         * lib/unictype/pr_line_separator.h: Likewise.
1793         * lib/unictype/pr_logical_order_exception.h: Likewise.
1794         * lib/unictype/pr_non_break.h: Likewise.
1795         * lib/unictype/pr_not_a_character.h: Likewise.
1796         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1797         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1798         * lib/unictype/pr_other_id_start.h: Likewise.
1799         * lib/unictype/pr_other_lowercase.h: Likewise.
1800         * lib/unictype/pr_other_uppercase.h: Likewise.
1801         * lib/unictype/pr_paired_punctuation.h: Likewise.
1802         * lib/unictype/pr_paragraph_separator.h: Likewise.
1803         * lib/unictype/pr_pattern_syntax.h: Likewise.
1804         * lib/unictype/pr_pattern_white_space.h: Likewise.
1805         * lib/unictype/pr_private_use.h: Likewise.
1806         * lib/unictype/pr_quotation_mark.h: Likewise.
1807         * lib/unictype/pr_radical.h: Likewise.
1808         * lib/unictype/pr_soft_dotted.h: Likewise.
1809         * lib/unictype/pr_space.h: Likewise.
1810         * lib/unictype/pr_titlecase.h: Likewise.
1811         * lib/unictype/pr_variation_selector.h: Likewise.
1812         * lib/unictype/pr_white_space.h: Likewise.
1813         * lib/unictype/pr_zero_width.h: Likewise.
1814         * lib/unictype/sy_c_ident.h: Likewise.
1815         * lib/unictype/sy_c_whitespace.h: Likewise.
1816         * lib/unictype/sy_java_whitespace.h: Likewise.
1817         * lib/uninorm/composition-table.gperf: Likewise.
1818         * lib/uninorm/decomposition-table1.h: Likewise.
1819         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
1820         LB8.
1821         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
1822         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
1823         * modules/unictype/*: Bump version number of expected libunistring
1824         version.
1825
1826 2011-01-09  Bruno Haible  <bruno@clisp.org>
1827
1828         Update to Unicode 5.2.0.
1829         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
1830         trailing whitespace removed.
1831
1832 2011-01-09  Bruno Haible  <bruno@clisp.org>
1833
1834         New Unicode character properties, from Unicode 5.2.0.
1835         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
1836         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
1837         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
1838         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
1839         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
1840         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
1841         uc_is_property_cased, uc_is_property_case_ignorable,
1842         uc_is_property_changes_when_lowercased,
1843         uc_is_property_changes_when_uppercased,
1844         uc_is_property_changes_when_titlecased,
1845         uc_is_property_changes_when_casefolded,
1846         uc_is_property_changes_when_casemapped): New declarations.
1847         * lib/unictype/pr_byname.gperf: Add the new properties.
1848         * modules/unictype/property-byname (Depends-on): Depend on the new
1849         properties modules.
1850         * modules/unictype/property-all (Depends-on): Likewise.
1851         * MODULES.html.sh (Unicode string functions): Add
1852         unictype/property-case-ignorable, unictype/property-cased,
1853         unictype/property-changes-when-casefolded,
1854         unictype/property-changes-when-casemapped,
1855         unictype/property-changes-when-lowercased,
1856         unictype/property-changes-when-titlecased,
1857         unictype/property-changes-when-uppercased.
1858
1859         New module 'unictype/property-changes-when-casemapped'.
1860         * modules/unictype/property-changes-when-casemapped: New file.
1861         * lib/unictype/pr_changes_when_casemapped.c: New file.
1862         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
1863         generated by gen-uni-tables.
1864         * modules/unictype/property-changes-when-casemapped-tests: New file.
1865         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
1866         automatically generated by gen-uni-tables.
1867
1868         New module 'unictype/property-changes-when-casefolded'.
1869         * modules/unictype/property-changes-when-casefolded: New file.
1870         * lib/unictype/pr_changes_when_casefolded.c: New file.
1871         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
1872         generated by gen-uni-tables.
1873         * modules/unictype/property-changes-when-casefolded-tests: New file.
1874         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
1875         automatically generated by gen-uni-tables.
1876
1877         New module 'unictype/property-changes-when-titlecased'.
1878         * modules/unictype/property-changes-when-titlecased: New file.
1879         * lib/unictype/pr_changes_when_titlecased.c: New file.
1880         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
1881         generated by gen-uni-tables.
1882         * modules/unictype/property-changes-when-titlecased-tests: New file.
1883         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
1884         automatically generated by gen-uni-tables.
1885
1886         New module 'unictype/property-changes-when-uppercased'.
1887         * modules/unictype/property-changes-when-uppercased: New file.
1888         * lib/unictype/pr_changes_when_uppercased.c: New file.
1889         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
1890         generated by gen-uni-tables.
1891         * modules/unictype/property-changes-when-uppercased-tests: New file.
1892         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
1893         automatically generated by gen-uni-tables.
1894
1895         New module 'unictype/property-changes-when-lowercased'.
1896         * modules/unictype/property-changes-when-lowercased: New file.
1897         * lib/unictype/pr_changes_when_lowercased.c: New file.
1898         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
1899         generated by gen-uni-tables.
1900         * modules/unictype/property-changes-when-lowercased-tests: New file.
1901         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
1902         automatically generated by gen-uni-tables.
1903
1904         New module 'unictype/property-case-ignorable'.
1905         * modules/unictype/property-case-ignorable: New file.
1906         * lib/unictype/pr_case_ignorable.c: New file.
1907         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
1908         by gen-uni-tables.
1909         * modules/unictype/property-case-ignorable-tests: New file.
1910         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
1911         generated by gen-uni-tables.
1912
1913         New module 'unictype/property-cased'.
1914         * modules/unictype/property-cased: New file.
1915         * lib/unictype/pr_cased.c: New file.
1916         * lib/unictype/pr_cased.h: New file, automatically generated by
1917         gen-uni-tables.
1918         * modules/unictype/property-cased-tests: New file.
1919         * tests/unictype/test-pr_cased.c: New file, automatically generated by
1920         gen-uni-tables.
1921
1922 2011-01-09  Bruno Haible  <bruno@clisp.org>
1923
1924         Update to Unicode 5.2.0.
1925         * lib/gen-uni-tables.c (output_predicate, output_category,
1926         output_combclass, output_bidi_category, output_decimal_digit_test,
1927         output_decimal_digit, output_digit_test, output_digit,
1928         output_numeric_test, output_numeric, output_mirror, output_scripts,
1929         output_scripts_byname, output_blocks, output_ident_category): Fix
1930         comment header.
1931         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
1932         get_wbp.
1933         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
1934         items.
1935         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
1936         Changes_When_Lowercased, Changes_When_Uppercased,
1937         Changes_When_Titlecased, Changes_When_Casefolded,
1938         Changes_When_Casemapped.
1939         (is_property_alphabetic, is_property_default_ignorable_code_point):
1940         Update for Unicode 5.2.0.
1941         (is_property_cased, is_property_case_ignorable,
1942         is_property_changes_when_lowercased,
1943         is_property_changes_when_uppercased,
1944         is_property_changes_when_titlecased,
1945         is_property_changes_when_casefolded,
1946         is_property_changes_when_casemapped): New functions.
1947         (output_properties): Output also the properties cased, case_ignorable,
1948         changes_when_lowercased, changes_when_uppercased,
1949         changes_when_titlecased, changes_when_casefolded,
1950         changes_when_casemapped.
1951         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
1952         Unicode TR#11 revision 17 -> 19.
1953         (LBP_CP): New enumeration value.
1954         (LBP_*): Adjust values accordingly.
1955         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
1956         TR#14 revision 22 -> 24.
1957         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
1958         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
1959         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
1960         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
1961         is_WBP_MIDLETTER.
1962         (output_composition_tables): Allow for 24 bits instead of 16 bits in
1963         the code1 and code2 of each composition rule.
1964         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
1965         * lib/unicase/ignorable.h: Likewise.
1966         * lib/unicase/tocasefold.h: Likewise.
1967         * lib/unicase/tolower.h: Likewise.
1968         * lib/unicase/totitle.h: Likewise.
1969         * lib/unicase/toupper.h: Likewise.
1970         * lib/unictype/bidi_of.h: Likewise.
1971         * lib/unictype/blocks.h: Likewise.
1972         * lib/unictype/categ_C.h: Likewise.
1973         * lib/unictype/categ_Cf.h: Likewise.
1974         * lib/unictype/categ_Cn.h: Likewise.
1975         * lib/unictype/categ_L.h: Likewise.
1976         * lib/unictype/categ_Ll.h: Likewise.
1977         * lib/unictype/categ_Lm.h: Likewise.
1978         * lib/unictype/categ_Lo.h: Likewise.
1979         * lib/unictype/categ_Lu.h: Likewise.
1980         * lib/unictype/categ_M.h: Likewise.
1981         * lib/unictype/categ_Mc.h: Likewise.
1982         * lib/unictype/categ_Mn.h: Likewise.
1983         * lib/unictype/categ_N.h: Likewise.
1984         * lib/unictype/categ_Nd.h: Likewise.
1985         * lib/unictype/categ_Nl.h: Likewise.
1986         * lib/unictype/categ_No.h: Likewise.
1987         * lib/unictype/categ_P.h: Likewise.
1988         * lib/unictype/categ_Pd.h: Likewise.
1989         * lib/unictype/categ_Po.h: Likewise.
1990         * lib/unictype/categ_S.h: Likewise.
1991         * lib/unictype/categ_Sc.h: Likewise.
1992         * lib/unictype/categ_So.h: Likewise.
1993         * lib/unictype/categ_of.h: Likewise.
1994         * lib/unictype/combining.h: Likewise.
1995         * lib/unictype/ctype_alnum.h: Likewise.
1996         * lib/unictype/ctype_alpha.h: Likewise.
1997         * lib/unictype/ctype_graph.h: Likewise.
1998         * lib/unictype/ctype_lower.h: Likewise.
1999         * lib/unictype/ctype_print.h: Likewise.
2000         * lib/unictype/ctype_punct.h: Likewise.
2001         * lib/unictype/ctype_upper.h: Likewise.
2002         * lib/unictype/decdigit.h: Likewise.
2003         * lib/unictype/digit.h: Likewise.
2004         * lib/unictype/numeric.h: Likewise.
2005         * lib/unictype/pr_alphabetic.h: Likewise.
2006         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
2007         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
2008         * lib/unictype/pr_bidi_european_digit.h: Likewise.
2009         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
2010         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
2011         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
2012         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
2013         * lib/unictype/pr_combining.h: Likewise.
2014         * lib/unictype/pr_composite.h: Likewise.
2015         * lib/unictype/pr_currency_symbol.h: Likewise.
2016         * lib/unictype/pr_dash.h: Likewise.
2017         * lib/unictype/pr_decimal_digit.h: Likewise.
2018         * lib/unictype/pr_deprecated.h: Likewise.
2019         * lib/unictype/pr_diacritic.h: Likewise.
2020         * lib/unictype/pr_extender.h: Likewise.
2021         * lib/unictype/pr_grapheme_base.h: Likewise.
2022         * lib/unictype/pr_grapheme_extend.h: Likewise.
2023         * lib/unictype/pr_grapheme_link.h: Likewise.
2024         * lib/unictype/pr_id_continue.h: Likewise.
2025         * lib/unictype/pr_id_start.h: Likewise.
2026         * lib/unictype/pr_ideographic.h: Likewise.
2027         * lib/unictype/pr_ignorable_control.h: Likewise.
2028         * lib/unictype/pr_logical_order_exception.h: Likewise.
2029         * lib/unictype/pr_lowercase.h: Likewise.
2030         * lib/unictype/pr_numeric.h: Likewise.
2031         * lib/unictype/pr_other_alphabetic.h: Likewise.
2032         * lib/unictype/pr_punctuation.h: Likewise.
2033         * lib/unictype/pr_sentence_terminal.h: Likewise.
2034         * lib/unictype/pr_terminal_punctuation.h: Likewise.
2035         * lib/unictype/pr_unassigned_code_value.h: Likewise.
2036         * lib/unictype/pr_unified_ideograph.h: Likewise.
2037         * lib/unictype/pr_uppercase.h: Likewise.
2038         * lib/unictype/pr_xid_continue.h: Likewise.
2039         * lib/unictype/pr_xid_start.h: Likewise.
2040         * lib/unictype/pr_zero_width.h: Likewise.
2041         * lib/unictype/scripts.h: Likewise.
2042         * lib/unictype/scripts_byname.gperf: Likewise.
2043         * lib/unictype/sy_java_ident.h: Likewise.
2044         * lib/unigbrk/gbrkprop.h: Likewise.
2045         * lib/unilbrk/lbrkprop1.h: Likewise.
2046         * lib/unilbrk/lbrkprop2.h: Likewise.
2047         * lib/unilbrk/lbrktables.h: Likewise.
2048         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
2049         LBP_CP. Implement rule LB30.
2050         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
2051         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
2052         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
2053         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
2054         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
2055         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
2056         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
2057         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
2058         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
2059         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
2060         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
2061         bits instead of 16 bits in the code1 and code2 of each composition
2062         rule.
2063         (uc_composition): Update for Unicode 5.2.0.
2064         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
2065         * lib/uninorm/decomposition-table2.h: Likewise.
2066         * lib/uniwbrk/wbrkprop.h: Likewise.
2067         * tests/unicase/test-cased.c: Likewise.
2068         * tests/unicase/test-ignorable.c: Likewise.
2069         * tests/unicase/test-uc_tolower.c: Likewise.
2070         * tests/unicase/test-uc_totitle.c: Likewise.
2071         * tests/unicase/test-uc_toupper.c: Likewise.
2072         * tests/unictype/test-categ_C.c: Likewise.
2073         * tests/unictype/test-categ_Cf.c: Likewise.
2074         * tests/unictype/test-categ_Cn.c: Likewise.
2075         * tests/unictype/test-categ_L.c: Likewise.
2076         * tests/unictype/test-categ_Ll.c: Likewise.
2077         * tests/unictype/test-categ_Lm.c: Likewise.
2078         * tests/unictype/test-categ_Lo.c: Likewise.
2079         * tests/unictype/test-categ_Lu.c: Likewise.
2080         * tests/unictype/test-categ_M.c: Likewise.
2081         * tests/unictype/test-categ_Mc.c: Likewise.
2082         * tests/unictype/test-categ_Mn.c: Likewise.
2083         * tests/unictype/test-categ_N.c: Likewise.
2084         * tests/unictype/test-categ_Nd.c: Likewise.
2085         * tests/unictype/test-categ_Nl.c: Likewise.
2086         * tests/unictype/test-categ_No.c: Likewise.
2087         * tests/unictype/test-categ_P.c: Likewise.
2088         * tests/unictype/test-categ_Pd.c: Likewise.
2089         * tests/unictype/test-categ_Po.c: Likewise.
2090         * tests/unictype/test-categ_S.c: Likewise.
2091         * tests/unictype/test-categ_Sc.c: Likewise.
2092         * tests/unictype/test-categ_So.c: Likewise.
2093         * tests/unictype/test-ctype_alnum.c: Likewise.
2094         * tests/unictype/test-ctype_alpha.c: Likewise.
2095         * tests/unictype/test-ctype_graph.c: Likewise.
2096         * tests/unictype/test-ctype_lower.c: Likewise.
2097         * tests/unictype/test-ctype_print.c: Likewise.
2098         * tests/unictype/test-ctype_punct.c: Likewise.
2099         * tests/unictype/test-ctype_upper.c: Likewise.
2100         * tests/unictype/test-decdigit.h: Likewise.
2101         * tests/unictype/test-digit.h: Likewise.
2102         * tests/unictype/test-numeric.h: Likewise.
2103         * tests/unictype/test-pr_alphabetic.c: Likewise.
2104         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
2105         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
2106         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
2107         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
2108         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
2109         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
2110         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
2111         * tests/unictype/test-pr_combining.c: Likewise.
2112         * tests/unictype/test-pr_composite.c: Likewise.
2113         * tests/unictype/test-pr_currency_symbol.c: Likewise.
2114         * tests/unictype/test-pr_dash.c: Likewise.
2115         * tests/unictype/test-pr_decimal_digit.c: Likewise.
2116         * tests/unictype/test-pr_deprecated.c: Likewise.
2117         * tests/unictype/test-pr_diacritic.c: Likewise.
2118         * tests/unictype/test-pr_extender.c: Likewise.
2119         * tests/unictype/test-pr_grapheme_base.c: Likewise.
2120         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
2121         * tests/unictype/test-pr_grapheme_link.c: Likewise.
2122         * tests/unictype/test-pr_id_continue.c: Likewise.
2123         * tests/unictype/test-pr_id_start.c: Likewise.
2124         * tests/unictype/test-pr_ideographic.c: Likewise.
2125         * tests/unictype/test-pr_ignorable_control.c: Likewise.
2126         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
2127         * tests/unictype/test-pr_lowercase.c: Likewise.
2128         * tests/unictype/test-pr_numeric.c: Likewise.
2129         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
2130         * tests/unictype/test-pr_punctuation.c: Likewise.
2131         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
2132         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
2133         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
2134         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
2135         * tests/unictype/test-pr_uppercase.c: Likewise.
2136         * tests/unictype/test-pr_xid_continue.c: Likewise.
2137         * tests/unictype/test-pr_xid_start.c: Likewise.
2138         * tests/unictype/test-pr_zero_width.c: Likewise.
2139         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
2140         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
2141         changed behaviour: line breaking is now disallowed between a letter
2142         or '=' and '('.
2143         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
2144         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
2145         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
2146         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
2147         * tests/uniwidth/test-uc_width2.sh: Same updates as in
2148         lib/uniwidth/width.c.
2149         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
2150         without comments, but with the original copyright notice.
2151         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
2152         changes.
2153         * lib/unictype/categ_Cc.h: Likewise.
2154         * lib/unictype/categ_Co.h: Likewise.
2155         * lib/unictype/categ_Cs.h: Likewise.
2156         * lib/unictype/categ_Lt.h: Likewise.
2157         * lib/unictype/categ_Me.h: Likewise.
2158         * lib/unictype/categ_Pc.h: Likewise.
2159         * lib/unictype/categ_Pe.h: Likewise.
2160         * lib/unictype/categ_Pf.h: Likewise.
2161         * lib/unictype/categ_Pi.h: Likewise.
2162         * lib/unictype/categ_Ps.h: Likewise.
2163         * lib/unictype/categ_Sk.h: Likewise.
2164         * lib/unictype/categ_Sm.h: Likewise.
2165         * lib/unictype/categ_Z.h: Likewise.
2166         * lib/unictype/categ_Zl.h: Likewise.
2167         * lib/unictype/categ_Zp.h: Likewise.
2168         * lib/unictype/categ_Zs.h: Likewise.
2169         * lib/unictype/ctype_blank.h: Likewise.
2170         * lib/unictype/ctype_cntrl.h: Likewise.
2171         * lib/unictype/ctype_digit.h: Likewise.
2172         * lib/unictype/ctype_space.h: Likewise.
2173         * lib/unictype/ctype_xdigit.h: Likewise.
2174         * lib/unictype/mirror.h: Likewise.
2175         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
2176         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
2177         * lib/unictype/pr_bidi_block_separator.h: Likewise.
2178         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
2179         * lib/unictype/pr_bidi_common_separator.h: Likewise.
2180         * lib/unictype/pr_bidi_control.h: Likewise.
2181         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
2182         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
2183         * lib/unictype/pr_bidi_pdf.h: Likewise.
2184         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
2185         * lib/unictype/pr_bidi_whitespace.h: Likewise.
2186         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
2187         * lib/unictype/pr_format_control.h: Likewise.
2188         * lib/unictype/pr_hex_digit.h: Likewise.
2189         * lib/unictype/pr_hyphen.h: Likewise.
2190         * lib/unictype/pr_ids_binary_operator.h: Likewise.
2191         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
2192         * lib/unictype/pr_iso_control.h: Likewise.
2193         * lib/unictype/pr_join_control.h: Likewise.
2194         * lib/unictype/pr_left_of_pair.h: Likewise.
2195         * lib/unictype/pr_line_separator.h: Likewise.
2196         * lib/unictype/pr_math.h: Likewise.
2197         * lib/unictype/pr_non_break.h: Likewise.
2198         * lib/unictype/pr_not_a_character.h: Likewise.
2199         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
2200         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
2201         * lib/unictype/pr_other_id_continue.h: Likewise.
2202         * lib/unictype/pr_other_id_start.h: Likewise.
2203         * lib/unictype/pr_other_lowercase.h: Likewise.
2204         * lib/unictype/pr_other_math.h: Likewise.
2205         * lib/unictype/pr_other_uppercase.h: Likewise.
2206         * lib/unictype/pr_paired_punctuation.h: Likewise.
2207         * lib/unictype/pr_paragraph_separator.h: Likewise.
2208         * lib/unictype/pr_pattern_syntax.h: Likewise.
2209         * lib/unictype/pr_pattern_white_space.h: Likewise.
2210         * lib/unictype/pr_private_use.h: Likewise.
2211         * lib/unictype/pr_quotation_mark.h: Likewise.
2212         * lib/unictype/pr_radical.h: Likewise.
2213         * lib/unictype/pr_soft_dotted.h: Likewise.
2214         * lib/unictype/pr_space.h: Likewise.
2215         * lib/unictype/pr_titlecase.h: Likewise.
2216         * lib/unictype/pr_variation_selector.h: Likewise.
2217         * lib/unictype/pr_white_space.h: Likewise.
2218         * lib/unictype/sy_c_ident.h: Likewise.
2219         * lib/unictype/sy_c_whitespace.h: Likewise.
2220         * lib/unictype/sy_java_whitespace.h: Likewise.
2221         * modules/uni*/*: Bump version number of expected libunistring version.
2222         Reported by Simon Josefsson.
2223
2224 2011-01-09  Karl Heuer  <kwzh@gnu.org>
2225
2226         useless-if-before-free: fix typo in --help and make the internal,
2227         automatic version date update process work once again.
2228         --help output contained a NUL character instead of the
2229         backslash-zero that was intended.  Also, the "must lie within
2230         the first 8 lines" line is on line 9, and hence not getting
2231         automatically updated.
2232         * build-aux/useless-if-before-free: Fix the former by adding a
2233         backslash, and the latter by condensing the three lines of what-it-does
2234         to a single line, leaving one line of slack for the future.
2235
2236 2011-01-09  Bruno Haible  <bruno@clisp.org>
2237
2238         uniwidth/width: Fix width of U+1D173..U+1D17A.
2239         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
2240         symbolic_width, output_width_property_test): New functions.
2241         (main): Invoke output_nonspacing_property, output_width_property_test.
2242         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
2243         U+1D173..U+1D17A.
2244         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
2245         1.
2246         * modules/uniwidth/*: Bump version number of expected libunistring
2247         version.
2248         * modules/unilbrk/*: Likewise.
2249
2250 2011-01-08  Bruno Haible  <bruno@clisp.org>
2251
2252         uninorm tests: Preserve copyright of Unicode data file.
2253         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
2254         Mention modifications.
2255
2256 2011-01-08  Bruno Haible  <bruno@clisp.org>
2257
2258         gen-uni-tables: Prepare for Unicode 5.2.0.
2259         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
2260         (debug_output_lbp, output_lbp): Update.
2261
2262 2011-01-08  Bruno Haible  <bruno@clisp.org>
2263
2264         unilbrk: Clarify gen-uni-tables.c code.
2265         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
2266         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
2267         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
2268
2269 2011-01-07  Bruno Haible  <bruno@clisp.org>
2270
2271         strtod: Restore errno when successfully parsing Infinity or NaN.
2272         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
2273         restore the original errno.
2274
2275 2011-01-07  Bruno Haible  <bruno@clisp.org>
2276
2277         remove test: Avoid failure on HP-UX 11.
2278         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
2279
2280 2011-01-07  Bruno Haible  <bruno@clisp.org>
2281
2282         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
2283         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
2284         error code.
2285
2286 2011-01-07  Pádraig Brady <P@draigBrady.com>
2287
2288         ignore-value: fixup comments, and add Eric Blake
2289         as an author since he rewrote the macros.
2290         * lib/ignore-value.h (ignore_value):  State that
2291         we now support aggregates.  Also specify exactly
2292         when the GCC warn_unused_result feature was added.
2293
2294 2011-01-06  Eric Blake  <eblake@redhat.com>
2295
2296         ignore-value: support aggregate types
2297         * lib/ignore-value.h (ignore_value): Provide separate gcc
2298         definition.
2299         * modules/ignore-value-tests: New test module.
2300         * tests/test-ignore-value.c: New test.
2301
2302         maint.mk: improve sc_prohibit_strcmp regex
2303         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
2304         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
2305         definition of STRNEQ.
2306
2307         signal: work around Haiku issue with SIGBUS
2308         * lib/siglist.h: Add comment.
2309         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
2310         strsignal's favoring of SIGSEGV.
2311         * tests/test-signal.c (main): Avoid test failure.
2312         * doc/posix-headers/signal.texi (signal.h): Document the issue.
2313         Reported by Scott McCreary.
2314
2315         maint.mk: add pre-release check to ensure submodule commits are public
2316         * top/maint.mk (public-submodule-commit): New rule.
2317         (submodule-checks): New variable.
2318         (alpha beta stable): Depend on the variable.
2319
2320 2011-01-05  Pádraig Brady <P@draigBrady.com>
2321         and Jim Meyering  <meyering@redhat.com>
2322
2323         ignore-value: make ignore_value more generic; deprecate ignore_ptr
2324         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
2325         (ATTRIBUTE_DEPRECATED): Define.
2326         (_ignore_case): New function.
2327         (ignore_value): New macro, to replace the old function.
2328         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
2329         * modules/ignore-value (Depends-on): Add stdint.
2330
2331 2011-01-04  Eric Blake  <eblake@redhat.com>
2332
2333         doc: regenerate INSTALL
2334         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
2335         @firstparagraphindent support, now that autoconf dropped it.
2336         (INSTALL_PRELUDE): Reinstate old macro.
2337         * doc/install.texi: Resync from autoconf.
2338         * doc/INSTALL: Reflect recent autoconf update.
2339         * doc/INSTALL.ISO: Likewise.
2340         * doc/INSTALL.UTF-8: Likewise.
2341         Reported by Karl Berry.
2342
2343 2011-01-04  Bruce Korb  <address@hidden>
2344
2345         git-version-gen: avoid a sub-shell
2346         * build-aux/git-version-gen: Redirect stderr in `...` via
2347         "exec 2>...", rather than via an added sub-shell.
2348
2349 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
2350
2351         git-version-gen: use (...) rather than sh -c '...'
2352         * build-aux/git-version-gen: Rather than hard-coding a shell's name
2353         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
2354
2355 2011-01-03  Jim Meyering  <meyering@redhat.com>
2356
2357         git-version-gen: convert leading TABs to spaces
2358         * build-aux/git-version-gen: Expand leading TABs.
2359
2360         git-version-gen: handle failed "git rev-list"
2361         * build-aux/git-version-gen: Rather than leaking a "fatal" error
2362         from git and proceeding as if it had succeeded but printed no SHA1
2363         checksums, suppress the diagnostic and handle the failure.
2364         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
2365
2366         git-version-gen: include command name in one more diagnostic
2367         * build-aux/git-version-gen: When the required .tarball-version file
2368         was missing or unreadable, you might see the diagnostic from "cat",
2369         but no trace of the name of the invoking script.  Now, you still see
2370         the diagnostic from cat, but also get one from "git-version-gen: ".
2371         Inspired by a patch from Bruce Korb.
2372
2373         update-copyright: adjust test to match changed code
2374         * tests/test-update-copyright.sh: Change test's expected output
2375         to match new actual output.
2376
2377 2011-01-02  Bruno Haible  <bruno@clisp.org>
2378
2379         getlogin_r: Avoid test failure on HP-UX 11.
2380         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
2381         ERANGE when the second argument is zero.
2382         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
2383         portability problem.
2384
2385 2011-01-02  Bruce Korb  <bkorb@gnu.org>
2386
2387         * build-aux/update-copyright: doc Simon's changes
2388
2389 2011-01-02  Simon Josefsson  <simon@josefsson.org>
2390
2391         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
2392         environment variable.
2393
2394 2011-01-02  Bruno Haible  <bruno@clisp.org>
2395
2396         unigbrk: Avoid gcc warnings.
2397         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
2398         unused variable.
2399         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
2400         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
2401         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
2402         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
2403         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
2404         Change type of first argument to 'const char *'.
2405         (main): Remove unused variable.
2406         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
2407         type of first argument to 'const char *'.
2408         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
2409         Likewise.
2410         (main): Change type of variable 's'.
2411         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
2412         to 'int'.
2413
2414 2011-01-02  Bruno Haible  <bruno@clisp.org>
2415
2416         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
2417         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
2418         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
2419         bug.
2420         * lib/pwrite.c: Undo 2010-12-31 patch.
2421         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
2422
2423 2011-01-02  Bruno Haible  <bruno@clisp.org>
2424
2425         pread: Fix test whether it works.
2426         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
2427
2428 2011-01-02  Bruno Haible  <bruno@clisp.org>
2429
2430         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
2431         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
2432         ends in "6". Don't require a specific month name. Try also the locale
2433         names found on HP-UX 11 and Solaris 7.
2434
2435 2011-01-02  Bruno Haible  <bruno@clisp.org>
2436
2437         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
2438         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
2439         C linkage.
2440         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
2441
2442 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2443
2444         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
2445         for consistency, since the "cluster" term is not used elsewhere.
2446         * lib/unigbrk.in.h: Update name.
2447         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
2448         * lib/unigbrk/u16-grapheme-next.c: Update name.
2449         * lib/unigbrk/u16-grapheme-prev.c: Update name.
2450         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
2451         * lib/unigbrk/u32-grapheme-next.c: Update name.
2452         * lib/unigbrk/u32-grapheme-prev.c: Update name.
2453         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
2454         * lib/unigbrk/u8-grapheme-next.c: Update name.
2455         * lib/unigbrk/u8-grapheme-prev.c: Update name.
2456         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
2457         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
2458         Suggested by Bruno Haible.
2459
2460 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2461
2462         Remove module 'u8-grapheme-len' as too redundant with
2463         'u8-grapheme-next'.
2464         * modules/unigbrk/u8-grapheme-len: Delete file.
2465         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
2466         * lib/unigbrk.in.h: Remove prototype for deleted function.
2467         * lib/unigbrk/u8-grapheme-len.c: Delete file.
2468         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
2469
2470         Remove module 'u16-grapheme-len' as too redundant with
2471         'u16-grapheme-next'.
2472         * modules/unigbrk/u16-grapheme-len: Delete file.
2473         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
2474         * lib/unigbrk.in.h: Remove prototype for deleted function.
2475         * lib/unigbrk/u16-grapheme-len.c: Delete file.
2476         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
2477
2478         Remove module 'u32-grapheme-len' as too redundant with
2479         'u32-grapheme-next'.
2480         * modules/unigbrk/u32-grapheme-len: Delete file.
2481         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
2482         * lib/unigbrk.in.h: Remove prototype for deleted function.
2483         * lib/unigbrk/u32-grapheme-len.c: Delete file.
2484         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
2485
2486         Suggested by Bruno Haible.
2487
2488 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2489
2490         * unigbrk.in.h: Fix typo: "ben" => "been".
2491         Reported by Bruno Haible.
2492
2493 2011-01-01  Jim Meyering  <meyering@redhat.com>
2494
2495         maint: update almost all copyright ranges to include 2011
2496         Run the new "make update-copyright" rule.
2497
2498 2011-01-01  Jim Meyering  <meyering@redhat.com>
2499
2500         maint: update-copyright: exempt doc/INSTALL*
2501         * Makefile (update-copyright): Also exclude doc/INSTALL*,
2502         since they are generated.  Suggested by Bruno Haible.
2503
2504 2011-01-01  Jim Meyering  <meyering@redhat.com>
2505
2506         maint: refine the update-copyright rule
2507         * Makefile (update-copyright): Also exclude any file that includes
2508         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
2509         code that merely generates the comment.
2510
2511 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
2512
2513         New module 'u8-grapheme-len'.
2514         * modules/unigbrk/u8-grapheme-len: New file.
2515         * modules/unigbrk/u8-grapheme-len-tests: New file.
2516         * lib/unigbrk.in.h: Add prototype for new function.
2517         * lib/unigbrk/u8-grapheme-len.c: New file.
2518         * tests/unigbrk/test-u8-grapheme-len.c: New file.
2519
2520         New module 'u16-grapheme-len'.
2521         * modules/unigbrk/u16-grapheme-len: New file.
2522         * modules/unigbrk/u16-grapheme-len-tests: New file.
2523         * lib/unigbrk.in.h: Add prototype for new function.
2524         * lib/unigbrk/u16-grapheme-len.c: New file.
2525         * tests/unigbrk/test-u16-grapheme-len.c: New file.
2526
2527         New module 'u32-grapheme-len'.
2528         * modules/unigbrk/u32-grapheme-len: New file.
2529         * modules/unigbrk/u32-grapheme-len-tests: New file.
2530         * lib/unigbrk.in.h: Add prototype for new function.
2531         * lib/unigbrk/u32-grapheme-len.c: New file.
2532         * tests/unigbrk/test-u32-grapheme-len.c: New file.
2533
2534         New module 'u8-grapheme-next'.
2535         * modules/unigbrk/u8-grapheme-next: New file.
2536         * modules/unigbrk/u8-grapheme-next-tests: New file.
2537         * lib/unigbrk.in.h: Add prototype for new function.
2538         * lib/unigbrk/u8-grapheme-next.c: New file.
2539         * tests/unigbrk/test-u8-grapheme-next.c: New file.
2540
2541         New module 'u16-grapheme-next'.
2542         * modules/unigbrk/u16-grapheme-next: New file.
2543         * modules/unigbrk/u16-grapheme-next-tests: New file.
2544         * lib/unigbrk.in.h: Add prototype for new function.
2545         * lib/unigbrk/u16-grapheme-next.c: New file.
2546         * tests/unigbrk/test-u16-grapheme-next.c: New file.
2547
2548         New module 'u32-grapheme-next'.
2549         * modules/unigbrk/u32-grapheme-next: New file.
2550         * modules/unigbrk/u32-grapheme-next-tests: New file.
2551         * lib/unigbrk.in.h: Add prototype for new function.
2552         * lib/unigbrk/u32-grapheme-next.c: New file.
2553         * tests/unigbrk/test-u32-grapheme-next.c: New file.
2554
2555         New module 'u8-grapheme-prev'.
2556         * modules/unigbrk/u8-grapheme-prev: New file.
2557         * modules/unigbrk/u8-grapheme-prev-tests: New file.
2558         * lib/unigbrk.in.h: Add prototype for new function.
2559         * lib/unigbrk/u8-grapheme-prev.c: New file.
2560         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
2561
2562         New module 'u16-grapheme-prev'.
2563         * modules/unigbrk/u16-grapheme-prev: New file.
2564         * modules/unigbrk/u16-grapheme-prev-tests: New file.
2565         * lib/unigbrk.in.h: Add prototype for new function.
2566         * lib/unigbrk/u16-grapheme-prev.c: New file.
2567         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
2568
2569         New module 'u32-grapheme-prev'.
2570         * modules/unigbrk/u32-grapheme-prev: New file.
2571         * modules/unigbrk/u32-grapheme-prev-tests: New file.
2572         * lib/unigbrk.in.h: Add prototype for new function.
2573         * lib/unigbrk/u32-grapheme-prev.c: New file.
2574         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
2575
2576         New module 'u8-grapheme-breaks'.
2577         * modules/unigbrk/u8-grapheme-breaks: New file.
2578         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
2579         * lib/unigbrk.in.h: Add prototype for new function.
2580         * lib/unigbrk/u8-grapheme-breaks.c: New file.
2581         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
2582
2583         New module 'u16-grapheme-breaks'.
2584         * modules/unigbrk/u16-grapheme-breaks: New file.
2585         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
2586         * lib/unigbrk.in.h: Add prototype for new function.
2587         * lib/unigbrk/u16-grapheme-breaks.c: New file.
2588         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
2589
2590         New module 'u32-grapheme-breaks'.
2591         * modules/unigbrk/u32-grapheme-breaks: New file.
2592         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
2593         * lib/unigbrk.in.h: Add prototype for new function.
2594         * lib/unigbrk/u32-grapheme-breaks.c: New file.
2595         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
2596
2597         New module 'ulc-grapheme-breaks'.
2598         * modules/unigbrk/ulc-grapheme-breaks: New file.
2599         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
2600         * m4/locale-ar.m4: New file.
2601         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
2602         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
2603         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
2604
2605 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
2606
2607         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
2608         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
2609         modified how this file was generated before I initially submitted
2610         the module, but failed to regenerate it.  This meant that several
2611         of the level2 entries were wrong.
2612         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
2613         Remove the division-by-2 that is folded into the table now that
2614         gbrkprop.h has been regenerated properly.  Now -1 entries are
2615         handled correctly.
2616
2617         New module 'unigbrk/uc-gbrk-prop-tests'.
2618         * modules/unigbrk/uc-gbrk-prop-tests: New file.
2619         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
2620         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
2621         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
2622
2623 2011-01-01  Bruno Haible  <bruno@clisp.org>
2624
2625         Avoid use of hexadecimal escapes.
2626         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
2627         instead of hexadecimal escapes.
2628
2629 2011-01-01  Jim Meyering  <meyering@redhat.com>
2630
2631         maint: new rule to update copyright year ranges
2632         * Makefile (update-copyright): New rule.
2633
2634         maint: indent with TABs in Makefile
2635         * Makefile: Expand leading sequences of spaces to TABs
2636
2637         version-etc: update the copyright year it reports
2638         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
2639
2640 2010-12-31  Bruno Haible  <bruno@clisp.org>
2641
2642         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
2643         * lib/isfinite.c (zerof, zerod, zerol): New variables.
2644         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
2645         zero.
2646
2647 2010-12-31  Bruno Haible  <bruno@clisp.org>
2648
2649         pwrite: Work around HP-UX 11.11 bug.
2650         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
2651         works and set REPLACE_PWRITE if not.
2652         * lib/pwrite.c (pwrite): Add an implementation that uses the system
2653         function.
2654         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
2655
2656 2010-12-31  Bruno Haible  <bruno@clisp.org>
2657
2658         pread: Work around HP-UX 11 bugs.
2659         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
2660         and set REPLACE_PREAD if not.
2661         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
2662
2663 2010-12-31  Eric Blake  <eblake@redhat.com>
2664
2665         nl_langinfo: fix YESEXPR on Irix 6.5
2666         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
2667         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
2668         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
2669         it.
2670
2671 2010-12-31  Bruno Haible  <bruno@clisp.org>
2672
2673         iconv: Document HP-UX 11 bug.
2674         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
2675
2676 2010-12-31  Bruno Haible  <bruno@clisp.org>
2677
2678         ldexpl: Fix link error on HP-UX 11.
2679         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
2680         LDEXPL_LIBM, using $ISNANL_LIBM.
2681
2682 2010-12-31  Eric Blake  <eblake@redhat.com>
2683
2684         ftello: avoid compilation failure with SunStudio c89
2685         * lib/ftello.c (ftello): Use lseek, not llseek.
2686
2687         tests: avoid failing coreutils tests on cygwin
2688         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
2689         (create_exe_shims_): Return 0 when skipping.
2690
2691 2010-12-31  Bruno Haible  <bruno@clisp.org>
2692
2693         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
2694         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
2695
2696 2010-12-31  Bruno Haible  <bruno@clisp.org>
2697
2698         waitpid: Fix link error in C++ mode.
2699         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
2700
2701 2010-12-31  Bruno Haible  <bruno@clisp.org>
2702
2703         isnan: Use GCC built-ins when possible.
2704         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
2705         __builtin_isnan.
2706         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
2707         (isnan): Define using GCC built-ins for GCC >= 4.0.
2708
2709 2010-12-31  Bruno Haible  <bruno@clisp.org>
2710
2711         isnand: Fix mistake.
2712         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
2713         __builtin_isnand.
2714
2715 2010-12-31  Bruno Haible  <bruno@clisp.org>
2716
2717         open: Avoid C++ error on HP-UX 11.
2718         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
2719
2720 2010-12-31  Bruno Haible  <bruno@clisp.org>
2721
2722         time_r: Add missing declarations on HP-UX 11.
2723         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
2724         instead of HAVE_LOCALTIME_R.
2725         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
2726         HAVE_LOCALTIME_R always.
2727         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
2728         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
2729         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
2730         HAVE_LOCALTIME_R.
2731         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
2732         * doc/posix-functions/localtime_r.texi: Likewise.
2733
2734 2010-12-29  Eric Blake  <eblake@redhat.com>
2735
2736         mountlist: tweak previous commit
2737         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
2738         Reported by Paul Eggert.
2739
2740         mountlist: fix local drive detection on cygwin
2741         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
2742         that works for cygwin.
2743
2744 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2745
2746         ftoastr, snprintf: ftoastr + snprintf module
2747         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
2748         since the snprintf module now should be good enough here.
2749         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
2750         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
2751         and gl_MODULE_INDICATOR([snprintf]), but the former enables
2752         GNULIB_SNPRINTF only for the test directory, and the latter
2753         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
2754         seems to suffice by itself.
2755
2756 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2757
2758         alloca: one step towards thread-safety
2759         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
2760         need for a static variable.  All callers changed.  This does not
2761         make the alloca replacement thread-safe, but it's one step.
2762
2763         tests: minor indenting change
2764         * tests/init.sh: Sync from coreutils housekeeping patch
2765         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
2766         to keep lines within 80 columns.
2767
2768 2010-12-28  Jim Meyering  <meyering@redhat.com>
2769
2770         regex: don't infloop on persistent failing calloc
2771         * lib/regexec.c (build_trtable): Return failure indication upon
2772         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
2773         In glibc, this was fixed for version 2.13:
2774         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
2775
2776 2010-12-28  Bruno Haible  <bruno@clisp.org>
2777             Paul Eggert <eggert@cs.ucla.edu>
2778
2779         linkat: Make implementation robust against system behaviour variations.
2780         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
2781         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
2782         way, and to -2 if it needs a generic runtime test.
2783         * lib/linkat.c (solaris_optimized_link_immediate,
2784         solaris_optimized_link_follow): New functions.
2785         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
2786         (check_same_link): Use it.
2787
2788 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
2789
2790         New module 'unigbrk/base'.
2791         * modules/unigbrk/base: New file.
2792         * lib/unigbrk.in.h: New file.
2793
2794         New module 'unigbrk/uc-gbrk-prop'.
2795         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
2796         * modules/unigbrk/uc-gbrk-prop: New file.
2797         * lib/unigbrk/gbrkprop.h: New file.
2798         * lib/unigbrk/uc-gbrk-prop.c: New file.
2799
2800         New module 'unigbrk/uc-is-grapheme-break'.
2801         * modules/unigbrk/uc-is-grapheme-break: New file.
2802         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
2803         * lib/unigbrk/uc-is-grapheme-break.c: New file.
2804         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
2805         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
2806         * tests/unigbrk/GraphemeBreakTest.txt: New file.
2807
2808         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
2809
2810 2010-12-27  Bruno Haible  <bruno@clisp.org>
2811
2812         linkat test: Avoid failure on Solaris 11 2010-11.
2813         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
2814
2815 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2816
2817         utimens: work around glibc rounding bug on more platforms
2818         * lib/utimens.c (fdutimens): Work around rounding bug even if
2819         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
2820         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
2821
2822 2010-12-27  Bruno Haible  <bruno@clisp.org>
2823
2824         select tests: Improve comments.
2825         * tests/test-select.c (do_select): Add comments.
2826
2827 2010-12-27  Bruno Haible  <bruno@clisp.org>
2828
2829         select tests: Safer way of handling timeout.
2830         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
2831         at every invocation.
2832
2833 2010-12-27  Bruno Haible  <bruno@clisp.org>
2834
2835         select tests: Use 'bool' where appropriate.
2836         * tests/test-select.c (connect_to_socket): Change argument type to
2837         'bool'.
2838
2839 2010-12-27  Bruno Haible  <bruno@clisp.org>
2840
2841         select tests: Use existing modules.
2842         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
2843         (configure.ac): Don't test for unistd.h.
2844         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
2845         declared in <unistd.h>.
2846
2847 2010-12-27  Bruno Haible  <bruno@clisp.org>
2848
2849         mbrtowc: Work around a Solaris 7 bug.
2850         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
2851         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
2852         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
2853         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
2854         MBRTOWC_NULL_ARG1_BUG.
2855         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
2856         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
2857         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
2858         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
2859
2860 2010-12-27  Jim Meyering  <meyering@redhat.com>
2861
2862         read-file.c: tweak syntax
2863         * lib/read-file.c (fread_file): Remove space after "*" in function
2864         definitions.
2865
2866 2010-12-27  Bruno Haible  <bruno@clisp.org>
2867
2868         times test: Avoid gcc warnings on OSF/1.
2869         * tests/test-times.c (main): Cast printf arguments from clock_t to
2870         'long int'.
2871
2872 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2873
2874         utimens: work around glibc rounding bug on older Linux kernels
2875         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
2876         on Linux with a glibc whose utimes might not work, then work
2877         around a longstanding glibc bug involving rounding rather than
2878         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
2879         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
2880
2881 2010-12-26  Bruno Haible  <bruno@clisp.org>
2882
2883         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
2884         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
2885         _GL_CXXALIAS_SYS.
2886         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2887
2888 2010-12-26  Bruno Haible  <bruno@clisp.org>
2889
2890         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
2891         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
2892         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
2893         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
2894         looking for the declaration.
2895         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
2896         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
2897         problem.
2898         * doc/posix-functions/inet_pton.texi: Likewise.
2899
2900 2010-12-26  Bruno Haible  <bruno@clisp.org>
2901
2902         arpa_inet: Use the common idioms with C++ support.
2903         * lib/arpa_inet.in.h: Include c++defs.h.
2904         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
2905         support.
2906         * modules/arpa_inet (Depends-on): Add c++defs.
2907         (Makefile.am): Substitute the contents of c++defs.h.
2908         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
2909         * modules/arpa_inet-c++-tests: New file.
2910         * tests/test-arpa_inet-c++.cc: New file.
2911
2912 2010-12-25  Bruno Haible  <bruno@clisp.org>
2913
2914         Fix more C++ link errors on Solaris 8.
2915         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
2916         $(LIB_EACCESS).
2917         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
2918         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
2919         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
2920         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
2921         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
2922
2923 2010-12-25  Bruno Haible  <bruno@clisp.org>
2924
2925         printf-posix: Fix link error when a non-GCC compiler is used.
2926         * lib/stdio.in.h (printf): When not using GCC, override printf
2927         correctly.
2928         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2929
2930 2010-12-25  Bruno Haible  <bruno@clisp.org>
2931
2932         strerror_r-posix: Update doc.
2933         * doc/posix-functions/strerror_r.texi: Update doc about the return
2934         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
2935
2936 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2937
2938         utimens: simplify the logic of the previous change
2939         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
2940         This should not affect whether the test succeeds or fails.
2941
2942         utimens: configure better on hosts with NFS clock skew
2943         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
2944         uses the clock of the local host.  It might use the clock of the
2945         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
2946         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
2947
2948 2010-12-25  Bruno Haible  <bruno@clisp.org>
2949
2950         ptsname test: Avoid failure on Solaris.
2951         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
2952         open a pseudo-terminal; don't use BSD-style ptys.
2953         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
2954
2955 2010-12-25  Bruno Haible  <bruno@clisp.org>
2956
2957         ptsname: Avoid ERANGE failure on some systems.
2958         * lib/ptsname.c (buffer): Increase size.
2959
2960 2010-12-25  Bruno Haible  <bruno@clisp.org>
2961
2962         rename, renameat: Avoid test failures at NFS mounted locations.
2963         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
2964         so that subsequent mkdir calls succeed.
2965
2966 2010-12-25  Bruno Haible  <bruno@clisp.org>
2967
2968         iswblank: Fix C++ link error on Solaris 8.
2969         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
2970         _GL_FUNCDECL_SYS.
2971
2972 2010-12-25  Bruno Haible  <bruno@clisp.org>
2973
2974         unistd: Fix C++ link error on Solaris 8.
2975         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
2976
2977 2010-12-25  Bruno Haible  <bruno@clisp.org>
2978
2979         readlink doc: Mention an old glibc bug.
2980         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
2981
2982 2010-12-25  Bruno Haible  <bruno@clisp.org>
2983
2984         fcntl-h: Fix for use of C++ on glibc systems.
2985         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
2986         also on glibc systems in C++ mode.
2987         Reported by Gary V. Vaughan <gary@gnu.org>.
2988
2989 2010-12-25  Bruno Haible  <bruno@clisp.org>
2990
2991         roundl-ieee: Make it work on OSF/1 5.1 with cc.
2992         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
2993
2994 2010-12-25  Bruno Haible  <bruno@clisp.org>
2995
2996         truncl-ieee: Make it work on OSF/1 5.1 with cc.
2997         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
2998         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
2999         test whether truncl works according to ISO C 99 with IEC 60559.
3000         * m4/truncl-ieee.m4: New file.
3001         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
3002         m4/signbit.m4.
3003         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
3004
3005 2010-12-25  Bruno Haible  <bruno@clisp.org>
3006
3007         ceill-ieee: Make it work on OSF/1 5.1 with cc.
3008         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
3009         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
3010         test whether ceill works according to ISO C 99 with IEC 60559.
3011         * m4/ceill-ieee.m4: New file.
3012         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
3013         m4/signbit.m4.
3014         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
3015
3016 2010-12-25  Bruno Haible  <bruno@clisp.org>
3017
3018         Ensure all prerequisites of <wchar.h> are included.
3019         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
3020         before <wchar.h>.
3021         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
3022         gl_MBRLEN_NUL_RETVAL): Likewise.
3023         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
3024         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
3025         AC_FUNC_MBRTOWC): Likewise.
3026         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
3027         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
3028         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
3029         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
3030         Likewise.
3031         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3032         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
3033         (gl_WCHAR_H): Improve comments.
3034         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3035
3036 2010-12-25  Bruno Haible  <bruno@clisp.org>
3037
3038         strtok_r: Fix C syntax error in autoconf macro.
3039         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
3040         characters in test program.
3041
3042 2010-12-24  Bruno Haible  <bruno@clisp.org>
3043
3044         ceil, trunc, round: Fix gcc warnings.
3045         * lib/ceil.c (MIN): Undefine before redefining.
3046         * lib/trunc.c (MIN): Likewise.
3047         * lib/round.c (MIN): Likewise.
3048         Include <math.h> first.
3049
3050 2010-12-24  Bruno Haible  <bruno@clisp.org>
3051
3052         select tests: Avoid failures on OSF/1 5.1.
3053         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
3054         failure of closing the last socket; it may fail with ECONNRESET.
3055
3056 2010-12-24  Eric Blake  <eblake@redhat.com>
3057
3058         stdint: avoid HP-UX 10.20 preprocessor bug
3059         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
3060         than #if.
3061         * tests/test-floor2.c (main): Likewise.
3062         Reported by Peter O'Gorman.
3063
3064         pipe: make obsoletion transition easier
3065         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
3066         * modules/pipe (Files): Include revived file.
3067         (Include): Drop reference, to mirror getdate's behavior.
3068
3069 2010-12-24  Bruno Haible  <bruno@clisp.org>
3070
3071         sys_socket: Hide mismatch of declarations on NonStop Kernel.
3072         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
3073         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
3074         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3075
3076 2010-12-24  Bruno Haible  <bruno@clisp.org>
3077
3078         gethostname: Ensure declaration on NonStop Kernel.
3079         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
3080         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3081
3082 2010-12-24  Bruno Haible  <bruno@clisp.org>
3083
3084         sys_select: Ensure all necessary types on NonStop Kernel.
3085         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
3086         include <sys/time.h>.
3087         * doc/posix-headers/sys_select.texi: Mention that it's missing on
3088         NonStop Kernel.
3089         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3090
3091 2010-12-24  Bruno Haible  <bruno@clisp.org>
3092
3093         sys_select: Remove unneeded include.
3094         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
3095         have <sys/select.h>.
3096
3097 2010-12-24  Bruno Haible  <bruno@clisp.org>
3098
3099         gethostname: Provide a fallback for HOST_NAME_MAX.
3100         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
3101         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
3102         instead.
3103         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3104
3105 2010-12-24  Bruno Haible  <bruno@clisp.org>
3106
3107         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
3108         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
3109         (SA_RESTART): Likewise.
3110         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3111
3112 2010-12-24  Bruno Haible  <bruno@clisp.org>
3113
3114         signal: Define NSIG.
3115         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
3116         * tests/test-signal.c (nsig): New variable.
3117         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3118
3119 2010-12-24  Bruno Haible  <bruno@clisp.org>
3120
3121         rename, renameat: Avoid test failures on OSF/1 5.1.
3122         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
3123         alternative error codes.
3124         * tests/test-renameat.c (main): Likewise.
3125
3126 2010-12-24  Bruno Haible  <bruno@clisp.org>
3127
3128         *printf: Detect large precisions bug on Solaris 10/SPARC.
3129         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
3130         by Paul Eggert.
3131         * tests/test-snprintf-posix.h (test_function): Add this test code here
3132         too.
3133         * tests/test-sprintf-posix.h (test_function): Likewise.
3134         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3135         * tests/test-vasprintf-posix.c (test_function): Likewise.
3136         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
3137         around by gnulib.
3138         * doc/posix-functions/printf.texi: Likewise.
3139         * doc/posix-functions/snprintf.texi: Likewise.
3140         * doc/posix-functions/sprintf.texi: Likewise.
3141         * doc/posix-functions/vfprintf.texi: Likewise.
3142         * doc/posix-functions/vprintf.texi: Likewise.
3143         * doc/posix-functions/vsnprintf.texi: Likewise.
3144         * doc/posix-functions/vsprintf.texi: Likewise.
3145         * doc/posix-functions/dprintf.texi: Undo last commit.
3146         * doc/posix-functions/vdprintf.texi: Likewise.
3147
3148 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3149
3150         tests: port test-fdutimensat.c to Solaris 8
3151         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
3152         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
3153         On Solaris 8, it fails with errno == ENOSYS, because there is no
3154         futimens (so it can't use the fd), and there is no lutimens (so it
3155         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
3156
3157         vsnprintf: make more consistent with snprintf; doc fixes
3158
3159         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
3160         the byte count return problem was promoted from the snprintf-posix
3161         to the snprintf module.
3162         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
3163         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
3164         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
3165         * tests/test-snprintf.c (main): Check the byte count returned.
3166         * tests/test-vsnprintf.c (main): Likewise.
3167
3168 2010-12-23  Eric Blake  <eblake@redhat.com>
3169
3170         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
3171         * modules/sigpipe (License): Relax license.
3172
3173 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3174
3175         doc: document Solaris printf bug with large float precisions
3176         * doc/posix-functions/dprintf.texi (dprintf):
3177         * doc/posix-functions/fprintf.texi (fprintf):
3178         * doc/posix-functions/printf.texi (printf):
3179         * doc/posix-functions/snprintf.texi (snprintf):
3180         * doc/posix-functions/sprintf.texi (sprintf):
3181         * doc/posix-functions/vdprintf.texi (vdprintf):
3182         * doc/posix-functions/vfprintf.texi (vfprintf):
3183         * doc/posix-functions/vprintf.texi (vprintf):
3184         * doc/posix-functions/vsnprintf.texi (vsnprintf):
3185         * doc/posix-functions/vsprintf.texi (vsprintf):
3186         Mention that these functions mishandle large floating point
3187         precisions on Solaris 10.  The same bug is also present in Solaris
3188         8, and I assume earlier.  This causes "cd gnulib-tests; make
3189         check" to fail on Solaris 8 (and I assume, later) when building
3190         the latest coreutils, in test-vasprintf-posix's call to
3191         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
3192         the wide flavors (e.g., wprintf) so this patch just updates the
3193         documentation for the narrow ones.
3194
3195         test-posixtm.c: add two tests
3196         * tests/test-posixtm.c: Add two tests, to highlight the
3197         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
3198         around this bug; this is merely to document it.
3199
3200 2010-12-22  Bruno Haible  <bruno@clisp.org>
3201
3202         getlogin_r: Work around portability problem on OSF/1.
3203         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
3204         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
3205         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
3206         test for a truncated result.
3207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
3208         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
3209         * modules/getlogin_r (Depends-on): Add memchr.
3210         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
3211
3212 2010-12-22  Bruno Haible  <bruno@clisp.org>
3213
3214         ptsname: Avoid test failure on OSF/1 5.1.
3215         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
3216         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
3217         (same_slave): New function.
3218         (main): Use it to compare ptsname's result with the expected file name.
3219
3220 2010-12-22  Bruno Haible  <bruno@clisp.org>
3221
3222         Port extended stdio modules to HP NonStop Kernel.
3223         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
3224         macros.
3225         * lib/fbufmode.c: Update comments.
3226         * lib/fflush.c: Likewise.
3227         * lib/fpurge.c: Likewise.
3228         * lib/freadable.c: Likewise.
3229         * lib/freadahead.c: Likewise.
3230         * lib/freading.c: Likewise.
3231         * lib/freadptr.c: Likewise.
3232         * lib/freadseek.c: Likewise.
3233         * lib/fseeko.c: Likewise.
3234         * lib/fseterr.c: Likewise.
3235         * lib/fwritable.c: Likewise.
3236         * lib/fwriting.c: Likewise.
3237         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3238
3239 2010-12-22  Bruno Haible  <bruno@clisp.org>
3240
3241         ttyname_r: Work around bug on OSF/1 5.1.
3242         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
3243         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
3244         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
3245         present.
3246         * lib/ttyname_r.c (ttyname_r): Update comments.
3247
3248 2010-12-22  Bruno Haible  <bruno@clisp.org>
3249
3250         round: Implement result sign according to IEEE 754.
3251         * lib/round.c (MIN, MINUS_ZERO): New macros.
3252         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
3253         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
3254         * tests/test-round-ieee.c (main): Likewise.
3255         * tests/test-roundl-ieee.c (main): Likewise.
3256
3257         trunc: Implement result sign according to IEEE 754.
3258         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
3259         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
3260         * tests/test-trunc2.c: Include minus-zero.h.
3261         (MINUS_ZERO): New macro.
3262         (trunc_reference): Keep in sync with lib/trunc.c.
3263         * tests/test-truncf2.c: Include minus-zero.h.
3264         (MINUS_ZERO): New macro.
3265         (truncf_reference): Keep in sync with lib/trunc.c.
3266         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
3267         * tests/test-trunc-ieee.c (main): Likewise.
3268         * tests/test-truncl-ieee.c (main): Likewise.
3269
3270         ceil: Implement result sign according to IEEE 754.
3271         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
3272         (FUNC): Return -0.0 for -1 < x < 0.
3273         * tests/test-ceil2.c: Include minus-zero.h.
3274         (MINUS_ZERO): New macro.
3275         (ceil_reference): Keep in sync with lib/ceil.c.
3276         * tests/test-ceilf2.c: Include minus-zero.h.
3277         (MINUS_ZERO): New macro.
3278         (ceilf_reference): Keep in sync with lib/ceil.c.
3279         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
3280         * tests/test-ceil-ieee.c (main): Likewise.
3281         * tests/test-ceill-ieee.c (main): Likewise.
3282
3283         floor: Implement result sign according to IEEE 754.
3284         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
3285         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
3286         * tests/test-floorf2.c (floorf_reference): Likewise.
3287         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
3288         * tests/test-floor-ieee.c (main): Likewise.
3289         * tests/test-floorl-ieee.c (main): Likewise.
3290
3291 2010-12-22  Bruno Haible  <bruno@clisp.org>
3292
3293         getaddrinfo: Update doc.
3294         * doc/posix-functions/gai_strerror.texi: Return type is also different
3295         on AIX and HP-UX.
3296
3297 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3298
3299         getaddrinfo, inet_ntop: Update doc for Solaris.
3300         * doc/posix-functions/gai_strerror.texi: Return type is also an
3301         issue on Solaris 9 and earlier.
3302         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
3303         on Solaris 10 and earlier.
3304
3305 2010-12-21  Bruno Haible  <bruno@clisp.org>
3306
3307         New module 'roundl-ieee'.
3308         * modules/roundl-ieee: New file.
3309         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
3310         test whether roundl works according to ISO C 99 with IEC 60559.
3311         * m4/roundl-ieee.m4: New file.
3312         * modules/roundl-ieee-tests: New file.
3313         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
3314         * tests/test-roundl.c (main): Remove signbit tests.
3315         * modules/roundl-tests (Depends-on): Remove signbit.
3316         * doc/posix-functions/roundl.texi: Mention the new module.
3317
3318 2010-12-21  Bruno Haible  <bruno@clisp.org>
3319
3320         New module 'truncl-ieee'.
3321         * modules/truncl-ieee: New file.
3322         * modules/truncl-ieee-tests: New file.
3323         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
3324         * tests/test-truncl.c (main): Remove signbit tests.
3325         * modules/truncl-tests (Depends-on): Remove signbit.
3326         * doc/posix-functions/truncl.texi: Mention the new module.
3327
3328 2010-12-21  Bruno Haible  <bruno@clisp.org>
3329
3330         New module 'ceill-ieee'.
3331         * modules/ceill-ieee: New file.
3332         * modules/ceill-ieee-tests: New file.
3333         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
3334         * tests/test-ceill.c (main): Remove signbit tests.
3335         * modules/ceill-tests (Depends-on): Remove signbit.
3336         * doc/posix-functions/ceill.texi: Mention the new module.
3337
3338 2010-12-21  Bruno Haible  <bruno@clisp.org>
3339
3340         New module 'floorl-ieee'.
3341         * modules/floorl-ieee: New file.
3342         * modules/floorl-ieee-tests: New file.
3343         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
3344         * tests/test-floorl.c (main): Remove signbit tests.
3345         * modules/floorl-tests (Depends-on): Remove signbit.
3346         * doc/posix-functions/floorl.texi: Mention the new module.
3347
3348 2010-12-21  Bruno Haible  <bruno@clisp.org>
3349
3350         New module 'round-ieee'.
3351         * modules/round-ieee: New file.
3352         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
3353         whether round works according to ISO C 99 with IEC 60559.
3354         * m4/round-ieee.m4: New file.
3355         * modules/round-ieee-tests: New file.
3356         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
3357         * tests/test-round1.c (main): Remove signbit tests.
3358         * modules/round-tests (Depends-on): Remove 'signbit'.
3359         * doc/posix-functions/round.texi: Mention the new module.
3360
3361 2010-12-21  Bruno Haible  <bruno@clisp.org>
3362
3363         New module 'trunc-ieee'.
3364         * modules/trunc-ieee: New file.
3365         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
3366         whether trunc works according to ISO C 99 with IEC 60559.
3367         * m4/trunc-ieee.m4: New file.
3368         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
3369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
3370         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
3371         * modules/trunc-ieee-tests: New file.
3372         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
3373         * tests/test-trunc1.c (main): Remove signbit tests.
3374         * modules/trunc-tests (Depends-on): Remove 'signbit'.
3375         * doc/posix-functions/trunc.texi: Mention the new module.
3376
3377 2010-12-21  Bruno Haible  <bruno@clisp.org>
3378
3379         New module 'ceil-ieee'.
3380         * modules/ceil-ieee: New file.
3381         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
3382         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
3383         ISO C 99 with IEC 60559.
3384         * m4/ceil-ieee.m4: New file.
3385         * modules/ceil (Files): Add lib/ceil.c.
3386         (Depends-on): Add 'float'.
3387         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
3388         * lib/math.in.h (ceil): New declaration.
3389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
3390         REPLACE_CEIL.
3391         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
3392         * modules/ceil-ieee-tests: New file.
3393         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
3394         * tests/test-math-c++.cc: Check the signature of 'ceil'.
3395         * doc/posix-functions/ceil.texi: Mention the new module.
3396
3397 2010-12-21  Bruno Haible  <bruno@clisp.org>
3398
3399         New module 'floor-ieee'.
3400         * modules/floor-ieee: New file.
3401         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
3402         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
3403         ISO C 99 with IEC 60559.
3404         * m4/floor-ieee.m4: New file.
3405         * modules/floor (Files): Add lib/floor.c.
3406         (Depends-on): Add 'float'.
3407         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
3408         * lib/math.in.h (floor): New declaration.
3409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
3410         REPLACE_FLOOR.
3411         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
3412         * modules/floor-ieee-tests: New file.
3413         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
3414         * tests/test-math-c++.cc: Check the signature of 'floor'.
3415         * doc/posix-functions/floor.texi: Mention the new module.
3416
3417 2010-12-21  Bruno Haible  <bruno@clisp.org>
3418
3419         New module 'roundf-ieee'.
3420         * modules/roundf-ieee: New file.
3421         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
3422         test whether roundf works according to ISO C 99 with IEC 60559.
3423         * m4/roundf-ieee.m4: New file.
3424         * modules/roundf-ieee-tests: New file.
3425         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
3426         * tests/test-roundf1.c (main): Remove signbit tests.
3427         * modules/roundf-tests (Depends-on): Remove 'signbit'.
3428         * doc/posix-functions/roundf.texi: Mention the new module.
3429
3430 2010-12-21  Bruno Haible  <bruno@clisp.org>
3431
3432         New module 'truncf-ieee'.
3433         * modules/truncf-ieee: New file.
3434         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
3435         test whether truncf works according to ISO C 99 with IEC 60559.
3436         * m4/truncf-ieee.m4: New file.
3437         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
3438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
3439         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
3440         * modules/truncf-ieee-tests: New file.
3441         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
3442         * tests/test-truncf1.c (main): Remove signbit tests.
3443         * modules/truncf-tests (Depends-on): Remove 'signbit'.
3444         * doc/posix-functions/truncf.texi: Mention the new module.
3445
3446 2010-12-21  Bruno Haible  <bruno@clisp.org>
3447
3448         New module 'ceilf-ieee'.
3449         * modules/ceilf-ieee: New file.
3450         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
3451         test whether ceilf works according to ISO C 99 with IEC 60559.
3452         * m4/ceilf-ieee.m4: New file.
3453         * modules/ceilf-ieee-tests: New file.
3454         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
3455         * tests/test-ceilf1.c (main): Remove signbit tests.
3456         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
3457         * doc/posix-functions/ceilf.texi: Mention the new module.
3458
3459 2010-12-21  Bruno Haible  <bruno@clisp.org>
3460
3461         New module 'floorf-ieee'.
3462         * modules/floorf-ieee: New file.
3463         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
3464         test whether floorf works according to ISO C 99 with IEC 60559.
3465         * m4/floorf-ieee.m4: New file.
3466         * modules/floorf-ieee-tests: New file.
3467         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
3468         * tests/test-floorf1.c (main): Remove signbit tests.
3469         * modules/floorf-tests (Depends-on): Remove 'signbit'.
3470         * doc/posix-functions/floorf.texi: Mention the new module.
3471
3472 2010-12-21  Bruno Haible  <bruno@clisp.org>
3473
3474         Support for minus zero in autoconf macros.
3475         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
3476         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
3477         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
3478         * tests/minus-zero.h: Update comments.
3479
3480 2010-12-21  Bruno Haible  <bruno@clisp.org>
3481
3482         Tests for module 'ceil'.
3483         * modules/ceil-tests: New file.
3484         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
3485         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
3486
3487 2010-12-21  Bruno Haible  <bruno@clisp.org>
3488
3489         Tests for module 'floor'.
3490         * modules/floor-tests: New file.
3491         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
3492         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
3493
3494 2010-12-21  Bruno Haible  <bruno@clisp.org>
3495
3496         math: Fix indentation.
3497         * lib/math.in.h (floorf): Fix indentation.
3498
3499 2010-12-21  Bruno Haible  <bruno@clisp.org>
3500
3501         Fix cross-compilation guesses on Solaris.
3502         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
3503         not match "solaris2.10".
3504         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
3505         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
3506         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
3507
3508 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3509
3510         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
3511         This fixes a problem observed with the latest coreutils snapshot
3512         that caused a test to fail on Solaris 8.  src/csplit.c's call
3513         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
3514         earlier, instead of returning the number of bytes that would have
3515         been generated; this causes csplit to incorrectly report memory
3516         exhaustion.
3517         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
3518         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
3519         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
3520         comments to match.
3521         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
3522         Fix typo in matching older versions of Solaris: "solaris2.10"
3523         is matched by the shell pattern "solaris2.[0-9]*".  This matters
3524         only for guessing while cross-compiling.
3525         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
3526
3527 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
3528
3529         ftoastr: fix comment again
3530         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
3531         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
3532         Also, simplify example a bit by using flags = 0.
3533
3534 2010-12-20  Bruno Haible  <bruno@clisp.org>
3535
3536         round*, trunc*: Update documentation regarding glibc.
3537         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
3538         * doc/posix-functions/round.texi: Likewise.
3539         * doc/posix-functions/roundl.texi: Likewise.
3540         * doc/posix-functions/truncf.texi: Likewise.
3541         * doc/posix-functions/trunc.texi: Likewise.
3542         * doc/posix-functions/truncl.texi: Likewise.
3543
3544 2010-12-20  Bruno Haible  <bruno@clisp.org>
3545
3546         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
3547         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
3548         * doc/posix-functions/round.texi: Likewise.
3549         * doc/posix-functions/roundl.texi: Likewise.
3550
3551 2010-12-20  Bruno Haible  <bruno@clisp.org>
3552
3553         ttyname_r: Add missing declaration on HP-UX 11.
3554         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
3555         HAVE_TTYNAME_R.
3556         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
3557         declared. Set HAVE_TTYNAME_R always.
3558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3559         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
3560         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
3561         HAVE_TTYNAME_R.
3562         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
3563
3564 2010-12-20  Bruno Haible  <bruno@clisp.org>
3565
3566         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
3567         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
3568         * doc/posix-functions/getlogin_r.texi: Likewise.
3569         * tests/test-getlogin.c: Include <errno.h>.
3570         (main): Avoid test failure on HP-UX 11.11.
3571         * tests/test-getlogin_r.c (main): Likewise.
3572
3573 2010-12-20  Bruno Haible  <bruno@clisp.org>
3574
3575         getlogin_r: Add missing declaration on HP-UX 11.
3576         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
3577         declared also when it exists as a function.
3578         * doc/posix-functions/getlogin_r.texi: Document this workaround.
3579
3580 2010-12-20  Bruno Haible  <bruno@clisp.org>
3581
3582         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
3583         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
3584         through wcrtomb.
3585
3586 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3587
3588         ftoastr: fix comment
3589         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
3590         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
3591
3592 2010-12-19  Bruno Haible  <bruno@clisp.org>
3593
3594         isnan: Ensure it is a macro.
3595         * lib/math.in.h (isnan): Define as a macro if not already a macro.
3596         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
3597         Solaris.
3598
3599 2010-12-19  Bruno Haible  <bruno@clisp.org>
3600
3601         ldexpl test: Fix link error on OSF/1 5.1.
3602         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
3603
3604 2010-12-19  Bruno Haible  <bruno@clisp.org>
3605
3606         wctype: Make it work in C++ mode on OSF/1 5.1.
3607         * lib/wctype.in.h (iswblank): Declare but not define here.
3608         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
3609         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
3610         * modules/wctype (Files): Add lib/iswblank.c.
3611
3612 2010-12-19  Bruno Haible  <bruno@clisp.org>
3613
3614         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
3615         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
3616         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
3617
3618 2010-12-19  Bruno Haible  <bruno@clisp.org>
3619
3620         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
3621         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
3622         _POSIX_PII_SOCKET.
3623         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
3624         * doc/posix-functions/recvfrom.texi: Likewise.
3625         * doc/posix-functions/send.texi: Likewise.
3626         * doc/posix-functions/sendto.texi: Likewise.
3627
3628 2010-12-19  Bruno Haible  <bruno@clisp.org>
3629
3630         tcgetsid: Add missing declaration on OSF/1 5.1.
3631         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
3632         HAVE_TCGETSID.
3633         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
3634         Don't set HAVE_TCGETSID.
3635         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
3636         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
3637         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
3638         HAVE_TCGETSID.
3639         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
3640
3641 2010-12-19  Bruno Haible  <bruno@clisp.org>
3642
3643         stdio: Fix problem with popen() declaration on OSF/1 5.1.
3644         * lib/stdio.in.h: During the include_next statement, let recursive
3645         includes of this file include only the system header file.
3646
3647 2010-12-19  Bruno Haible  <bruno@clisp.org>
3648
3649         iconv_open: Fix regression from 2010-12-04.
3650         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
3651         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
3652
3653 2010-12-19  Bruno Haible  <bruno@clisp.org>
3654
3655         stdbool test: Avoid a gcc warning.
3656         * tests/test-stdbool.c (main): Fail if e1 is false.
3657         Reported by Jim Meyering.
3658
3659 2010-12-19  Jim Meyering  <meyering@redhat.com>
3660
3661         setenv: restore to working order
3662         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
3663         mistakenly removed.
3664         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
3665         HAVE_SETENV.
3666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
3667         HAVE_SETENV.
3668
3669 2010-12-19  Bruno Haible  <bruno@clisp.org>
3670
3671         Document some different function declarations on OSF/1 5.1.
3672         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
3673         * doc/posix-functions/inet_ntop.texi: Likewise.
3674         * doc/posix-functions/gethostname.texi: Likewise.
3675         * lib/unistd.in.h (gethostname): Update comment.
3676
3677 2010-12-19  Bruno Haible  <bruno@clisp.org>
3678
3679         doc: Mention vasprintf-posix module.
3680         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
3681         the 'vasprintf-posix' module.
3682         * doc/glibc-functions/vasprintf.texi: Likewise.
3683
3684 2010-12-19  Bruno Haible  <bruno@clisp.org>
3685
3686         unsetenv: Add missing declaration on OSF/1 5.1.
3687         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
3688         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
3689         Don't set HAVE_UNSETENV. In the test program, set _BSD.
3690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
3691         not HAVE_UNSETENV.
3692         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
3693         HAVE_UNSETENV.
3694         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
3695
3696 2010-12-19  Bruno Haible  <bruno@clisp.org>
3697
3698         setenv: Add missing declaration on OSF/1 5.1.
3699         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
3700         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
3701         declared. Don't set HAVE_SETENV.
3702         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
3703         not HAVE_SETENV.
3704         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
3705         HAVE_SETENV.
3706         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
3707
3708 2010-12-19  Bruno Haible  <bruno@clisp.org>
3709
3710         nl_langinfo tests: Avoid gcc warning.
3711         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
3712
3713 2010-12-19  Bruno Haible  <bruno@clisp.org>
3714
3715         mknod: Avoid error in C++ mode on OSF/1 with GCC.
3716         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
3717         _GL_CXXALIAS_SYS.
3718
3719 2010-12-19  Bruno Haible  <bruno@clisp.org>
3720
3721         stdbool: Relax test.
3722         * tests/test-stdbool.c (e): Don't require that casts from a variable's
3723         address to 'bool' work in static initializer, for compilers other than
3724         GCC.
3725
3726 2010-12-19  Bruno Haible  <bruno@clisp.org>
3727
3728         ftello: Add missing declaration on OSF/1 5.1.
3729         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
3730         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
3731         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
3732         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
3733         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
3734
3735 2010-12-19  Bruno Haible  <bruno@clisp.org>
3736
3737         fseeko: Add missing declaration on OSF/1 5.1.
3738         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
3739         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
3740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
3741         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
3742         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
3743
3744 2010-12-19  Bruno Haible  <bruno@clisp.org>
3745
3746         fchdir: Add missing declaration on OSF/1 5.1.
3747         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
3748         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
3749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
3750         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
3751         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
3752
3753 2010-12-19  Bruno Haible  <bruno@clisp.org>
3754
3755         relocatable-prog-wrapper: Separate from relocatable-prog.
3756         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
3757         uninstall-relocwrapper rule here.
3758         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
3759         Reported by Ian Beckwith <ianb@erislabs.net>.
3760
3761 2010-12-19  Bruno Haible  <bruno@clisp.org>
3762
3763         unistr/u8-mbsnlen: Add missing dependency.
3764         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
3765         Reported by Ian Beckwith <ianb@erislabs.net>.
3766
3767 2010-12-19  Bruno Haible  <bruno@clisp.org>
3768
3769         iconv: Make it possible again to use this module without 'iconv-h'.
3770         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
3771         if it is not defined.
3772         Reported by Ian Beckwith <ianb@erislabs.net>.
3773
3774 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3775
3776         acl: port to Solaris 8 when copying from tmpfs to ufs
3777         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
3778         error number.  Problem observed on Solaris 8 with latest
3779         coreutils, with "mv A B", where A is on a tmpfs file system and B
3780         is on a ufs file system.  This caused coreutils' mv/part-symlink
3781         test to fail.
3782
3783         tests: set fail=0 at start
3784         * tests/init.sh (setup_): Move fail=0 initialization here ...
3785         (mktempd_): ... from here, so that tests can rely on fail being
3786         set to 0 initially.  This fixes a problem in coreutils; see:
3787         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
3788
3789 2010-12-18  Bruno Haible  <bruno@clisp.org>
3790
3791         memmem-simple: Stylistic changes.
3792         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
3793         Fix preprocessor directive indentation.
3794
3795 2010-12-15  Pádraig Brady <P@draigBrady.com>
3796
3797         memmem, memmem-simple: reorganize and expand empty needle check
3798         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
3799         functional checks to memmem-simple so that one has a fully functional
3800         memmem by using just this module.
3801         Restrict the performance only check to the memmem module.
3802         Also expand the empty needle check to ensure the correct
3803         pointer is returned, not just a non NULL pointer.
3804         * doc/glibc-functions/memmem.texi: Rearrange the portability
3805         documentation to correlate with the rearranged checks.
3806         Clarify exactly how the memmem and memmem-simple modules
3807         relate to each other.
3808
3809 2010-12-15  Pádraig Brady <P@draigBrady.com>
3810             Bruno Haible  <bruno@clisp.org>
3811
3812         Improve cross-compilation guesses for uClibc.
3813         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
3814         that uClibc does not have the glibc bug.
3815         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
3816         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
3817
3818 2010-12-14  Eric Blake  <eblake@redhat.com>
3819
3820         configmake: provide fallbacks for oldest supported autotools
3821         * m4/configmake.m4: New file.
3822         * modules/configmake (Files): Ship it.
3823         (configure.ac): Use it to guarantee fallbacks.
3824
3825 2010-12-13  Pádraig Brady <P@draigBrady.com>
3826
3827         read-file: Improve handling of large files
3828         * lib/read-file.c (fread_file): Minimize realloc()s
3829         for regular files, and better manage sizes around SIZE_MAX.
3830
3831 2010-12-13  Eric Blake  <eblake@redhat.com>
3832
3833         cloexec, fcntl: relax license
3834         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
3835         consent from all contributors.
3836         * modules/fcntl (License): Likewise.
3837
3838 2010-12-10  Bruno Haible  <bruno@clisp.org>
3839
3840         Tests for module 'pipe-posix'.
3841         * modules/pipe-posix-tests: New file.
3842         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
3843
3844 2010-12-10  Bruno Haible  <bruno@clisp.org>
3845
3846         pipe-posix: Make it work in C++ mode.
3847         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
3848         (pipe): Use common idiom, not a macro definition.
3849         * lib/pipe.c: New file.
3850         * m4/pipe.m4: New file.
3851         * modules/pipe-posix (Description): Enhance.
3852         (Files): Add lib/pipe.c, m4/pipe.m4.
3853         (configure.ac): Invoke gl_FUNC_PIPE.
3854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
3855         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
3856         * tests/test-unistd-c++.cc: Check the signature of pipe.
3857
3858 2010-12-10  Bruno Haible  <bruno@clisp.org>
3859
3860         Rename module 'pipe' to 'spawn-pipe'.
3861         * modules/spawn-pipe: New file, renamed from modules/pipe.
3862         (Files, configure.ac, Makefile.am): Update.
3863         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
3864         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
3865         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
3866         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
3867         "spawn-pipe.h" instead of "pipe.h".
3868         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
3869         to gl_SPAWN_PIPE.
3870         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
3871         (Files, Makefile.am): Update.
3872         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
3873         Update.
3874         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
3875         Include "spawn-pipe.h" instead of "pipe.h".
3876         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
3877         * lib/javacomp.c: Likewise.
3878         * lib/javaversion.c: Likewise.
3879         * lib/pipe-filter-gi.c: Likewise.
3880         * lib/pipe-filter-ii.c: Likewise.
3881         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
3882         * modules/javacomp (Depends-on): Likewise.
3883         * modules/javaversion (Depends-on): Likewise.
3884         * modules/pipe-filter-gi (Depends-on): Likewise.
3885         * modules/pipe-filter-ii (Depends-on): Likewise.
3886         * MODULES.html.sh (Executing programs): Update.
3887         * NEWS: Mention the change.
3888
3889 2010-12-10  Eric Blake  <eblake@redhat.com>
3890
3891         pipe-posix: new module
3892         * modules/pipe-posix: New file.
3893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
3894         (gl_UNISTD_H): Check for declaration.
3895         * modules/unistd (Makefile.am): Substitute it.
3896         * lib/unistd.in.h (pipe): Provide it for mingw.
3897         * doc/posix-functions/pipe.texi (pipe): Update documentation.
3898         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
3899
3900 2010-12-07  Bruno Haible  <bruno@clisp.org>
3901
3902         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
3903         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
3904         u8_strcmp_gnu.
3905         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
3906
3907 2010-12-06  Bruno Haible  <bruno@clisp.org>
3908
3909         Update internal documentation.
3910         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
3911
3912 2010-12-04  Bruno Haible  <bruno@clisp.org>
3913
3914         Put more information about failed tests into the test return codes.
3915         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
3916         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
3917         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
3918         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3919         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3920         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
3921         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
3922         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
3923         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
3924         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3925         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
3926         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
3927         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3928         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3929         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
3930         returns a bit mask.
3931         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
3932         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
3933         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
3934         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
3935         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3936         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
3937         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
3938         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
3939         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
3940         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
3941         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
3942         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
3943         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
3944         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
3945         * m4/link.m4 (gl_FUNC_LINK): Likewise.
3946         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3947         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
3948         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
3949         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
3950         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
3951         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
3952         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
3953         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
3954         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3955         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
3956         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3957         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
3958         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
3959         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
3960         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
3961         gl_PRINTF_PRECISION): Likewise.
3962         * m4/regex.m4 (gl_REGEX): Likewise.
3963         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3964         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3965         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
3966         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3967         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
3968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
3969         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
3970         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
3971         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
3972         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3973         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
3974         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
3975         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3976         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
3977         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3978         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3979         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
3980         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
3981         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3982         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
3983         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
3984         enumerated value.
3985         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
3986
3987 2010-12-04  Bruno Haible  <bruno@clisp.org>
3988
3989         Update for Solaris 11 2010-11.
3990         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
3991         Express, released in November 2010.
3992
3993 2010-12-04  Bruno Haible  <bruno@clisp.org>
3994
3995         nproc: Relax license.
3996         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
3997         and Paul Eggert.
3998         Requested by Ludovic Courtès <ludo@gnu.org>.
3999
4000 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
4001
4002         utimecmp: fine-grained src to nearby coarse-grained dest
4003
4004         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
4005         and the source is on a file system with higher-resolution time
4006         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
4007         not work, and the time stamps are close together, the algorithm to
4008         determine the exact resolution from the read-back mtime was buggy:
4009         it had a "!=" where it should have had an "==".  This bug has been
4010         in the code ever since it was introduced to gnulib.
4011         Problem reported by Dan Jacobson in
4012         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
4013
4014 2010-11-30  Bruno Haible  <bruno@clisp.org>
4015
4016         strerror_r-posix: Fix autoconf test.
4017         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
4018
4019 2010-11-28  Bruno Haible  <bruno@clisp.org>
4020             Paul Eggert  <eggert@cs.ucla.edu>
4021
4022         Tests for module 'getdomainname'.
4023         * modules/getdomainname-tests: New file.
4024         * tests/test-getdomainname.c: New file, based on
4025         tests/test-gethostname.c.
4026
4027 2010-11-28  Bruno Haible  <bruno@clisp.org>
4028             Paul Eggert  <eggert@cs.ucla.edu>
4029
4030         getdomainname: Use the system function when possible.
4031         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
4032         (getdomainname): Replace if needed. Provide the declaration if it is
4033         missing. Don't use _GL_CXXALIAS_SYS_CAST.
4034         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
4035         (getdomainname): When the system has getdomainname, call the system
4036         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
4037         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
4038         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
4039         found in libnsl. Look for the declaration also in <netdb.h>. Replace
4040         the function if its second argument is of type 'int' or if it is found
4041         in libnsl.
4042         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
4043         <sys/systeminfo.h> and sysinfo().
4044         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
4045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4046         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
4047         HAVE_GETDOMAINNAME.
4048         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
4049         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
4050         * doc/glibc-functions/getdomainname.texi: Document the problems with
4051         the getdomainname declaration.
4052
4053 2010-11-28  Bruno Haible  <bruno@clisp.org>
4054
4055         sys_socket: Ensure ss_family field on AIX.
4056         * lib/sys_socket.in.h (ss_family): New macro definition.
4057         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
4058         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
4059         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
4060         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
4061         * modules/sys_socket (Makefile.am): Substitute
4062         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
4063         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
4064
4065 2010-11-27  Bruno Haible  <bruno@clisp.org>
4066
4067         readline: Improve configure output.
4068         * m4/readline.m4 (gl_FUNC_READLINE): Make the
4069         "checking for readline..." result understandable.
4070
4071 2010-11-27  Bruno Haible  <bruno@clisp.org>
4072
4073         *printf-posix: Detect a bug on Solaris 10/x86.
4074         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
4075         for floating-point output.
4076         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
4077         directive.
4078         * tests/test-snprintf-posix.h (test_function): Likewise.
4079         * tests/test-sprintf-posix.h (test_function): Likewise.
4080         * tests/test-vasprintf-posix.c (test_function): Likewise.
4081         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
4082         * doc/posix-functions/printf.texi: Likewise.
4083         * doc/posix-functions/snprintf.texi: Likewise.
4084         * doc/posix-functions/sprintf.texi: Likewise.
4085         * doc/posix-functions/vfprintf.texi: Likewise.
4086         * doc/posix-functions/vprintf.texi: Likewise.
4087         * doc/posix-functions/vsnprintf.texi: Likewise.
4088         * doc/posix-functions/vsprintf.texi: Likewise.
4089         * doc/glibc-functions/obstack_printf.texi: Likewise.
4090         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4091
4092 2010-11-27  Bruno Haible  <bruno@clisp.org>
4093
4094         Fix link error when module libunistring-optional is in use.
4095         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
4096         * modules/striconveha-tests (Makefile.am): Likewise.
4097
4098 2010-11-27  Bruno Haible  <bruno@clisp.org>
4099
4100         regex: Mention link dependencies.
4101         * modules/regex (Link): New section.
4102         * modules/rpmatch (Link): Likewise.
4103         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
4104
4105 2010-11-27  Bruno Haible  <bruno@clisp.org>
4106
4107         ftoastr: Fix compilation error on Solaris.
4108         * lib/ftoastr.c: Include <config.h>.
4109
4110 2010-11-27  Bruno Haible  <bruno@clisp.org>
4111
4112         getloadavg: Update documentation.
4113         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
4114
4115 2010-11-27  Bruno Haible  <bruno@clisp.org>
4116
4117         sys_socket: Fix test whether the functions are declared.
4118         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
4119         not <sys/select.h>.
4120
4121 2010-11-27  Bruno Haible  <bruno@clisp.org>
4122
4123         getpass: Make sure to get system declaration on some platforms.
4124         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
4125         gl_USE_SYSTEM_EXTENSIONS.
4126         * modules/getpass (Depends-on): Add extensions.
4127
4128 2010-11-26  Bruno Haible  <bruno@clisp.org>
4129
4130         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
4131         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
4132         'iconv' module is present.
4133         (ICONV_CONST): New macro.
4134         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
4135         ICONV_CONST.
4136         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
4137         set ICONV_CONST.
4138         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
4139         here.
4140         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
4141         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
4142         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
4143         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
4144         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
4145         present.
4146
4147 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
4148
4149         ftoastr: comment fix
4150         * lib/ftoastr.c: "little" -> "little or no" in comment
4151
4152 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4153
4154         stdint: port to GCC 4.3 + OSX + Octave
4155         On this platform, stdint.h is buggy and defines int64_t to long
4156         long int.  The replacement defined it to long int, causing
4157         problems with C++ style name mangling.  Instead, trust the system
4158         definition if INT64_MAX is defined, and likewise for the unsigned
4159         variant.   Problem reported by Jarno Rajahalme in
4160         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
4161         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
4162         and don't mess with int64_t and INT64_MAX in this case.
4163         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
4164
4165 2010-11-24  Bruno Haible  <bruno@clisp.org>
4166
4167         doc: Corrections regarding MacOS X 10.4 and 10.5.
4168         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
4169         MacOS X.
4170         Reported by Simon Josefsson.
4171
4172 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
4173
4174         Uninstall ".bin" files installed by relocwrapper.
4175         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
4176         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
4177         unless it is already there.
4178
4179 2010-11-21  Bruno Haible  <bruno@clisp.org>
4180
4181         Update for NetBSD 5.0.
4182         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
4183         NetBSD; the test fails on NetBSD 5.0.
4184         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
4185         about NetBSD.
4186
4187 2010-11-21  Bruno Haible  <bruno@clisp.org>
4188
4189         Update for HP-UX 11.23 and HP-UX 11.31.
4190         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
4191         HP-UX.
4192
4193 2010-11-21  Bruno Haible  <bruno@clisp.org>
4194
4195         Update for MacOS X 10.5.
4196         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
4197         MacOS X; the test fails on MacOS X 10.5.8.
4198         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
4199         about MacOS X.
4200
4201 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
4202
4203         bootstrap: add bootstrap_sync option.
4204         See discussion at
4205         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
4206         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
4207         * build-aux/bootstrap: Accept --bootstrap-sync to update
4208         bootstrap if it is not identical to the local gnulib's
4209         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
4210         enable this by default.  Accept --no-bootstrap-sync to disable
4211         it.
4212
4213 2010-11-20  Bruno Haible  <bruno@clisp.org>
4214
4215         Ensure that <features.h> is included before __GLIBC__ is tested.
4216         * lib/printf-parse.h: Include <features.h>.
4217         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
4218         Reported by Mike Frysinger <vapier@gentoo.org>.
4219
4220         Ensure that <features.h> is included before __GLIBC__ is tested.
4221         * lib/wchar.in.h: Include <features.h>.
4222         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
4223         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
4224         Reported by Mike Frysinger <vapier@gentoo.org>.
4225
4226         Ensure that <features.h> is included before __GLIBC__ is tested.
4227         * lib/arpa_inet.in.h: Include <features.h>.
4228         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
4229         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
4230         Reported by Mike Frysinger <vapier@gentoo.org>.
4231
4232         Ensure that <features.h> is included before __GLIBC__ is tested.
4233         * build-aux/link-warning.h: Include <features.h>.
4234         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
4235         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
4236         Reported by Mike Frysinger <vapier@gentoo.org>.
4237
4238         Ensure that <features.h> is included before __GLIBC__ is tested.
4239         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
4240         Reported by Mike Frysinger <vapier@gentoo.org>.
4241
4242 2010-11-20  Bruno Haible  <bruno@clisp.org>
4243
4244         memmem: Fix autoconf test.
4245         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
4246
4247 2010-11-20  Bruno Haible  <bruno@clisp.org>
4248
4249         Port to uClibc.
4250         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
4251         * lib/fcntl.in.h: Likewise.
4252         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
4253         * lib/mbrtowc.c (mbrtowc): Likewise.
4254         * lib/relocatable.c (find_shared_library_fullname): Likewise.
4255         * lib/strerror_r.c: Likewise.
4256         * lib/unistr/u8-strnlen.c: Likewise.
4257         * lib/vasnprintf.c (decimal_point_char): Likewise.
4258         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4259         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
4260         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
4261         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
4262         * tests/test-sigaction.c (handler, main): Likewise.
4263         * lib/freading.h: Treat uClibc like a non-glibc platform.
4264         * lib/freading.c: Likewise.
4265         * lib/gettext.h: Likewise.
4266         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
4267         Likewise.
4268         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
4269         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
4270         * lib/propername.c (proper_name_utf8): Likewise.
4271         * lib/spawn.in.h: Likewise.
4272         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
4273         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
4274         mem_cd_iconveh_internal): Likewise.
4275         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
4276         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4277         strstr, strcasestr): Likewise.
4278         * lib/unicodeio.c (unicode_to_mb): Likewise.
4279         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
4280         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
4281         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
4282         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
4283         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
4284         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
4285         * lib/unistr/u8-stpncpy.c: Likewise.
4286         * lib/vasnprintf.c (VASNPRINTF): Likewise.
4287         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
4288         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
4289         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4290         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
4291         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
4292         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
4293         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
4294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
4295         Likewise.
4296         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
4297         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4298         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4299         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4300         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
4301         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4302         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4303         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4304         * tests/test-getopt.h (OPTIND_MIN): Likewise.
4305         * tests/test-striconveha.c (main): Likewise.
4306         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4307         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
4308         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
4309         * doc/posix-functions/getline.texi: Likewise.
4310         Reported by Mike Frysinger <vapier@gentoo.org>.
4311
4312 2010-11-20  Bruno Haible  <bruno@clisp.org>
4313
4314         nproc: Fix condition.
4315         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
4316         HAVE_PTHREAD_AFFINITY_NP.
4317
4318 2010-11-20  Bruno Haible  <bruno@clisp.org>
4319
4320         Fix a comment.
4321         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
4322
4323 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4324
4325         ftoastr: don't assume snprintf
4326         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
4327         Implement a subset of snprintf here, by using sprintf safely.
4328         * modules/ftoastr (Depends-on): Remove snprintf.
4329
4330 2010-11-19  Jim Meyering  <meyering@redhat.com>
4331
4332         test-rename.h: fix compilation failure
4333         * tests/test-rename.h (test_rename): Add omitted "}".
4334
4335 2010-11-17  Jim Meyering  <meyering@redhat.com>
4336
4337         maint.mk: add a URL discussing the no-@acronym policy
4338         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
4339
4340 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4341
4342         ftoastr: depend on snprintf, improve comments
4343         * lib/ftoastr.c: Also mention Loitsch's draft.
4344         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
4345         needed in the current implementation, but it might simplify
4346         speeding up the code later.
4347         * modules/ftoastr: Depend on snprintf; this improves portability.
4348         Suggested by Bruno Haible in the same email.
4349
4350         ftoastr: port to hosts lacking strtof and strtold
4351         Problem reported by Bruno Haible in
4352         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
4353         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
4354         environment and strtold (and presumably strtof) are not available.
4355         * modules/ftoastr (Files): Add m4/c-strtod.m4.
4356         (configure.ac): Require gl_C99_STRTOLD.
4357
4358 2010-11-18  Bruno Haible  <bruno@clisp.org>
4359
4360         c-strtold: Avoid link error on AIX 7.
4361         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
4362         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
4363         (gl_C_STRTOLD): Test whether strtold_l exists.
4364         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4365
4366 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4367
4368         intprops: new macro INT_BITS_STRLEN_BOUND
4369         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
4370         ftoastr.h.  This exposes an internal of intprops.h that was formerly
4371         not exposed.  Also, it uses a slightly tighter bound than before;
4372         though this makes no practical difference, we might as well be as
4373         tight as we easily can.
4374
4375         ftoastr: new module, for lossless conversion of floats to short strings
4376         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
4377         * modules/ftoastr: New files.
4378
4379 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
4380
4381         bootstrap: port to Solaris sed
4382         * build-aux/bootstrap (get_version): Port to Solaris sed.
4383         See Ralf Wildenhues's note in
4384         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
4385
4386 2010-11-14  Jim Meyering  <meyering@redhat.com>
4387
4388         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
4389         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
4390         and move definition closer to sole use.
4391
4392 2010-11-13  Jim Meyering  <meyering@redhat.com>
4393
4394         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
4395         Now we require at least autoconf-2.59, which means the work-around
4396         is no longer needed.
4397         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
4398         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4399         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4400         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
4401         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4402
4403 2010-11-13  Bruno Haible  <bruno@clisp.org>
4404
4405         rename, renameat: Avoid test failures at NFS mounted locations.
4406         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
4407         functions.
4408         (test_rename): Use assert_nonexistent.
4409         * tests/test-rename.c: Include <dirent.h>.
4410         * tests/test-renameat.c: Likewise.
4411         Reported by Gary V. Vaughan <gary@gnu.org>.
4412
4413         rename, renameat: Document Linux bug with NFS
4414         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
4415         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
4416         * doc/posix-functions/renameat.texi: Likewise.
4417         Suggested by Eric Blake.
4418
4419 2010-11-13  Bruno Haible  <bruno@clisp.org>
4420
4421         rename test: Add comments.
4422         * tests/test-rename.h (test_rename): Add structure and comments.
4423
4424 2010-11-13  Eric Blake  <eblake@redhat.com>
4425
4426         maintainer-makefile: cover a few more files
4427         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
4428         scripts generated within C files, for libvirt.
4429
4430 2010-11-13  Bruno Haible  <bruno@clisp.org>
4431
4432         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
4433         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
4434         character, return the number of bytes that belong together, not always
4435         1.
4436         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
4437         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
4438         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
4439         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
4440         number of bytes of an invalid character.
4441         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
4442         (main): Invoke it.
4443         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
4444         results.
4445         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
4446         malformed byte sequences.
4447         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
4448         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
4449         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
4450         Reported by Ben Pfaff and Paolo Bonzini.
4451
4452 2010-11-13  Bruno Haible  <bruno@clisp.org>
4453
4454         openat: Work around glibc bug with fchownat() and empty file names.
4455         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
4456         (gl_FUNC_FCHOWNAT): Invoke it.
4457         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
4458         * doc/posix-functions/fchownat.texi: Document the glibc bug.
4459         Reported by Gary V. Vaughan <gary@gnu.org>.
4460
4461 2010-11-13  Bruno Haible  <bruno@clisp.org>
4462
4463         openat: Ensure autoconf macro ordering.
4464         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
4465         gl_USE_SYSTEM_EXTENSIONS.
4466         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
4467
4468 2010-11-13  Bruno Haible  <bruno@clisp.org>
4469
4470         Update comments.
4471         * lib/unistr/u8-check.c: Update file name in comments.
4472         * lib/unistr/u8-mblen.c: Likewise.
4473         * lib/unistr/u8-prev.c: Likewise.
4474         * lib/unistr/u8-strmblen.c: Likewise.
4475         * lib/unistr/u8-strmbtouc.c: Likewise.
4476
4477 2010-11-13  Jim Meyering  <meyering@redhat.com>
4478
4479         tests: avoid test failure on Solaris 10 due to lack of PATH export
4480         * tests/test-update-copyright.sh: Don't forget to export PATH.
4481
4482         init.sh: ensure that IFS is defined, just in case...
4483         * tests/init.sh (setup_): Ensure that IFS is defined,
4484         so that saving and restoring it works as expected.  This
4485         appears to be useful at least for an old version of dash
4486         from a long time ago (RH 6).  See here for details:
4487         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
4488
4489         maint.mk: tighten "test a == b" check
4490         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
4491         test to files that contain something like #!/bin/sh.
4492         Without this, coreutils would get two false positives in
4493         the comments of C source files.
4494
4495 2010-11-12  Eric Blake  <eblake@redhat.com>
4496
4497         bootstrap: fix typo in previous attempt
4498         * build-aux/bootstrap (buildreq): Correct the grouping.
4499         Reported by Paul Eggert.
4500
4501         maintainer-makefile: prohibit test x == x
4502         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
4503         Based on a report by Matthias Bolte.
4504
4505         bootstrap: allow FreeBSD gzip
4506         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
4507         which has no '.' and goes to stderr.
4508         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
4509         Reported by Matthias Bolte.
4510
4511         maintainer-makefile: check for i18n setup
4512         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
4513         will likely work.
4514
4515 2010-11-12  Bruno Haible  <bruno@clisp.org>
4516
4517         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
4518         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
4519         * lib/nanosleep.c (nanosleep): Likewise.
4520
4521 2010-11-11  Bruno Haible  <bruno@clisp.org>
4522
4523         fcntl-h: Fix for use of C++ on glibc systems.
4524         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4525         also on glibc systems in C++ mode.
4526         Reported by Gary V. Vaughan <gary@gnu.org>.
4527
4528 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
4529
4530         mknod: avoid false failure with dash
4531         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
4532
4533 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4534
4535         unlink: Fix "is it should" typo in diagnostic.
4536         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
4537         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
4538
4539 2010-11-11  Bruno Haible  <bruno@clisp.org>
4540
4541         Tests for module 'strerror_r-posix'.
4542         * modules/strerror_r-posix-tests: New file.
4543         * tests/test-strerror_r.c: New file.
4544         * tests/test-string-c++.cc: Check the signature of strerror_r.
4545
4546         New module 'strerror_r-posix'.
4547         * lib/string.in.h (strerror_r): New declaration.
4548         * lib/strerror_r.c: New file.
4549         * m4/strerror_r.m4: New file.
4550         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
4551         of strerror_r.
4552         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
4553         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
4554         * modules/strerror_r-posix: New file.
4555         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
4556         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
4557         * doc/posix-functions/strerror_r.texi: Mention the new module and the
4558         portability problems.
4559
4560 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
4561
4562         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
4563         line is also considered for output. Quoted function name in shell
4564         command, so temporary files for functions like MyClass::operator()
4565         are removed correctly without errors.
4566
4567 2010-11-09  Bruno Haible  <bruno@clisp.org>
4568
4569         * doc/posix-functions/strerror.texi: List more failing platforms.
4570
4571         * doc/posix-functions/strerror.texi: Add a comment.
4572
4573 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4574
4575         fdopendir: fix bug on MacOS X when low on file descriptors
4576
4577         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
4578         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
4579         All callers changed.
4580         (fdopendir): Invoke save_cwd at the top level, not after using
4581         multiple dup() calls to use up file descriptors.  Then retry
4582         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
4583         less than the maximum number of open file descriptors, because
4584         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
4585         on Mac OS X 10.6.4 for tar 1.24
4586         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
4587         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
4588         and for tar 1.25
4589         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
4590
4591 2010-11-07  Bruno Haible  <bruno@clisp.org>
4592
4593         vasnprintf: Support I flag on glibc systems.
4594         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
4595         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
4596         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
4597         snprintf function.
4598         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
4599         glibc systems.
4600         * tests/test-vasnprintf-posix3.c: New file.
4601         * modules/vasnprintf-posix-tests (Files): Add it.
4602         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
4603
4604 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
4605
4606         [html] Fix copy/paste bug: Use unique name for compiler warnings.
4607         * MODULES.html.sh: For compiler warnings, use name
4608         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
4609
4610 2010-11-05  Eric Blake  <eblake@redhat.com>
4611
4612         ceil, floor: avoid spurious failure with icc
4613         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
4614         [denormals-as-zero] when optimizing without -mieee-fp option.
4615         * tests/test-floorf2.c (floorf_reference): Likewise.
4616         * tests/test-ceilf1.c (dummy): New function.
4617         (main): Use it to outsmart icc's optimization.
4618         * tests/test-floorf1.c (dummy, main): Likewise.
4619
4620         tests: require working signbit
4621         * modules/ceilf-tests (Depends-on): Add signbit.
4622         * modules/ceill-tests (Depends-on): Likewise.
4623         * modules/floorf-tests (Depends-on): Likewise.
4624         * modules/floorl-tests (Depends-on): Likewise.
4625         * modules/round-tests (Depends-on): Likewise.
4626         * modules/roundf-tests (Depends-on): Likewise.
4627         * modules/roundl-tests (Depends-on): Likewise.
4628         * modules/trunc-tests (Depends-on): Likewise.
4629         * modules/truncf-tests (Depends-on): Likewise.
4630         * modules/truncl-tests (Depends-on): Likewise.
4631
4632         strtod: work around icc bug
4633         * lib/strtod.c (minus_zero): Define to working value.
4634         (strtod): Use it to avoid icc bug.
4635
4636         copysign: enhance tests
4637         * modules/copysign-tests (Files): Add minus-zero.h.
4638         * tests/test-copysign.c (main): Also test zeros.
4639
4640 2010-11-04  Eric Blake  <eblake@redhat.com>
4641
4642         ceil, floor, round, trunc: enhance tests of -0
4643         * tests/test-ceilf1.c (main): Ensure correct sign of result.
4644         * tests/test-ceill.c (main): Likewise.
4645         * tests/test-floorf1.c (main): Likewise.
4646         * tests/test-floorl.c (main): Likewise.
4647         * tests/test-round1.c (main): Likewise.
4648         * tests/test-roundf1.c (main): Likewise.
4649         * tests/test-roundl.c (main): Likewise.
4650         * tests/test-trunc1.c (main): Likewise.
4651         * tests/test-truncf1.c (main): Likewise.
4652         * tests/test-truncl.c (main): Likewise.
4653
4654 2010-11-04  Eric Blake  <eblake@redhat.com>
4655
4656         frexp, tests: work around ICC bug with -zero
4657         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
4658         works with more compilers.
4659         * tests/minus-zero.h: New file.
4660         * modules/ceilf-tests (Files): Include it.
4661         * modules/ceill-tests (Files): Likewise.
4662         * modules/floorf-tests (Files): Likewise.
4663         * modules/floorl-tests (Files): Likewise.
4664         * modules/frexp-nolibm-tests (Files): Likewise.
4665         * modules/frexp-tests (Files): Likewise.
4666         * modules/frexpl-nolibm-tests (Files): Likewise.
4667         * modules/frexpl-tests (Files): Likewise.
4668         * modules/isnan-tests (Files): Likewise.
4669         * modules/isnand-nolibm-tests (Files): Likewise.
4670         * modules/isnand-tests (Files): Likewise.
4671         * modules/isnanf-nolibm-tests (Files): Likewise.
4672         * modules/isnanf-tests (Files): Likewise.
4673         * modules/isnanl-nolibm-tests (Files): Likewise.
4674         * modules/isnanl-tests (Files): Likewise.
4675         * modules/round-tests (Files): Likewise.
4676         * modules/roundf-tests (Files): Likewise.
4677         * modules/roundl-tests (Files): Likewise.
4678         * modules/ldexpl-tests (Files): Likewise.
4679         * modules/signbit-tests (Files): Likewise.
4680         * modules/snprintf-posix-tests (Files): Likewise.
4681         * modules/sprintf-posix-tests (Files): Likewise.
4682         * modules/strtod-tests (Files): Likewise.
4683         * modules/trunc-tests (Files): Likewise.
4684         * modules/truncf-tests (Files): Likewise.
4685         * modules/truncl-tests (Files): Likewise.
4686         * modules/vsnprintf-posix-tests (Files): Likewise.
4687         * modules/vsprintf-posix-tests (Files): Likewise.
4688         * modules/vasnprintf-posix-tests (Files): Likewise.
4689         * modules/vasprintf-posix-tests (Files): Likewise.
4690         * tests/test-ceilf1.c (main): Use it.
4691         * tests/test-ceill.c (main): Likewise.
4692         * tests/test-floorf1.c (main): Likewise.
4693         * tests/test-floorl.c (main): Likewise.
4694         * tests/test-frexp.c (main): Likewise.
4695         * tests/test-frexpl.c (main): Likewise.
4696         * tests/test-isnan.c (main): Likewise.
4697         * tests/test-isnand.h (main): Likewise.
4698         * tests/test-isnanf.h (main): Likewise.
4699         * tests/test-isnanl.h (main): Likewise.
4700         * tests/test-ldexpl.c (main): Likewise.
4701         * tests/test-round.c (main): Likewise.
4702         * tests/test-roundf.c (main): Likewise.
4703         * tests/test-roundl.c (main): Likewise.
4704         * tests/test-signbit.c (test_signbitf, test_signbitd)
4705         (test_signbitl): Likewise.
4706         * tests/test-snprintf-posix.h (test_function): Likewise.
4707         * tests/test-sprintf-posix.h (test_function): Likewise.
4708         * tests/test-strtod.c (main): Likewise.
4709         * tests/test-trunc1.c (main): Likewise.
4710         * tests/test-truncf1.c (main): Likewise.
4711         * tests/test-truncl.c (main): Likewise.
4712
4713         isnanl: work around icc bug
4714         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
4715
4716 2010-11-03  Eric Blake  <eblake@redhat.com>
4717
4718         tests: fix compiler warnings
4719         * tests/test-getopt.h (test_getopt): Fix condition.
4720         * tests/test-getopt_long.h (test_getopt_long): Likewise.
4721         * tests/test-pipe2.c (main): Likewise.
4722         * tests/test-quotearg-simple.c (main): Avoid icc warning.
4723
4724         utimens: fix broken m4 test
4725         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
4726
4727 2010-10-28  Bruno Haible  <bruno@clisp.org>
4728
4729         posix_spawn*, getdtablesize: Relax license.
4730         * modules/posix_spawn (License): Change to LGPLv2+.
4731         * modules/posix_spawnp (License): Likewise.
4732         * modules/posix_spawn-internal (License): Likewise.
4733         * modules/posix_spawnattr_init (License): Likewise.
4734         * modules/posix_spawnattr_getflags (License): Likewise.
4735         * modules/posix_spawnattr_setflags (License): Likewise.
4736         * modules/posix_spawnattr_getpgroup (License): Likewise.
4737         * modules/posix_spawnattr_setpgroup (License): Likewise.
4738         * modules/posix_spawnattr_getschedparam (License): Likewise.
4739         * modules/posix_spawnattr_setschedparam (License): Likewise.
4740         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
4741         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
4742         * modules/posix_spawnattr_getsigdefault (License): Likewise.
4743         * modules/posix_spawnattr_setsigdefault (License): Likewise.
4744         * modules/posix_spawnattr_getsigmask (License): Likewise.
4745         * modules/posix_spawnattr_setsigmask (License): Likewise.
4746         * modules/posix_spawnattr_destroy (License): Likewise.
4747         * modules/posix_spawn_file_actions_init (License): Likewise.
4748         * modules/posix_spawn_file_actions_addclose (License): Likewise.
4749         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
4750         * modules/posix_spawn_file_actions_addopen (License): Likewise.
4751         * modules/posix_spawn_file_actions_destroy (License): Likewise.
4752         * modules/getdtablesize (License): Likewise.
4753         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
4754
4755 2010-10-26  Bruno Haible  <bruno@clisp.org>
4756
4757         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
4758         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
4759         Cygwin and mingw.
4760         Suggested by Eric Blake.
4761
4762 2010-10-26  Bruno Haible  <bruno@clisp.org>
4763
4764         stdio: Work around compilation error due to renameat() on Solaris 10.
4765         * lib/stdio.in.h: Include <unistd.h> on Solaris.
4766         * lib/renameat.c: Don't include <unistd.h> here.
4767         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
4768         Reported by Paul Eggert and Eric Blake.
4769
4770 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4771
4772         renameat: port to Solaris 10, which declares renameat in unistd.h
4773
4774         * lib/renameat.c: Include unistd.h before stdio.h, because
4775         Solaris 10 declares renameat in unistd.h.  Problem encountered
4776         when building GNU tar 1.24 on Solaris 10.
4777
4778 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
4779
4780         fdopendir: fix C89 compilation
4781         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
4782         compilers.
4783
4784 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
4785
4786         inttostr: simplify by removing unnecessary redundancy
4787         * lib/anytostr.c: Don't include verify.h.
4788         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
4789         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
4790         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
4791         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
4792         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
4793         Likewise.
4794         * modules/inttostr (Depends-on): Remove 'verify'.
4795
4796 2010-10-23  Bruno Haible  <bruno@clisp.org>
4797
4798         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
4799         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
4800         Reported by Eric Blake.
4801
4802 2010-10-23  Bruno Haible  <bruno@clisp.org>
4803
4804         Tests: Fix LOCALE_JA on MirBSD 10.
4805         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
4806         to an UTF-8 locale.
4807         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
4808         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4809         Reported by Eric Blake.
4810
4811 2010-10-21  Bruno Haible  <bruno@clisp.org>
4812
4813         nl_langinfo test: Avoid test failure on NetBSD 5.
4814         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
4815         Reported by Eric Blake.
4816
4817 2010-10-21  Eric Blake  <eblake@redhat.com>
4818
4819         c-stack: work around libsigsegv 2.8 bug
4820         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
4821         overflow on at least PowerPC64.
4822
4823 2010-10-17  Bruno Haible  <bruno@clisp.org>
4824
4825         userspec: Drop redundant file.
4826         * modules/userspec (Files): Remove lib/inttostr.h.
4827
4828 2010-10-17  Bruno Haible  <bruno@clisp.org>
4829
4830         nl_langinfo tests: Silence some warnings.
4831         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
4832         Reported by Jim Meyering.
4833
4834 2010-10-17  Bruno Haible  <bruno@clisp.org>
4835
4836         Make use of GCC's attribute __alloc_size__.
4837         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
4838         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
4839         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
4840         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
4841         __alloc_size__.
4842         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
4843         Suggested by Jim Meyering.
4844
4845 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
4846
4847         bootstrap: anchor .gitignore entries.
4848         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
4849         with...
4850         (insert_vc_ignore): ... this new function, which prepends `/' to
4851         all .gitignore entries before passing them to
4852         insert_sorted_if_absent.
4853
4854 2010-10-16  Bruno Haible  <bruno@clisp.org>
4855
4856         nextafter: Fix configure check.
4857         * modules/nextafter (configure.ac): Correct expected prototype.
4858
4859 2010-10-16  Bruno Haible  <bruno@clisp.org>
4860
4861         termios: Update documentation.
4862         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
4863
4864 2010-10-16  Bruno Haible  <bruno@clisp.org>
4865
4866         tests: Make them compile with TinyCC.
4867         * tests/test-strstr.c (main): Remove parentheses around array
4868         initializer.
4869
4870 2010-10-15  Eric Blake  <eblake@redhat.com>
4871
4872         ignore-value: make header idempotent
4873         * lib/ignore-value.h: Add double-inclusion guards.
4874         Reported by Stefan Berger.
4875
4876 2010-10-15  Jim Meyering  <meyering@redhat.com>
4877
4878         GNUmakefile: handle "stable" target, not "major"
4879         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
4880         lists in maint.mk and announce-gen.  Without this, "make stable"
4881         would fail to ensure that $(VERSION) is up to date.
4882
4883 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
4884
4885         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
4886         & co.
4887
4888 2010-10-14  Bruno Haible  <bruno@clisp.org>
4889
4890         vasnprintf: Don't set errno to 0.
4891         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
4892         block that sets it to 0.
4893         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4894
4895 2010-10-14  Bruno Haible  <bruno@clisp.org>
4896
4897         socketlib: Fix.
4898         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
4899         gl_PREREQ_SYS_H_WINSOCK2.
4900         Reported by Ian Beckwith <ianb@erislabs.net>.
4901
4902 2010-10-13  Jim Meyering  <meyering@redhat.com>
4903
4904         test-select-stdin.c: avoid warn_unused_result warnings
4905         * tests/test-select-stdin.c: Include "macros.h".
4906         ASSERT that read and fflush succeed.
4907
4908 2010-10-13  Jim Meyering  <meyering@redhat.com>
4909
4910         git-version-gen: do require git-VC'd files in cwd
4911         * build-aux/git-version-gen: Reject a git version string
4912         if there are no commits associated with the current directory.
4913         This avoids an unlikely false-positive (unrelated dir whose parent
4914         repository also contains a tag matching v*), as pointed out
4915         by Giuseppe Scrivano in
4916         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
4917
4918 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
4919
4920         argv-iter: omit nonconforming declaration
4921         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
4922         enum arg_iter_err declaration, which doesn't conform to C99.
4923         Solaris 10 cc warns about this.
4924
4925 2010-10-13  Eric Blake  <eblake@redhat.com>
4926
4927         termios: fix compilation on mingw
4928         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
4929         (gl_TERMIOS_H): Adjust it on mingw.
4930         * modules/termios (Makefile.am): Substitute new key.
4931         * lib/termios.in.h (includes): Make include_next conditional.
4932         * doc/posix-headers/termios.texi (termios.h): Update
4933         documentation.
4934         Reported by Daniel P. Berrange.
4935
4936 2010-10-13  Jim Meyering  <meyering@redhat.com>
4937
4938         git-version-gen: don't require that .git/ be in the current dir
4939         * build-aux/git-version-gen: Adjust this script so that it works
4940         when run from any working directory beneath the top-level .git/-
4941         containing directory.  Inspired by a patch from Giuseppe Scrivano,
4942         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
4943
4944         test-select: avoid warn_unused_result warnings
4945         * tests/test-select.c: Include "macros.h".
4946         ASSERT that each call to read, write, and pipe succeeds.
4947         While not technically required, also check each "close".
4948         * modules/select-tests (Files): Add tests/macros.h.
4949
4950         test-symlinkat: remove declaration of unused local
4951         * tests/test-symlinkat.c (main): Remove unused local, "buf".
4952
4953         test-inttostr: avoid shadowing warnings
4954         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
4955         and use malloc rather than the stack for the same reason as
4956         mentioned in the comment justifying the other allocation.
4957
4958 2010-10-11  Bruno Haible  <bruno@clisp.org>
4959
4960         stdlib: Allow multiple gnulib generated replacements to coexist.
4961         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
4962         Reported by Sam Steingold <sds@gnu.org>.
4963
4964 2010-10-11  Jim Meyering  <meyering@redhat.com>
4965
4966         fix a documentation typo
4967         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
4968
4969 2010-10-11  Eric Blake  <eblake@redhat.com>
4970
4971         futimens: work around Solaris 11 bug
4972         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
4973         * tests/test-futimens.h (test_futimens): Enhance, rather than
4974         weaken test.
4975         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4976
4977 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4978
4979         Indentation.
4980         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
4981         higher-level operators more to the left.
4982
4983 2010-10-11  Jim Meyering  <meyering@redhat.com>
4984
4985         test-futimens: avoid unwarranted test failure on Solaris 5.11
4986         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
4987         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
4988         because it tries to dereference the NULL name argument.
4989
4990 2010-10-11  Bruno Haible  <bruno@clisp.org>
4991
4992         Indentation.
4993         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
4994         indentation.
4995
4996 2010-10-11  Jim Meyering  <meyering@redhat.com>
4997
4998         spawn.in.h: make indentation consistent with parentheses
4999         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
5000         Make indentation consistent with parentheses.
5001
5002 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
5003
5004         Fix mismatched parens in previous commit
5005         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
5006         parens.
5007
5008 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5009
5010         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
5011
5012         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
5013         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
5014         * lib/malloca.c: Include "verify.h".
5015         (verify1): Remove, replacing with a verify call.
5016         * lib/relocwrapper.c (verify1): Likewise.
5017         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
5018         Likewise.
5019         * modules/malloca (Depends-on): Add 'verify'.
5020         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
5021         * modules/vasnprintf (Depends-on): Add 'verify'.
5022         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
5023         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5024         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5025         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5026         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5027         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5028         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5029
5030         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
5031
5032         Formerly the style was sometimes 2*X - 1, because the C standard
5033         was wrongly thought to disallow ?: in integral constant expressions.
5034         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
5035         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
5036         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5037         * lib/stdint.in.h (_verify_intmax_size): Likewise.
5038         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
5039         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
5040         verify that time_t cannot be floating.
5041
5042 2010-10-08  Eric Blake  <eblake@redhat.com>
5043
5044         time: enforce recent POSIX ruling that time_t is integral
5045         * lib/time.in.h (__time_t_must_be_integral): Detect any
5046         problematic systems, allowing the rest of gnulib to assume POSIX.
5047
5048 2010-10-08  Jim Meyering  <meyering@redhat.com>
5049
5050         fdopendir: fix a bug on systems lacking openat and /proc support
5051         OpenBSD 4.7 is one such system.  The most noticeable effect was
5052         failure of any application making nontrivial use of fts: rm, du,
5053         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
5054           ./rm: traversal failed: `a': Bad file descriptor
5055         Debugging that, you see that even though FD 6 was closed just
5056         prior to the opendir call in fd_clone_opendir, its resulting
5057         dir->dd_fd was 8, rather than the expected value of 6:
5058
5059         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
5060         93                close (fd);
5061         (gdb) n
5062         94                dir = fd_clone_opendir (dupfd);
5063         (gdb) n
5064         95                saved_errno = errno;
5065         (gdb) p dir->dd_fd
5066         $11 = 8
5067
5068         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
5069         The problem is that on OpenBSD, fd_clone_opendir has to resort
5070         to using the old-style save/restore CWD mechanism, due to its
5071         lack of openat/proc support, and *that* would steal the FD (6)
5072         that opendir was supposed to use.
5073
5074         The fix is to squirrel away the desired FD so that save_cwd uses a
5075         different one, and then free the dest FD right before calling opendir.
5076         That guarantees opendir will use the required file descriptor.
5077
5078         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
5079
5080 2010-10-08  Bruno Haible  <bruno@clisp.org>
5081
5082         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
5083         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
5084
5085 2010-10-08  Bruno Haible  <bruno@clisp.org>
5086
5087         nanosleep: Make replacement POSIX compliant.
5088         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
5089         is out of range.
5090         Reported by Jim Meyering.
5091
5092 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5093
5094         bootstrap: add hook for altering gnulib.mk, for Bison
5095         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
5096         the Bison bootstrapping process can rewrite file names and variables
5097         in this file before later parts of 'bootstrap' use the file.
5098         Bison wants to include lib/gnulib.mk from the top-level makefile,
5099         so it needs the file names in this file to be relative to the top
5100         level, not relative to lib; plus it needs variable names to be
5101         rewritten.
5102         (slurp): Use the new function.
5103
5104         bootstrap: reformat for readability
5105         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
5106
5107 2010-10-08  Eric Blake  <eblake@redhat.com>
5108
5109         docs: update cygwin progress
5110         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
5111         1.7.7.
5112         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
5113         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
5114         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
5115         * doc/posix-functions/carg.texi (carg): Likewise.
5116         * doc/posix-functions/cargf.texi (cargf): Likewise.
5117         * doc/posix-functions/casin.texi (casin): Likewise.
5118         * doc/posix-functions/casinf.texi (casinf): Likewise.
5119         * doc/posix-functions/casinh.texi (casinh): Likewise.
5120         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
5121         * doc/posix-functions/catan.texi (catan): Likewise.
5122         * doc/posix-functions/catanf.texi (catanf): Likewise.
5123         * doc/posix-functions/catanh.texi (catanh): Likewise.
5124         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
5125         * doc/posix-functions/ccos.texi (ccos): Likewise.
5126         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
5127         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
5128         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
5129         * doc/posix-functions/cexp.texi (cexp): Likewise.
5130         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
5131         * doc/posix-functions/cimag.texi (cimag): Likewise.
5132         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
5133         * doc/posix-functions/clog.texi (clog): Likewise.
5134         * doc/posix-functions/clogf.texi (clogf): Likewise.
5135         * doc/posix-functions/conj.texi (conj): Likewise.
5136         * doc/posix-functions/conjf.texi (conjf): Likewise.
5137         * doc/posix-functions/cpow.texi (cpow): Likewise.
5138         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
5139         * doc/posix-functions/cproj.texi (cproj): Likewise.
5140         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
5141         * doc/posix-functions/creal.texi (creal): Likewise.
5142         * doc/posix-functions/crealf.texi (crealf): Likewise.
5143         * doc/posix-functions/csin.texi (csin): Likewise.
5144         * doc/posix-functions/csinf.texi (csinf): Likewise.
5145         * doc/posix-functions/csinh.texi (csinh): Likewise.
5146         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
5147         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
5148         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
5149         * doc/posix-functions/ctan.texi (ctan): Likewise.
5150         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
5151         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
5152         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
5153         * doc/posix-headers/complex.texi (complex.h): Likewise.
5154
5155 2010-10-07  Jim Meyering  <meyering@redhat.com>
5156
5157         parse-datetime: avoid compilation failure on OpenBSD 4.7
5158         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
5159         This works around a compilation failure on OpenBSD 4.7:
5160         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
5161
5162 2010-10-07  Eric Blake  <eblake@redhat.com>
5163
5164         docs: update cygwin progress
5165         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
5166         1.7.6.
5167         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
5168         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
5169         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
5170         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
5171         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
5172         Likewise.
5173         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
5174         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
5175         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
5176         Likewise.
5177         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
5178         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
5179         Likewise.
5180         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
5181         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
5182         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
5183         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
5184         Likewise.
5185         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
5186         Likewise.
5187         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
5188
5189         docs: update parse-datetime history
5190         * doc/parse-datetime.texi (Authors of parse_datetime): Better
5191         documentation of this function's history and alternatives.
5192
5193         cygwin: use more robust version check
5194         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
5195         exclude an eventual cygwin 1.9.1.
5196         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
5197         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
5198         (gl_FUNC_STRCASESTR): Likewise.
5199         Reported by Bruno Haible.
5200
5201 2010-10-06  Bruno Haible  <bruno@clisp.org>
5202
5203         string, sys_select: Avoid #including large headers unless necessary.
5204         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
5205         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
5206         OSF/1, BeOS, Haiku.
5207         Reported by Jim Meyering.
5208
5209 2010-10-05  Eric Blake  <eblake@redhat.com>
5210
5211         memmem, strstr, strcasestr: fix bug with long periodic needle
5212         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
5213         periodic needle having false positive.
5214         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
5215         and cygwin 1.7.7.
5216         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
5217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
5218         (gl_FUNC_STRCASESTR): Likewise.
5219         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
5220         * tests/test-memmem.c (main): Expose the bug.
5221         * tests/test-strcasestr.c (main): Likewise.
5222         * tests/test-strstr.c (main): Likewise.
5223         * tests/test-c-strcasestr.c (main): Likewise.
5224         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
5225         * doc/posix-functions/strstr.texi (strstr): Likewise.
5226         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5227         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
5228
5229 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5230
5231         parse-datetime: do some more renaming
5232         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
5233         parse_datetime, not get_date.  Mention the renaming.
5234         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
5235         in comments.
5236         * m4/bison.m4: Likewise.
5237
5238 2010-10-05  Eric Blake  <eblake@redhat.com>
5239
5240         parse-datetime: better name than get_date
5241         * NEWS: Reword the deprecation notice.
5242         * modules/get_date: Rename to modules/parse-datetime.
5243         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
5244         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
5245         * lib/get_date.y: Rename to lib/parse-datetime.y.
5246         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
5247         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
5248         * doc/getdate.texi: Provide fallback wrapper.
5249         * lib/getdate.h: Move guts, and wrap...
5250         * lib/parse-datetime.h: ...new file.
5251         * lib/parse-datetime.y (get_date): Rename...
5252         (parse_datetime): ...to this.
5253         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
5254         (gl_PARSE_DATETIME): ...to this.
5255         * doc/posix-functions/getdate.texi (get_date): Provide fallback
5256         documentation.
5257         * modules/getdate (Files): Provide fallback docs and header.
5258         (Notice, Depends-on): Update references.
5259         * tests/test-parse-datetime.c: Likewise.
5260         * DEPENDENCIES: Likewise.
5261         * MODULES.html.sh (Date and time <time.h>): Likewise.
5262         * doc/parse-datetime.texi (Date input formats)
5263         (Authors of parse_datetime): Likewise.
5264         * modules/parse-datetime (Files, configure.ac, Makefile.am)
5265         (Include): Likewise.
5266         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
5267         * gnulib-tool: Likewise.
5268         * m4/bison.m4 (gl_BISON): Likewise.
5269         Suggested by Bruno Haible.
5270
5271 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5272
5273         more ports to Solaris tr, which needs [] around ranges
5274         * gnulib-tool: Solaris tr needs [] around ranges.
5275         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5276         * tests/test-pipe-filter-gi1.c (main): Likewise.
5277         * tests/test-pipe-filter-ii1.c (main): Likewise.
5278
5279 2010-10-05  Eric Blake  <eblake@redhat.com>
5280
5281         bootstrap: fix Solaris regression
5282         * build-aux/bootstrap (check_versions): Solaris tr still needs []
5283         around ranges.
5284         Reported by Pádraig Brady.
5285
5286         bootstrap: work with pkg-config
5287         * build-aux/bootstrap (check_versions): Also transliterate - in
5288         prerequisite name.
5289         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
5290         prerequisites that were already found, to avoid confusion.
5291         Reported by Justin Clift.
5292
5293         faccessat: remove unused wrappers
5294         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
5295         presence of these wrappers dragged in -lgen on Solaris.
5296         Reported by Clemens Brogi; fix suggested by Paul Eggert.
5297
5298 2010-10-05  Jim Meyering  <meyering@redhat.com>
5299
5300         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
5301         * Makefile (sc_pragma_columns): New syntax-check rule.
5302
5303 2010-10-04  Bruno Haible  <bruno@clisp.org>
5304
5305         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
5306         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
5307         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
5308         Reported by Bruce Korb and Eric Blake.
5309
5310 2010-10-04  Bruno Haible  <bruno@clisp.org>
5311
5312         threadlib: Make option --with-libpth-prefix work.
5313         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
5314         use $LIBPTH, not just -lpth.
5315
5316 2010-10-04  Bruno Haible  <bruno@clisp.org>
5317
5318         Avoid line length limitation from HP NonStop system header files.
5319         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
5320         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
5321         * lib/ctype.in.h: Likewise.
5322         * lib/dirent.in.h: Likewise.
5323         * lib/errno.in.h: Likewise.
5324         * lib/fcntl.in.h: Likewise.
5325         * lib/float.in.h: Likewise.
5326         * lib/getopt.in.h: Likewise.
5327         * lib/iconv.in.h: Likewise.
5328         * lib/inttypes.in.h: Likewise.
5329         * lib/langinfo.in.h: Likewise.
5330         * lib/locale.in.h: Likewise.
5331         * lib/math.in.h: Likewise.
5332         * lib/netdb.in.h: Likewise.
5333         * lib/netinet_in.in.h: Likewise.
5334         * lib/poll.in.h: Likewise.
5335         * lib/pthread.in.h: Likewise.
5336         * lib/pty.in.h: Likewise.
5337         * lib/sched.in.h: Likewise.
5338         * lib/se-selinux.in.h: Likewise.
5339         * lib/search.in.h: Likewise.
5340         * lib/signal.in.h: Likewise.
5341         * lib/spawn.in.h: Likewise.
5342         * lib/stdarg.in.h: Likewise.
5343         * lib/stddef.in.h: Likewise.
5344         * lib/stdint.in.h: Likewise.
5345         * lib/stdio.in.h: Likewise.
5346         * lib/stdlib.in.h: Likewise.
5347         * lib/string.in.h: Likewise.
5348         * lib/strings.in.h: Likewise.
5349         * lib/sys_file.in.h: Likewise.
5350         * lib/sys_ioctl.in.h: Likewise.
5351         * lib/sys_select.in.h: Likewise.
5352         * lib/sys_socket.in.h: Likewise.
5353         * lib/sys_stat.in.h: Likewise.
5354         * lib/sys_time.in.h: Likewise.
5355         * lib/sys_times.in.h: Likewise.
5356         * lib/sys_utsname.in.h: Likewise.
5357         * lib/sys_wait.in.h: Likewise.
5358         * lib/sysexits.in.h: Likewise.
5359         * lib/termios.in.h: Likewise.
5360         * lib/time.in.h: Likewise.
5361         * lib/unistd.in.h: Likewise.
5362         * lib/wchar.in.h: Likewise.
5363         * lib/wctype.in.h: Likewise.
5364         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
5365         * modules/ctype (Makefile.am): Likewise.
5366         * modules/dirent (Makefile.am): Likewise.
5367         * modules/errno (Makefile.am): Likewise.
5368         * modules/fcntl-h (Makefile.am): Likewise.
5369         * modules/float (Makefile.am): Likewise.
5370         * modules/getopt-posix (Makefile.am): Likewise.
5371         * modules/iconv-h (Makefile.am): Likewise.
5372         * modules/inttypes (Makefile.am): Likewise.
5373         * modules/langinfo (Makefile.am): Likewise.
5374         * modules/locale (Makefile.am): Likewise.
5375         * modules/math (Makefile.am): Likewise.
5376         * modules/netdb (Makefile.am): Likewise.
5377         * modules/netinet_in (Makefile.am): Likewise.
5378         * modules/poll-h (Makefile.am): Likewise.
5379         * modules/pthread (Makefile.am): Likewise.
5380         * modules/pty (Makefile.am): Likewise.
5381         * modules/sched (Makefile.am): Likewise.
5382         * modules/search (Makefile.am): Likewise.
5383         * modules/selinux-h (Makefile.am): Likewise.
5384         * modules/signal (Makefile.am): Likewise.
5385         * modules/spawn (Makefile.am): Likewise.
5386         * modules/stdarg (Makefile.am): Likewise.
5387         * modules/stddef (Makefile.am): Likewise.
5388         * modules/stdint (Makefile.am): Likewise.
5389         * modules/stdio (Makefile.am): Likewise.
5390         * modules/stdlib (Makefile.am): Likewise.
5391         * modules/string (Makefile.am): Likewise.
5392         * modules/strings (Makefile.am): Likewise.
5393         * modules/sys_file (Makefile.am): Likewise.
5394         * modules/sys_ioctl (Makefile.am): Likewise.
5395         * modules/sys_select (Makefile.am): Likewise.
5396         * modules/sys_socket (Makefile.am): Likewise.
5397         * modules/sys_stat (Makefile.am): Likewise.
5398         * modules/sys_time (Makefile.am): Likewise.
5399         * modules/sys_times (Makefile.am): Likewise.
5400         * modules/sys_utsname (Makefile.am): Likewise.
5401         * modules/sys_wait (Makefile.am): Likewise.
5402         * modules/sysexits (Makefile.am): Likewise.
5403         * modules/termios (Makefile.am): Likewise.
5404         * modules/time (Makefile.am): Likewise.
5405         * modules/unistd (Makefile.am): Likewise.
5406         * modules/wchar (Makefile.am): Likewise.
5407         * modules/wctype (Makefile.am): Likewise.
5408
5409 2010-10-04  Bruno Haible  <bruno@clisp.org>
5410
5411         read-file tests: Avoid a test failure on NonStop Kernel.
5412         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
5413         a regular file.
5414         Reported by Joachim Schmitz <schmitz@hp.com>.
5415
5416 2010-10-03  Bruno Haible  <bruno@clisp.org>
5417
5418         gnulib-tool: Fixes for --create-testdir with --libtool.
5419         * gnulib-tool (func_get_automake_snippet): Don't augment
5420         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
5421         an executable.
5422         (func_create_testdir): Handle module 'alloca' like func_import.
5423         Reported by Bruce Korb <bruce.korb@gmail.com>.
5424
5425 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
5426
5427         Avoid some lines longer than 80 characters.
5428         * lib/stdint.in.h: Break long comment lines.
5429         * lib/math.in.h: Likewise.
5430         (_GL_NUM_UINT_WORDS): New macro, for readability.
5431         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
5432         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
5433         * lib/stdlib.in.h: Likewise.
5434         * lib/spawn.in.h: Likewise.
5435         * lib/sys_socket.in.h: Update an URL.
5436         * lib/sys_stat.in.h: Break long line.
5437
5438 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
5439
5440         Improve pmccabe2html.
5441         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
5442         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
5443         when the sources change. Remove the line in the HTML about "Used
5444         ranges" (which implied that there might be other unused ranges),
5445         rename "Resume" to "Summary" (easier to understand for more users).
5446         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
5447         styles, and some unnecessary blank lines.
5448
5449 2010-10-03  Bruno Haible  <bruno@clisp.org>
5450             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
5451
5452         acl: Add support for ACLs on NonStop Kernel.
5453         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
5454         Check whether the function aclsort() exists.
5455         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
5456         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
5457         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5458         (acl_nontrivial [HAVE_ACLSORT]: New function.
5459         (file_has_acl): Implement for NonStop Kernel.
5460         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5461         (qset_acl): Implement for NonStop Kernel.
5462         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
5463         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5464         (main): Implement for NonStop Kernel.
5465         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
5466         Kernel. Handle this flavor.
5467         * tests/test-set-mode-acl.sh: Likewise.
5468         * tests/test-copy-acl.sh: Likewise.
5469         * tests/test-copy-file.sh: Likewise.
5470
5471 2010-10-03  Bruno Haible  <bruno@clisp.org>
5472
5473         Info about ACLs on NonStop Kernel.
5474         * doc/acl-resources.txt: Add info about NonStop Kernel.
5475         References by Joachim Schmitz <schmitz@hp.com>.
5476
5477 2010-10-02  Bruno Haible  <bruno@clisp.org>
5478
5479         Define missing EDQUOT on NonStop Kernel.
5480         * lib/errno.in.h (EDQUOT): Assign a value if missing.
5481         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
5482         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
5483         missing.
5484         * doc/posix-headers/errno.texi: Mention the NSK bug.
5485         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
5486         Reported by Joachim Schmitz <schmitz@hp.com>.
5487
5488 2010-10-02  Bruno Haible  <bruno@clisp.org>
5489
5490         Update doc for POSIX:2008.
5491         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
5492         Update URL of POSIX specification.
5493
5494 2010-10-02  Bruno Haible  <bruno@clisp.org>
5495
5496         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
5497         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
5498         from gnulib, not from Automake.
5499
5500 2010-10-02  Bruno Haible  <bruno@clisp.org>
5501
5502         New module 'system-posix'.
5503         * modules/system-posix: New file.
5504         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
5505         module is present.
5506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
5507         GNULIB_SYSTEM_POSIX.
5508         * modules/stdlib (Depends-on): Remove sys_wait.
5509         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
5510         * doc/posix-functions/system.texi: Mention the new module.
5511         * doc/posix-headers/stdlib.texi: Likewise.
5512         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
5513         define test_sys_wait_macros to a no-op.
5514         Reported by Sam Steingold <sds@gnu.org>.
5515
5516 2010-09-30  Bruno Haible  <bruno@clisp.org>
5517
5518         More renaming from 'getdate' to 'get_date'.
5519         * doc/get_date.texi: Renamed from doc/getdate.texi.
5520         * modules/get_date (Files): Update.
5521         * MODULES.html.sh (Date and time <time.h>): Update.
5522         * DEPENDENCIES: Update.
5523         * gnulib-tool: Update comment.
5524         * m4/bison.m4 (gl_BISON): Likewise.
5525         * m4/get_date.m4 (gl_GET_DATE): Likewise.
5526
5527 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
5528
5529         bootstrap: support ACLOCAL_FLAGS during aclocal
5530         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
5531         can add additional -I dir for third-party .m4 files.
5532
5533 2010-09-30  Eric Blake  <eblake@redhat.com>
5534
5535         bootstrap: use glibtoolize on MacOS
5536         * build-aux/bootstrap (check_versions): Convert libtool into
5537         libtoolize.
5538         (tool search): Move libtool check earlier, and look for
5539         glibtoolize for MacOS.
5540         (gnulib_tool_options): Auto-add --libtool when appropriate.
5541         Reported by Justin Clift.
5542
5543         poll: fix typo that broke test on MacOS
5544         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
5545         Reported by Justin Clift.
5546
5547         getdate: rename to get_date
5548         Note: getdate.h is not renamed, to minimize client impact.
5549         * modules/getdate: Mark obsolete.  Move old contents...
5550         * modules/get_date: ...to new module name.
5551         * modules/getdate-tests: Move...
5552         * modules/get_date-tests: ...here.
5553         * m4/getdate.m4: Move...
5554         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
5555         * lib/getdate.y: Move...
5556         * lib/get_date.y: ...here.
5557         * tests/test-getdate.c: Move...
5558         * tests/test-get_date.c: ...here.
5559         * doc/posix-functions/getdate.texi (getdate): Update name.
5560         * NEWS: Mention the change.
5561
5562 2010-09-29  Bruno Haible  <bruno@clisp.org>
5563
5564         Separate the module 'waitpid' from the module 'sys_wait'.
5565         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
5566         present.
5567         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
5568         gl_MODULE_INDICATOR_FOR_TESTS.
5569         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
5570         * modules/sys_wait (Depends-on): Remove waitpid.
5571         (Makefile.am): Substitute GNULIB_WAITPID.
5572         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
5573         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
5574         signature only if the 'waitpid' module is present.
5575         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
5576         * NEWS: Mention the change.
5577         * modules/grantpt (Depends-on): Add waitpid.
5578         * modules/wait-process (Depends-on): Likewise.
5579
5580 2010-09-29  Bruno Haible  <bruno@clisp.org>
5581
5582         More tests for module 'sys_wait'.
5583         * modules/sys_wait-c++-tests: New file.
5584         * tests/test-sys_wait-c++.cc: New file.
5585         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
5586         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5587
5588 2010-09-29  Bruno Haible  <bruno@clisp.org>
5589
5590         New module 'waitpid'.
5591         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
5592         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
5593         Don't include <process.h>.
5594         (waitpid): Declare only, using modern idiom.
5595         * m4/waitpid.m4: New file.
5596         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
5597         * modules/waitpid: New file.
5598         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
5599         (Makefile.am): Update.
5600         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5601
5602 2010-09-28  Bruno Haible  <bruno@clisp.org>
5603
5604         poll: Assume ANSI C.
5605         * lib/poll.c (poll): Use an ANSI C declaration.
5606
5607 2010-09-28  Bruno Haible  <bruno@clisp.org>
5608
5609         poll-h: Create poll.h on all platforms.
5610         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
5611         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
5612         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
5613         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
5614         (gl_REPLACE_POLL_H): Don't set POLL_H.
5615         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
5616         * modules/poll-h (Depends-on): Add include_next.
5617         (Makefile.am): Create poll.h unconditionally. Substitute also
5618         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
5619
5620 2010-09-28  Bruno Haible  <bruno@clisp.org>
5621
5622         Tests for module 'poll-h'.
5623         * modules/poll-h-c++-tests: New file.
5624         * tests/test-poll-h-c++.cc: New file.
5625
5626         Tests for module 'poll-h'.
5627         * modules/poll-h-tests: New file.
5628         * tests/test-poll-h.c: New file.
5629
5630 2010-09-28  Bruno Haible  <bruno@clisp.org>
5631
5632         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
5633         * modules/poll-h (Depends-on): Add 'extensions'.
5634
5635 2010-09-28  Bruno Haible  <bruno@clisp.org>
5636
5637         New module 'poll-h'.
5638         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
5639         (poll): Use modern idiom.
5640         * modules/poll-h: New file.
5641         * modules/poll (Files): Remove lib/poll.in.h.
5642         (Depends-on): Add poll-h.
5643         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
5644         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
5645         * m4/poll_h.m4: New file.
5646         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
5647         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
5648         and invoke gl_REPLACE_POLL_H.
5649         * lib/poll.c: Use common idiom.
5650         * tests/test-poll.c: Likewise.
5651         * doc/posix-headers/poll.texi: Mention the poll-h module.
5652         Suggested by Eric Blake.
5653
5654 2010-09-26  Bruno Haible  <bruno@clisp.org>
5655
5656         sys_wait: Implement WSTOPSIG.
5657         * lib/sys_wait.in.h (WSTOPSIG): New macro.
5658         Reported by Simon Josefsson.
5659
5660 2010-09-26  Simon Josefsson  <simon@josefsson.org>
5661
5662         stdlib, sys_wait: Avoid compilation error on mingw.
5663         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
5664
5665 2010-09-26  Bruno Haible  <bruno@clisp.org>
5666
5667         stdlib tests: Avoid code duplication.
5668         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
5669         * modules/sys_wait-tests (Files): Likewise.
5670         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
5671         * tests/test-stdlib.c: Include test-sys_wait.h.
5672         (main): Invoke test_sys_wait_macros.
5673         * tests/test-sys_wait.c: Include test-sys_wait.h.
5674         (main): Invoke test_sys_wait_macros.
5675
5676 2010-09-25  Simon Josefsson  <simon@josefsson.org>
5677
5678         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
5679         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
5680         sure Windows sockets are working before calling getaddrinfo.
5681         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
5682         * doc/gnulib.texi (Windows sockets): Fix typo.
5683
5684 2010-09-25  Bruno Haible  <bruno@clisp.org>
5685
5686         Tests for module 'regex-quote'.
5687         * modules/regex-quote-tests: New file.
5688         * tests/test-regex-quote.c: New file.
5689
5690         New module 'regex-quote'.
5691         * lib/regex-quote.h: New file.
5692         * lib/regex-quote.c: New file.
5693         * modules/regex-quote: New file.
5694         Suggested by Reuben Thomas <rrt@sc3d.org>.
5695
5696 2010-09-24  Bruno Haible  <bruno@clisp.org>
5697
5698         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
5699         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
5700
5701 2010-09-23  Bruno Haible  <bruno@clisp.org>
5702
5703         setenv: Relax license.
5704         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
5705         Blake.
5706         Requested by Eric Blake.
5707
5708 2010-09-22  Bruno Haible  <bruno@clisp.org>
5709
5710         termios: Relax license.
5711         * modules/termios (License): Change to LGPLv2+.
5712         Requested by Eric Blake.
5713
5714 2010-09-22  Bruno Haible  <bruno@clisp.org>
5715
5716         threadlib: Allow the package to change the default to 'no'.
5717         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
5718         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
5719         Reported by Paul Eggert.
5720
5721 2010-09-22  Pádraig Brady  <P@draigbrady.com>
5722             Bruno Haible  <bruno@clisp.org>
5723
5724         Fix endless loop in mbmemcasecoll.
5725         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
5726         byte.
5727         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
5728
5729 2010-09-22  Bruno Haible  <bruno@clisp.org>
5730
5731         Tests for module 'memcoll'.
5732         * modules/memcoll-tests: New file.
5733         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
5734
5735         memcoll, xmemcoll: Clarify size vs. length.
5736         * modules/memcoll.c (memcoll0): Clarify specification.
5737         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
5738         passed to collate_error.
5739
5740 2010-09-22  Bruno Haible  <bruno@clisp.org>
5741
5742         Tests for module 'memcasecmp'.
5743         * modules/memcasecmp-tests: New file.
5744         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
5745
5746 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
5747
5748         * lib/pthread.in.h: Add split double-inclusion guard, and include
5749         system <pthread.h> if there is one.  Use @@-style as in other
5750         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
5751         pthread.h doesn't.
5752         (pthread_mutexattr_destroy, pthread_mutexattr_init):
5753         (pthread_mutexattr_settype, pthread_mutex_trylock):
5754         New static inline functions, if there's no system <pthread.h>.
5755         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
5756         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
5757         Approximate with mutexes if the system lacks spinlocks, as in
5758         MacOS.
5759         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
5760         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
5761         @@-style.  Check for spinlocks separately.
5762         (gl_PTHREAD_DEFAULTS): New macro.
5763         * modules/pthread: Redo to use a more typical style for in.h files.
5764
5765 2010-09-21  Eric Blake  <eblake@redhat.com>
5766
5767         net_if: enhance tests
5768         * tests/test-net_if.c (main): Move signature checks earlier.
5769         Print failures to stderr.
5770         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
5771         Document the bug that we do not yet fix.
5772
5773 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
5774
5775         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
5776         about gnulib, not GSS.
5777
5778 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
5779
5780         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
5781         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
5782         for Emacs.
5783         * build-aux/pmccabe2html: Make Makefile.am example code more
5784         cut-and-paste friendly.
5785
5786 2010-09-21  Simon Josefsson  <simon@josefsson.org>
5787
5788         * tests/test-net_if.c: New file.
5789         * modules/net_if-tests: New file.
5790
5791 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5792
5793         pthread: add pthread_spin_destroy
5794         * lib/pthread.in.h (pthread_spin_destroy): New function.
5795
5796 2010-09-19  Bruno Haible  <bruno@clisp.org>
5797
5798         gnulib-tool: Fix --help output.
5799         * gnulib-tool (func_usage): Fix help message.
5800         Reported by Reuben Thomas <rrt@sc3d.org>.
5801
5802 2010-09-18  Jim Meyering  <meyering@redhat.com>
5803
5804         maint.mk: avoid unexpanded \n in two diagnostics
5805         * top/maint.mk (sc_prohibit_always_true_header_tests):
5806         Don't use a literal \n in a halt=... assignment.  It would not be
5807         expanded, and the two \n bytes would appear in the diagnostic output
5808         rather than the desired newline.  Use halt=$$(printf ... instead.
5809         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
5810
5811 2010-09-18  Bruno Haible  <bruno@clisp.org>
5812
5813         netinet_in: Doc tweak.
5814         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
5815         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5816
5817 2010-09-18  Jim Meyering  <meyering@redhat.com>
5818
5819         init.sh: correct an outdated comment
5820         * tests/init.sh (create_exe_shims_):  s/function/alias/
5821
5822         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
5823         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
5824         a file named "*.exe" is removed between the glob expansion and the
5825         processing of that oddly named file.
5826
5827 2010-09-17  Eric Blake  <eblake@redhat.com>
5828
5829         mirbsd: add some more support
5830         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
5831         in BSD family.
5832         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
5833         devices as OpenBSD.
5834         * m4/host-os.m4 (mirbsd): Add MirBSD.
5835
5836         tests: fix unportable assumption on sys/wait.h
5837         * tests/test-sys_wait.c (main): Relax test.
5838         * tests/test-stdlib.c (main): Likewise.
5839
5840         init.sh: accomodate directory with no .exes
5841         * tests/init.sh: Accomodate directory containing only scripts.
5842
5843         tests: avoid compiler warning
5844         * tests/test-stdlib.c (main): Use the variable.
5845
5846         fdutimens, fdutimensat: update signature, again
5847         * lib/utimens.h (gl_futimens): Delete, and move signature...
5848         (fdutimens): ...here.
5849         (fdutimensat): Rearrange signature.
5850         (lutimensat): Rename variable for clarity.
5851         * lib/fdutimensat.c (fdutimensat): Update signature.
5852         * lib/utimens.c (fdutimens): Likewise.
5853         (gl_futimens): Delete.
5854         (utimens, lutimens): Update callers.
5855         * lib/futimens.c (futimens): Likewise.
5856         * tests/test-fdutimensat.c: Likewise.
5857         * tests/test-utimens.c: Likewise.
5858         * tests/test-futimens.h: Update comment.
5859         * NEWS: Mention this.
5860         Suggested by Paul Eggert.
5861
5862 2010-09-17  Bruno Haible  <bruno@clisp.org>
5863
5864         Take over the maintenance of some older macros from Autoconf.
5865         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
5866         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
5867         GNU Autoconf.
5868         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
5869         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
5870
5871 2010-09-17  Eric Blake  <eblake@redhat.com>
5872
5873         fdutimensat: drop atflag validation
5874         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
5875         with valid fd, to close a race scenario where futimens is
5876         unsupported and FILE was replaced by a symlink.
5877         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
5878         accordingly.
5879         Suggested by Paul Eggert.
5880
5881 2010-09-16  Bruno Haible  <bruno@clisp.org>
5882
5883         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
5884         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
5885
5886 2010-09-16  Bruno Haible  <bruno@clisp.org>
5887
5888         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
5889         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
5890         login_tty exists.
5891         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5892
5893 2010-09-16  Bruno Haible  <bruno@clisp.org>
5894
5895         login_tty: Make the replacement code work on BSD systems.
5896         * lib/login_tty.c: Include <sys/ioctl.h>.
5897         (login_tty): Use ioctl TIOCSCTTY when available.
5898         * modules/login_tty (Depends-on): Add sys_ioctl.
5899         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5900
5901 2010-09-16  Bruno Haible  <bruno@clisp.org>
5902
5903         login_tty: Stricter unit test.
5904         * modules/login_tty-tests (Depends-on): Add tcgetsid.
5905         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
5906         and tcgetsid() after login_tty.
5907         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5908
5909 2010-09-16  Bruno Haible  <bruno@clisp.org>
5910
5911         New module 'tcgetsid'.
5912         * lib/tcgetsid.c: New file.
5913         * m4/tcgetsid.m4: New file.
5914         * modules/tcgetsid: New file.
5915         * modules/termios (Depends-on): Add c++defs, warn-on-use.
5916         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
5917         GNULIB_TCGETSID, HAVE_TCGETSID.
5918         * lib/termios.in.h: Include <sys/types.h>.
5919         (tcgetsid): New declaration.
5920         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
5921         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
5922         * doc/posix-functions/tcgetsid.texi: Mention the new module.
5923         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
5924
5925 2010-09-16  Bruno Haible  <bruno@clisp.org>
5926
5927         Tests for module 'termios'.
5928         * modules/termios-c++-tests: New file.
5929         * modules/termios-tests: New file.
5930         * tests/test-termios-c++.cc: New file.
5931         * tests/test-termios.c: New file.
5932
5933         New module 'termios'.
5934         * modules/termios: New file.
5935         * lib/termios.in.h: New file.
5936         * m4/termios_h.m4: New file.
5937         * doc/posix-headers/termios.texi: Mention the new module.
5938
5939 2010-09-16  Eric Blake  <eblake@redhat.com>
5940
5941         fdutimensat: add an atflag parameter
5942         * lib/fdutimensat.c (fdutimensat): Add new parameter.
5943         * lib/utimens.h (fdutimensat): Update prototype.
5944         * tests/test-fdutimensat.c: Adjust test to match.
5945         * NEWS: Document the change.
5946         Suggested by Paul Eggert.
5947
5948 2010-09-16  Bruno Haible  <bruno@clisp.org>
5949
5950         Fix typos in comments.
5951         * lib/striconveh.h: Fix typo in comment.
5952         * lib/login_tty.c (login_tty): Likewise.
5953
5954 2010-09-15  Bruno Haible  <bruno@clisp.org>
5955
5956         stdlib: clarify MirBSD WEXITSTATUS bug
5957         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
5958         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
5959
5960 2010-09-15  Eric Blake  <eblake@redhat.com>
5961
5962         stdlib: work around MirBSD WEXITSTATUS bug
5963         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
5964         * modules/stdlib (Depends-on): Add sys_wait.
5965         * tests/test-sys_wait.c (main): Enhance test.
5966         * tests/test-stdlib.c (main): Likewise.
5967         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
5968
5969         docs: mention MacOS issue with WEXITSTATUS(constant)
5970         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
5971         issue.
5972         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
5973
5974         strnlen: add tests
5975         * modules/strnlen-tests: New file.
5976         * tests/test-strnlen.c: Likewise.
5977
5978 2010-09-14  Bruno Haible  <bruno@clisp.org>
5979
5980         unistr/base: Avoid link errors when module 'libunistring' is also used.
5981         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
5982         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
5983         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
5984         Declare also when HAVE_LIBUNISTRING is set.
5985         Reported by Pádraig Brady <P@draigbrady.com>.
5986
5987 2010-09-14  Eric Blake  <eblake@redhat.com>
5988
5989         test-rawmemchr: make more robust
5990         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
5991         (Depends-on, configure.ac): Add needed prerequisites to use it.
5992         * modules/memchr-tests (Files, Depends-on, configure.ac):
5993         Likewise, to avoid implicit reliance on memchr module prereqs.
5994         * tests/test-memchr.c (main): Ensure proper masking.
5995         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
5996         reads.
5997
5998         memchr: detect glibc Alpha bug
5999         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
6000         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
6001         Alpha.
6002         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
6003         * tests/test-memchr.c (main): Enhance test.
6004         Reported by Nelson H. F. Beebe.
6005
6006 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6007
6008         fts, getcwd, glob: audit for dirfd returning -1
6009         * lib/fts.c (opendir): Remove #define; no longer used.
6010         (opendirat): New arg PDIR_FD.  All callers changed.
6011         (fts_build, _opendir2): Use new opendirat to avoid the need for
6012         dirfd, or for checking whether dirfd returns a negative value.
6013         Don't use opendir; always use openat followed by fdopendir.
6014         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
6015         it.
6016         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
6017         returns -1 here.
6018         * modules/fts (Depends-on): Remove dirfd.
6019         * modules/getcwd (Depends-on): Likewise.
6020
6021 2010-09-13  Eric Blake  <eblake@redhat.com>
6022
6023         float: fix broken MirBSD header
6024         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
6025         * doc/posix-headers/float.texi (float.h): Document it.
6026
6027 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6028
6029         fts: use O_NOFOLLOW to avoid race condition when opening a directory
6030         * lib/fts.c (opendirat): New arg extra_flags.
6031         (__opendir2): Use it to avoid following symlinks when opening
6032         a directory, if symlinks are not supposed to be followed.  See
6033         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
6034
6035         fdopendir: preserve argument fd before returning
6036         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
6037         (fdopendir_with_dup, fd_clone_opendir): New static functions.
6038         (fdopendir): Use them, arranging for FD to be open to the same
6039         directory that it was when it started.  (It might be temporarily
6040         closed while fdopendir is running, so this not thread- or
6041         signal-safe.)  Be careful to do the right thing even when file
6042         descriptors are scarce and dup fails with errno == EMFILE.  See
6043         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
6044
6045 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
6046
6047         regex: Pass the system regex if its only problem is 32-bit regoff_t.
6048         * NEWS: Document change.
6049         * m4/regex.m4: Disable test for regoff_t size.
6050
6051 2010-09-13  Jim Meyering  <meyering@redhat.com>
6052
6053         fts: don't operate on an invalid file descriptor after failed dup
6054         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
6055         negative file descriptor.
6056
6057 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
6058
6059         savedir: add streamsavedir, deprecate fdsavedir
6060         * NEWS: Mention deprecation of fdsavedir.
6061         * lib/savedir.c (streamsavedir): New extern function, whose name
6062         ends in "savedir" to be consistent with the others.  This differs
6063         from savedirstream in that it doesn't close its argument.  The
6064         next version of GNU tar will use this instead of fdsavedir, to
6065         avoid some race conditions and conserve file descriptors.
6066         (savedirstream): Reimplement as a wrapper around streamsavedir.
6067         (fdsavedir): Add a comment deprecating this function.  As far as
6068         I know, only GNU tar used it, and GNU tar doesn't need it any more.
6069         * lib/savedir.h (streamsavedir): New decl.
6070         (fdsavedir): Add a comment deprecating this.
6071
6072 2010-09-10  Bruno Haible  <bruno@clisp.org>
6073
6074         langinfo: Fix last commit.
6075         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
6076         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
6077         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6078
6079 2010-09-10  Bruno Haible  <bruno@clisp.org>
6080
6081         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
6082         * lib/progreloc.c (O_EXEC): Define fallback.
6083
6084 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
6085
6086         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
6087         * NEWS: Document recent changes to fcntl-h.
6088         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
6089         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
6090         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
6091         Similarly for O_SEARCH; this last was already true, but not documented.
6092         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
6093         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
6094         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
6095         Likewise.
6096         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
6097         is zero, not whether it is defined.
6098         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
6099         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
6100         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
6101
6102 2010-09-10  Bruno Haible  <bruno@clisp.org>
6103
6104         langinfo, nl_langinfo: Fix for IRIX 5.3.
6105         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
6106         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
6107         HAVE_LANGINFO_YESEXPR.
6108         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
6109         HAVE_LANGINFO_YESEXPR.
6110         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
6111         HAVE_LANGINFO_T_FMT_AMPM is 0.
6112         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
6113         HAVE_LANGINFO_YESEXPR is 0.
6114         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
6115         NOEXPR.
6116         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
6117         * doc/posix-functions/nl_langinfo.texi: Likewise.
6118         Reported by Eric Blake.
6119
6120 2010-09-10  Bruno Haible  <bruno@clisp.org>
6121
6122         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
6123         * doc/glibc-functions/login_tty.texi: Mention the include file problem
6124         on FreeBSD 8.0 and OpenBSD 4.6.
6125         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
6126         * m4/pty_h.m4 (gl_PTY_H): Likewise.
6127         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
6128         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
6129         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
6130         ac_includes_default.
6131         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
6132
6133 2010-09-09  Eric Blake  <eblake@redhat.com>
6134
6135         strsignal: work around NetBSD bug
6136         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
6137         * lib/string.in.h (includes): Likewise.
6138         * doc/posix-functions/strsignal.texi (strsignal): Document the
6139         bug.
6140         Reported by Nelson H. F. Beebe.
6141
6142         gnulib-tool: work with NetBSD /bin/sh
6143         * gnulib-tool (func_cache_var, func_cache_lookup_module)
6144         (func_get_description, func_get_comment, func_get_status)
6145         (func_get_notice, func_get_applicability, func_get_filelist)
6146         (func_get_dependencies, func_get_autoconf_early_snippet)
6147         (func_get_autoconf_snippet, func_get_automake_snippet)
6148         (func_get_include_directive, func_get_link_directive)
6149         (func_get_license, func_get_maintainer, func_import): Avoid
6150         shell syntax errors from parsing syntax extensions.
6151
6152 2010-09-09  Bruno Haible  <bruno@clisp.org>
6153
6154         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
6155         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
6156         a reliable way to determine whether the 'alias' command works.
6157
6158 2010-09-08  Jim Meyering  <meyering@redhat.com>
6159
6160         init.sh: penalize a set-x-impaired shell; don't disqualify it
6161         * tests/init.sh: Too many shells corrupt application stderr when
6162         you set -x, so we can't afford to disqualify them, since at least
6163         on Irix-6.5, that would disqualify all bourne shells.
6164         Instead, use a two-pass approach.
6165         On the first pass, try to find a shell that meets the stricter
6166         condition that set -x does not corrupt stderr.
6167         If no shell meets the stricter condition, retest each candidate
6168         shell, but without that extra condition.  Finally, when
6169         VERBOSE=yes is requested and set -x might cause trouble, simply
6170         issue a warning and refrain from enabling debug output.
6171
6172 2010-09-08  Eric Blake  <eblake@redhat.com>
6173
6174         unsetenv: fix OpenBSD bug
6175         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
6176         * doc/posix-functions/unsetenv.texi (unsetenv): Update
6177         documentation.
6178         Reported by Jim Meyering.
6179
6180         strtod: work around IRIX 6.5 bug
6181         * lib/strtod.c (strtod): Reparse number on shorter string if
6182         exponent parse was invalid.
6183         * tests/test-strtod.c (main): Add check for "0x1p 2".
6184         Reported by Tom G. Christensen.
6185
6186         getopt: optimize previous patch
6187         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
6188         empty variable.  Speed up awk script.
6189         Reported by Paolo Bonzini.
6190
6191 2010-09-08  Jim Meyering  <meyering@redhat.com>
6192
6193         test.sh: disqualify shells for which set -x corrupts stderr
6194         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
6195         and OpenBSD 4.7.  They make it so with "set -x", environment settings
6196         appear in stderr output.  For example, this command:
6197             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
6198         prints "P=1" on those two systems:
6199
6200 2010-09-08  Bruno Haible  <bruno@clisp.org>
6201
6202         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
6203         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
6204         commands, because some shells ignore redirections when there is an
6205         error in the command lookup.
6206         Reported by Eric Blake.
6207
6208 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
6209
6210         * lib/regex.h: Fix a mention of `regex_compile' (should be
6211         `re_compile_pattern').
6212         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
6213         (re_set_registers): Correct name of parameter in comment.
6214
6215         * doc/regex.texi: Add documentation for missing syntax flags.
6216         Remove commented-out documentation of defunct syntax option
6217         RE_NO_EMPTY_ALTS.
6218         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
6219         Add documentation of re_set_registers.
6220         Document trick to re-use a pattern buffer by setting fastmap manually.
6221         Update documentation of struct re_pattern_buffer per public members.
6222         Uncomment documentation of equivalence class operators and
6223         collating symbol operators, since they are now implemented,
6224         Explain leftmost-longest matching in relation to alternatives.
6225         Tidy documentation of substring matching.
6226         Remove POSIX documentation, which is done better in
6227         glibc, and refer the reader there. Keep BSD API documentation, as
6228         that is not readily available elsewhere.
6229
6230 2010-09-07  Eric Blake  <eblake@redhat.com>
6231
6232         getopt: handle POSIXLY_CORRECT set but not exported
6233         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
6234         export state of POSIXLY_CORRECT, due to bash set -o posix.
6235         Reported by Dustin J. Mitchell.
6236
6237 2010-09-05  Bruno Haible  <bruno@clisp.org>
6238
6239         gnulib-tool: Highlight the changed options.
6240         * gnulib-tool (func_usage): Display the --import, --add-import,
6241         --remove-import explanations in bold font.
6242
6243 2010-09-06  Karl Berry  <karl@gnu.org>
6244
6245         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
6246
6247 2010-09-05  Bruno Haible  <bruno@clisp.org>
6248
6249         uniwidth/width: Update comment.
6250         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
6251         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
6252
6253 2010-09-05  Bruno Haible  <bruno@clisp.org>
6254
6255         isinf, isnan: Relax license.
6256         * modules/isinf (License): Change from GPL to LGPL, with consent from
6257         Ben Pfaff.
6258         * modules/isnan (License): Likewise.
6259         Requested by Ludovic Courtès.
6260
6261 2010-09-04  Bruno Haible  <bruno@clisp.org>
6262
6263         gnulib-tool: Help migration from --import to --add-import or --update.
6264         * gnulib-tool: Emit a verbose error message when --import is used
6265         without any module name.
6266
6267 2010-09-04  Bruno Haible  <bruno@clisp.org>
6268
6269         Update doc about gnulib-tool.
6270         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
6271         'gnulib-tool --update' in more detail.
6272         Reported by Eric Blake.
6273
6274 2010-09-04  Bruno Haible  <bruno@clisp.org>
6275
6276         gnulib-tool: Change --import. New options --add/remove-import.
6277         * gnulib-tool: New options --add-import, --remove-import.
6278         (func_usage): Document them.
6279         (have_associative): Define always.
6280         (func_import): In import mode, don't merge the specified settings with
6281         the cached settings. Implement remove-import mode.
6282         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
6283         Explain when to use them versus --import.
6284         (Simple update): Use --add-import instead of --import.
6285         * NEWS: Mention the change.
6286
6287 2010-09-04  Bruno Haible  <bruno@clisp.org>
6288
6289         * doc/gnulib-tool.texi (Initial import): Update paragraph about
6290         separate gnulib.mk.
6291
6292 2010-09-04  Bruno Haible  <bruno@clisp.org>
6293
6294         gnulib-tool: Don't talk about CVS any more.
6295         * gnulib-tool (func_usage, func_import): Write "version control"
6296         instead of CVS.
6297
6298 2010-09-04  Jim Meyering  <meyering@redhat.com>
6299
6300         maint.mk: avoid obscure sc_copyright_check failure in coreutils
6301         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
6302         false positives (whose names may be ill-chosen) when searching
6303         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
6304         would cause a false-positive.
6305
6306         avoid coreutils "make distcheck" failure
6307         Coreutils tests with an absolute build directory name that contains
6308         a space.  Not quoting this directory name caused a failure.
6309         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
6310         * tests/test-vc-list-files-cvs.sh: Likewise.
6311
6312 2010-09-04  Bruno Haible  <bruno@clisp.org>
6313
6314         gnulib-tool: Avoid error when run in a package without Makefile.am.
6315         * gnulib-tool: When collecting the m4dirs in a package that does not
6316         have a Makefile.am, eliminate those directories that contain no
6317         gnulib-cache.m4. Fix expression that counts these directories.
6318
6319 2010-09-04  Bruno Haible  <bruno@clisp.org>
6320
6321         update-copyright test: Improve output when perl is missing or too old.
6322         * tests/test-update-copyright.sh: Move test of Perl version down after
6323         the test whether Perl exists. Provide an explanation relating Perl's
6324         error message to Automake's SKIP: message.
6325
6326 2010-09-04  Bruno Haible  <bruno@clisp.org>
6327
6328         Don't augment PATH in TESTS_ENVIRONMENT.
6329         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
6330         set abs_aux_dir instead of augmenting PATH.
6331         * modules/vc-list-files-tests (Makefile.am): Likewise.
6332         * tests/test-update-copyright.sh: Augment PATH here.
6333         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
6334         path_prepend_.
6335         * tests/test-vc-list-files-git.sh: Likewise.
6336
6337 2010-09-04  Jim Meyering  <meyering@redhat.com>
6338
6339         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
6340         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
6341
6342 2010-09-04  Bruno Haible  <bruno@clisp.org>
6343
6344         strdup: Fix compilation error in C++ mode.
6345         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
6346         the macro.
6347
6348 2010-09-04  Bruno Haible  <bruno@clisp.org>
6349
6350         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
6351         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
6352         macro into a function.
6353         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6354
6355 2010-09-04  Bruno Haible  <bruno@clisp.org>
6356
6357         Set PATH_SEPARATOR the same way autoconf does.
6358         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
6359         the value of PATH_SEPARATOR the same way autoconf-generated configure
6360         scripts do.
6361         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
6362         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
6363
6364 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6365
6366         Set PATH_SEPARATOR the same way autoconf does.
6367         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
6368         the same way autoconf-generated configure scripts do.
6369         * posix-modules: Likewise.
6370
6371 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
6372
6373         hash: fix safe_hasher const typo
6374         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
6375         const; otherwise, there is a type error later.
6376
6377 2010-09-02  Jim Meyering  <meyering@redhat.com>
6378
6379         test-update-copyright.sh: require perl 5.8.0
6380         * tests/test-update-copyright.sh: Require 5.8.0,
6381         which Tom G. Christensen has confirmed is adequate,
6382         while 5.6.1 is not.
6383
6384 2010-09-02  Eric Blake  <eblake@redhat.com>
6385
6386         tests: init.sh improvements for re-exec'ing with zsh
6387         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
6388         -vx through shell re-exec.
6389         Reported by Tom G. Christensen.
6390
6391         wctype: fix typo in previous commit
6392         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
6393         Reported by Ludovic Courtès.
6394
6395 2010-09-02  Jim Meyering  <meyering@redhat.com>
6396
6397         test-update-copyright.sh: skip test if Perl is too old
6398         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
6399         Reported by Tom G. Christensen.
6400
6401 2010-09-02  Bruno Haible  <bruno@clisp.org>
6402
6403         wctype: Avoid compilation error on IRIX 6.5.30.
6404         * lib/wctype.in.h (iswblank): Declare with a replacement if
6405         REPLACE_ISWBLANK is set.
6406         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
6407         declared. Set REPLACE_ISWBLANK.
6408         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
6409         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
6410         * doc/posix-headers/wctype.texi: Likewise.
6411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6412
6413 2010-09-01  Bruno Haible  <bruno@clisp.org>
6414
6415         New module 'socketlib'.
6416         * modules/socketlib: New file.
6417         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
6418         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
6419         * modules/sockets (Depends-on): Add socketlib.
6420         Suggested by Sam Steingold <sds@gnu.org>.
6421
6422 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6423
6424         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
6425
6426         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
6427         when one needs search access to a directory but not read access.
6428         On systems where it is available, it works in some cases where
6429         O_RDONLY does not, namely on directories that are searchable but
6430         not readable, and which need only to be searchable.  If O_SEARCH
6431         is not available, fall back to the traditional method of using
6432         O_RDONLY.
6433
6434         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
6435         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
6436         when opening a directory that needs only to be searchable.
6437         * lib/chdir-safer.c (chdir_no_follow): Likewise.
6438         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
6439         * lib/openat-proc.c (openat_proc_name): Likewise.
6440         * lib/openat.c (openat_needs_fchdir): Likewise.
6441         * lib/save-cwd.c (save_cwd): Likewise.
6442         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
6443
6444 2010-08-28  Bruno Haible  <bruno@clisp.org>
6445
6446         New module 'host-cpu-c-abi'.
6447         * modules/host-cpu-c-abi: New file.
6448         * m4/host-cpu-c-abi.m4: New file, based on part of
6449         clisp/src/m4/general.m4.
6450         Requested by Sam Steingold <sds@gnu.org>.
6451
6452 2010-08-31  Eric Blake  <eblake@redhat.com>
6453         and Jim Meyering  <meyering@redhat.com>
6454
6455         hash: factor, and guard against misbehaving hasher function
6456         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
6457         of table->hasher's return value.  Also protect against a hash value
6458         so large that adding it to table->bucket results in a NULL pointer.
6459         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
6460         Use it in place of open-coded check-and-abort.
6461
6462 2010-08-30  Bruno Haible  <bruno@clisp.org>
6463
6464         hash: silence spurious clang warning
6465         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
6466         Reported by Eric Blake.
6467
6468 2010-08-30  Eric Blake  <eblake@redhat.com>
6469
6470         strstr, memmem, strcasestr: avoid leaked shell message
6471         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
6472         FreeBSD.
6473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6474         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6475
6476         tests: silence clang warning
6477         * tests/test-malloca.c (do_allocation): Avoid dead store.
6478
6479 2010-08-29  Bruno Haible  <bruno@clisp.org>
6480
6481         gettext: Fix recent mistake.
6482         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
6483
6484 2010-08-29  Bruno Haible  <bruno@clisp.org>
6485
6486         selinux-h: Offer a --without-selinux option.
6487         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
6488         --without-selinux was specified, skip all tests and define
6489         HAVE_SELINUX_SELINUX_H to 0.
6490         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
6491         set LIB_SELINUX to empty.
6492         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
6493         gl_LIBSELINUX. If --without-selinux was specified, replace
6494         selinux/context.h.
6495         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
6496
6497 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6498             Bruno Haible  <bruno@clisp.org>
6499
6500         Make the module 'realloc-gnu' work again on AIX and OSF/1.
6501         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
6502         of HAVE_REALLOC.
6503         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
6504         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
6505         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
6506         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
6507
6508 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6509             Bruno Haible  <bruno@clisp.org>
6510
6511         Make the module 'calloc-gnu' work again on AIX and OSF/1.
6512         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
6513         HAVE_CALLOC.
6514         * lib/xmalloc.c: Update accordingly.
6515         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
6516         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
6517         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
6518
6519 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6520             Bruno Haible  <bruno@clisp.org>
6521
6522         Make the module 'malloc-gnu' work again on AIX and OSF/1.
6523         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
6524         HAVE_MALLOC.
6525         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
6526         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
6527         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
6528
6529 2010-08-29  Bruno Haible  <bruno@clisp.org>
6530
6531         Update modules list.
6532         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
6533         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
6534         (String handling <string.h>): Add astrxfrm.
6535         (File system functions): Add readlinkat.
6536
6537 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6538
6539         Tests for module 'realloc-gnu'.
6540         * modules/realloc-gnu-tests: New file.
6541         * tests/test-realloc-gnu.c: New file.
6542
6543         Tests for module 'calloc-gnu'.
6544         * modules/calloc-gnu-tests: New file.
6545         * tests/test-calloc-gnu.c: New file.
6546
6547         Tests for module 'malloc-gnu'.
6548         * modules/malloc-gnu-tests: New file.
6549         * tests/test-malloc-gnu.c: New file.
6550
6551 2010-08-28  Bruno Haible  <bruno@clisp.org>
6552
6553         Rename module 'realloc' -> 'realloc-gnu'.
6554         * modules/realloc-gnu: New file, copied from modules/realloc.
6555         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
6556         obsolete.
6557         * modules/mgetgroups (Depends-on): Update.
6558         * doc/posix-functions/realloc.texi: Update.
6559         * NEWS: Mention the change.
6560
6561         Rename module 'calloc' -> 'calloc-gnu'.
6562         * modules/calloc-gnu: New file, copied from modules/calloc.
6563         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
6564         obsolete.
6565         * doc/posix-functions/calloc.texi: Update.
6566         * NEWS: Mention the change.
6567
6568         Rename module 'malloc' -> 'malloc-gnu'.
6569         * modules/malloc-gnu: New file, copied from modules/malloc.
6570         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
6571         obsolete.
6572         * modules/argp (Depends-on): Update.
6573         * modules/regex (Depends-on): Update.
6574         * doc/posix-functions/malloc.texi: Update.
6575         * NEWS: Mention the change.
6576
6577 2010-08-28  Eric Blake  <eblake@redhat.com>
6578
6579         pread, pwrite: add missing dependency
6580         * modules/pread (Depends-on): Add extensions.
6581         * modules/pwrite (Depends-on): Likewise.
6582
6583 2010-08-28  Bruno Haible  <bruno@clisp.org>
6584
6585         unistr/u*-strchr: Fix tests dependencies.
6586         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
6587         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
6588         Reported by Ian Beckwith <ianb@erislabs.net>.
6589
6590 2010-08-28  Bruno Haible  <bruno@clisp.org>
6591
6592         read-file: Don't occupy too much unused memory.
6593         * lib/read-file.c (fread_file): Shrink the buffer at the end.
6594
6595 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
6596             Eric Blake  <eblake@redhat.com>
6597             Bruno Haible  <bruno@clisp.org>
6598
6599         read-file: Avoid memory reallocations with regular files.
6600         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
6601         (fread_file): With regular files, use the remaining length as the
6602         initial buffer size.  Check against overflow.
6603         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
6604         sys_stat.
6605
6606 2010-08-28  Bruno Haible  <bruno@clisp.org>
6607
6608         ftello: Relax license.
6609         * modules/ftello (License): Relax to LGPLv2+.
6610         Reported by Eric Blake.
6611
6612 2010-08-28  Bruno Haible  <bruno@clisp.org>
6613
6614         Avoid relocwrapper link errors due to gnulib replacement functions.
6615         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
6616         function.
6617         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6618
6619 2010-08-28  Bruno Haible  <bruno@clisp.org>
6620
6621         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
6622         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
6623         defined.
6624         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
6625         Suggested by Eric Blake.
6626
6627 2010-08-28  Bruno Haible  <bruno@clisp.org>
6628
6629         sys_socket, netdb: Ensure socklen_t gets defined.
6630         * modules/sys_socket (Depends-on): Add socklen.
6631         * modules/netdb (Depends-on): Likewise.
6632         * modules/getaddrinfo (Depends-on): Remove socklen.
6633         * modules/getsockopt (Depends-on): Likewise.
6634         * modules/setsockopt (Depends-on): Likewise.
6635         * tests/test-sys_socket.c: Check that socklen_t is defined.
6636         * tests/test-netdb.c: Likewise.
6637         * m4/socklen.m4: Update comments.
6638         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6639
6640 2010-08-27  Eric Blake  <eblake@redhat.com>
6641
6642         login_tty: add missing dependency
6643         * modules/login_tty (Depends-on): Add pty.
6644
6645 2010-08-26  Eric Blake  <eblake@redhat.com>
6646
6647         lib-symbol-versions: fix m4 quoting
6648         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
6649         format for AC_LINK_IFELSE.
6650
6651         glob: fix compile test
6652         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
6653
6654         btowc: fix missing file
6655         * modules/btowc (Files): Also ship locale-fr.m4.
6656
6657         lseek: fix link test
6658         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
6659         AC_LINK_IFELSE.
6660
6661         include_next: silence autoconf 2.68 warning
6662         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
6663         AC_COMPILE_IFELSE as special.
6664         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
6665         autoconf < 2.68.
6666
6667         acl: fix compilation test
6668         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
6669         AC_COMPILE_IFELSE.
6670
6671 2010-08-26  Bruno Haible  <bruno@clisp.org>
6672
6673         Modernize AC_TRY_RUN invocations.
6674         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
6675         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6676         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
6677         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
6678         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
6679         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
6680         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6681         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6682         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6683         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6684         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6685         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6686         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6687         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6688         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6689         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6690         gl_MBRLEN_NUL_RETVAL): Likewise.
6691         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6692         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6693         Likewise.
6694         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6695         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6696         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6697         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6698         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
6699         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
6700         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
6701         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6702         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
6703         Likewise.
6704         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
6705         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6706         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6707         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
6708         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6709         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6710         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6711         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
6712         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6714
6715 2010-08-26  Bruno Haible  <bruno@clisp.org>
6716
6717         Modernize AC_TRY_LINK invocations.
6718         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
6719         AC_TRY_LINK.
6720         * m4/argp.m4 (gl_ARGP): Likewise.
6721         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6722         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6723         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
6724         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
6725         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
6726         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
6727         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6728         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6729         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
6730         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
6731         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
6732         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
6733         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
6734         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6735         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
6736         * m4/hostent.m4 (gl_HOSTENT): Likewise.
6737         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6738         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
6739         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
6740         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
6741         Likewise.
6742         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
6743         Likewise.
6744         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
6745         Likewise.
6746         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
6747         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
6748         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
6749         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6750         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6751         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
6752         * m4/servent.m4 (gl_SERVENT): Likewise.
6753         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6754         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6755         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6756         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6757         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
6758         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6759         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6760         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6761         * modules/tsearch-tests (configure.ac): Likewise.
6762
6763 2010-08-26  Bruno Haible  <bruno@clisp.org>
6764
6765         Modernize AC_TRY_COMPILE invocations.
6766         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
6767         AC_TRY_COMPILE.
6768         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
6769         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
6770         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
6771         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6772         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
6773         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6774         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6775         * m4/lock.m4 (gl_LOCK): Likewise.
6776         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
6777         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
6778         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
6779         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
6780         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
6781         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
6782         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
6783         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
6784         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
6785         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
6786         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
6787         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
6788         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
6789         extraneous semicolon.
6790
6791 2010-08-26  Jim Meyering  <meyering@redhat.com>
6792
6793         stat-time: relax license LGPL
6794         * modules/stat-time (License): Change from GPL to LGPL,
6795         with consent from all contributors, for use in libguile.
6796         Requested by Ludovic Courtès.
6797
6798 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
6799
6800         poll: return immediately on POLLHUP.
6801         * lib/poll.c (poll): Always set timeout before wait_timeout is
6802         computed.
6803
6804 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6805
6806         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
6807         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
6808         rmdir ("dir/.//"), unlinkat.
6809
6810 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6811
6812         stdbool: avoid spurious failure with modern xlc
6813         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
6814
6815 2010-08-24  Bruno Haible  <bruno@clisp.org>
6816
6817         getloadavg: simplify code
6818         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
6819         gl_have_func. Update comments.
6820
6821 2010-08-24  Eric Blake  <eblake@redhat.com>
6822
6823         getloadavg: don't define SVR4 on cygwin
6824         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
6825         only define SVR4 when -lkvm is required.
6826         Reported by Yaakov Selkowitz.
6827
6828 2010-08-24  Bruno Haible  <bruno@clisp.org>
6829
6830         priv-set: fix comment
6831         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
6832
6833 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6834
6835         priv-set: fix comments
6836         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
6837         to match code, as suggested by David Bartley in:
6838         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
6839
6840 2010-08-23  Eric Blake  <eblake@redhat.com>
6841
6842         stdbool: avoid rejecting clang
6843         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
6844         * tests/test-stdbool.c: Enable more tests if using the system
6845         <stdbool.h> instead of the gnulib replacement.
6846         (main): Move xlc bug test to a runtime test for all compilers.
6847         Reported by Anders Kaseorg.
6848
6849         argz: fix shell quoting issue
6850         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
6851         Reported by Charles Wilson.
6852
6853 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
6854             Erik Faye-Lund <kusmabite@gmail.com>
6855
6856         poll, select: handle ERROR_BROKEN_PIPE.
6857         * lib/poll.c (win32_compute_revents): Return POLLHUP when
6858         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
6859         * lib/select.c (win32_compute_revents): Do not mark a pipe
6860         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
6861
6862 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
6863
6864         fts: allow compilation with C++
6865         * lib/fts_.h: Specify extern "C" linkage with C++.
6866
6867 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6868
6869         Fix gnulib-tool sed script de-commentation for AIX sed.
6870         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
6871         sed.
6872
6873 2010-08-17  Eric Blake  <eblake@redhat.com>
6874
6875         test-stddef: test for (some) offsetof bugs
6876         * tests/test-stddef.c: Enhance test to ensure correct type of
6877         offsetof.
6878         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
6879         that we are not fixing at this time.
6880
6881 2010-08-15  Bruno Haible  <bruno@clisp.org>
6882
6883         stpncpy: Allow stpncpy to be defined as a macro.
6884         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
6885         if it's already correctly declared.
6886         * lib/string.in.h (stpncpy): Undefine before redefining.
6887         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
6888
6889 2010-08-14  Bruno Haible  <bruno@clisp.org>
6890
6891         Rename module 'memxfrm' to 'amemxfrm'.
6892         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
6893         (amemxfrm): Renamed from memxfrm.
6894         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
6895         (amemxfrm): Renamed from memxfrm.
6896         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
6897         * NEWS: Mention the change.
6898         * MODULES.html.sh (String handling <string.h>): Update.
6899         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
6900         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
6901         * lib/unicase/u16-casexfrm.c: Likewise.
6902         * lib/unicase/u32-casexfrm.c: Likewise.
6903         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
6904         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
6905         * lib/uninorm/u16-normxfrm.c: Likewise.
6906         * lib/uninorm/u32-normxfrm.c: Likewise.
6907         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
6908         memxfrm.
6909         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
6910         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
6911         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
6912         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
6913         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
6914         Suggested by Paul Eggert.
6915
6916 2010-08-14  Bruno Haible  <bruno@clisp.org>
6917
6918         Tests for module 'astrxfrm'.
6919         * modules/astrxfrm-tests: New file.
6920         * tests/test-astrxfrm.c: New file.
6921
6922         New module 'astrxfrm'.
6923         * lib/astrxfrm.h: New file.
6924         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
6925         * modules/astrxfrm: New file.
6926
6927 2010-08-14  Reuben Thomas <rrt@sc3d.org>
6928
6929         regex: Tweak doc.
6930         * doc/regex.texi (Overview): Don't mention regex.c.
6931         (GNU Regular Expression Compiling): Likewise.
6932         (Match-end-of-line Operator): Mention 'not_eol'.
6933
6934 2010-08-14  Brian Gough  <bjg@gnu.org>
6935             Bruno Haible  <bruno@clisp.org>
6936
6937         git-merge-changelog: add doc relating to use with bzr and hg.
6938         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
6939
6940 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
6941
6942         pthread: fix pthread.h creation for srcdir != builddir
6943         * modules/pthread (Makefile.am): Fix the rule to work also in a
6944         non-srcdir build.
6945
6946 2010-08-13  Karl Berry  <karl@gnu.org>
6947
6948         * doc/regex.texi (Predefined Syntaxes): @smallexample.
6949         * doc/posix-*/*: force line break before @url of POSIX
6950         specifications.
6951         Suggested by Werner Lemberg.
6952
6953 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6954
6955         strtod: fix const diagnostic
6956         * lib/strtod.c (strtod): Don't assign const char * to char *,
6957         as this elicits a warning from GCC when warnings are enabled.
6958
6959 2010-08-10  Pádraig Brady <P@draigbrady.com>
6960         and Eric Blake  <eblake@redhat.com>
6961
6962         copy-acl: ignore ENOTSUP on HP-UX
6963         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
6964         so that it is available for HP-UX.
6965         * lib/copy-acl.c (qcopy_acl): Use it.
6966         Reported by Patrick M. Callahan.
6967
6968 2010-08-10  Eric Blake  <eblake@redhat.com>
6969
6970         open, chown: relax license
6971         * modules/open (License): Change to LGPLv2+, with consent by all
6972         authors, for use in augeas.
6973         * modules/chown (License): Likewise.
6974         * modules/lchown (Likewise): Likewise.
6975         Requested by Adam Stokes.
6976
6977 2010-08-09  Karl Berry  <karl@gnu.org>
6978
6979         * build-aux/ar-lib: new file, import from Automake.
6980         * config/srclist.txt: autocheck for updates.
6981
6982 2010-08-09  Eric Blake  <eblake@redhat.com>
6983
6984         readlinkat: adjust client modules
6985         * modules/areadlinkat (Depends-on): Use readlinkat, not
6986         symlinkat.
6987         * modules/areadlinkat-with-size (Depends-on): Likewise.
6988
6989         mknod: be more vocal about danger of running tests as root
6990         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
6991         root, since that is just asking for problems.
6992         Suggested by Bruno Haible, based on a report by Rainer Tammer.
6993
6994         readlinkat: split into its own module
6995         * modules/symlinkat: Split readlinkat...
6996         * modules/readlinkat: ...into separate module.
6997         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
6998         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
6999         * lib/symlinkat.c (readlinkat): Move...
7000         * lib/readlinkat.c: ...into new file.
7001         * modules/symlinkat-tests: Split readlinkat test...
7002         * modules/readlinkat-tests: ...into separate module.
7003         * tests/test-symlinkat.c: Split...
7004         * tests/test-readlinkat.c: ...into new file.
7005         * NEWS: Document the split.
7006         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7007         * lib/unistd.in.h (readlinkat): Likewise.
7008         Suggested by Bruno Haible.
7009
7010 2010-08-08  Bruno Haible  <bruno@clisp.org>
7011
7012         memxfrm: Speed up.
7013         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
7014         that usually only one call to strxfrm is necessary for each string
7015         part.
7016         Reported by Paul Eggert <eggert@cs.ucla.edu>.
7017
7018 2010-08-07  Karl Berry  <karl@gnu.org>
7019
7020         * doc/posix-headers/limits.texi,
7021         * doc/posix-functions/malloc.texi,
7022         * doc/posix-functions/strsignal.texi: missing @item.
7023         * doc/ld-version-script.texi: spurious leading i.
7024         * doc/regex.texi (Interval Operators): no commas inside @var.
7025
7026 2010-08-01  Bruno Haible  <bruno@clisp.org>
7027
7028         Integrate the regex documentation.
7029         * doc/gnulib.texi: Define 'cn' index.
7030         (Regular expressions): New a chapter that includes regex.texi and
7031         regexprops-generic.texi.
7032         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
7033         syntax.
7034
7035         Whitespace cleanup.
7036         * doc/regex.texi: Remove trailing spaces.
7037
7038         Add regex documentation.
7039         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
7040         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
7041         Written by Kathy A. Hargreaves and Karl Berry.
7042
7043 2010-08-01  Bruno Haible  <bruno@clisp.org>
7044
7045         link: Update documentation.
7046         * doc/posix-functions/link.texi: Update regarding Solaris.
7047
7048 2010-07-31  Bruno Haible  <bruno@clisp.org>
7049
7050         Update modules list.
7051         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
7052         (String handling <string.h>): Add memcmp2, memxfrm.
7053         (Container data structures): Add xlist, xsublist, xoset.
7054         (Core language properties): Add alignof, unused-parameter.
7055         (Process control, Numeric conversion functions <stdlib.h>): Renamed
7056         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
7057         (Unibyte characters <ctype.h>): New section.
7058         (String handling <string.h>): New section.
7059         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
7060         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
7061         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
7062         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
7063         tan, tanh, tanl, y0, y1, yn.
7064         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
7065         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
7066         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
7067         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
7068         unlockpt, vdprintf, vdprintf-posix.
7069         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
7070         (File system functions): Add concat-filename, sys_file, sys_ioctl,
7071         xconcat-filename.
7072         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
7073         getdtablesize, pipe2, pipe2-safer.
7074         (Security): New section.
7075         (Networking functions): Add accept4.
7076         (Signal handling): Add sigpipe.
7077         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
7078         mbmemcasecoll.
7079         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
7080         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
7081         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
7082         pipe-filter-ii.
7083         (Misc): Add argp-version-etc, login_tty, parse-duration.
7084
7085 2010-07-31  Bruno Haible  <bruno@clisp.org>
7086
7087         Improve doc in MODULES.html.
7088         * modules/linkat (Description): Add the word "function".
7089         * modules/mkfifo (Description): Likewise.
7090         * modules/mknod (Description): Likewise.
7091         * modules/remove (Description): Likewise.
7092         * modules/renameat (Description): Likewise.
7093         * modules/stat (Description): Likewise.
7094         * modules/symlink (Description): Likewise.
7095         * modules/unlink (Description): Likewise.
7096
7097 2010-07-31  Bruno Haible  <bruno@clisp.org>
7098
7099         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
7100         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
7101         option --enable/disable-c++ instead of --enable/disable-cxx.
7102         * NEWS: Mention the change.
7103
7104 2010-07-31  Bruno Haible  <bruno@clisp.org>
7105
7106         readlink, areadlink: Relax test a bit.
7107         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
7108         alternative to ENOTDIR.
7109         * tests/test-areadlink.h (test_areadlink): Likewise.
7110         Reported by Rainer Tammer.
7111
7112 2010-07-31  Bruno Haible  <bruno@clisp.org>
7113
7114         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
7115         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
7116         character, perform the search using U_STRCHR.
7117         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
7118         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
7119         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
7120         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
7121         Suggested by Paolo Bonzini.
7122
7123 2010-07-31  Bruno Haible  <bruno@clisp.org>
7124
7125         unistr/u*-strstr: Fix dependencies.
7126         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
7127         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
7128         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
7129
7130 2010-07-31  Bruno Haible  <bruno@clisp.org>
7131
7132         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
7133         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
7134         the beginning of the loop.
7135         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
7136         cases in 'switch' statement.
7137
7138         unistr/u8-strchr: Fix several bugs.
7139         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
7140         the string. When not found, return NULL, not a pointer near the end.
7141
7142         More tests for unistr/u8-strchr.
7143         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
7144         that the function does not read past the first occurrence of the byte
7145         being searched.
7146         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
7147         * tests/unistr/test-u16-strchr.c (main): New function.
7148         * tests/unistr/test-u32-strchr.c (main): New function.
7149
7150 2010-07-31  Bruno Haible  <bruno@clisp.org>
7151
7152         posix-modules: Ignore backup files of documentation files.
7153         * posix-modules: grep only through files named *.texi.
7154
7155 2010-07-31  Bruno Haible  <bruno@clisp.org>
7156
7157         symlinkat: Fix documentation.
7158         * doc/posix-functions/readlinkat.texi: Fix module name.
7159
7160 2010-07-31  Bruno Haible  <bruno@clisp.org>
7161
7162         fchownat: Replace also when chown has the trailing slash bug.
7163         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
7164         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
7165         introduced on 2010-04-10.
7166         Reported by Rainer Tammer.
7167
7168 2010-07-31  Bruno Haible  <bruno@clisp.org>
7169
7170         linkat: Work around AIX 7.1 bug.
7171         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
7172         whether linkat handles trailing slash correctly. If not, replace linkat
7173         and define LINKAT_TRAILING_SLASH_BUG.
7174         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
7175         check whether (fd1,file1) points to a directory if file1 or file2 ends
7176         in a slash. Code taken from lib/link.c.
7177         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
7178         Reported by Rainer Tammer.
7179
7180 2010-07-31  Bruno Haible  <bruno@clisp.org>
7181
7182         Correctly determine whether pow is available in libc on AIX 7 with xlc.
7183         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
7184         This disables an xlc optimization that was causing wrong test results.
7185         Reported by Rainer Tammer.
7186
7187 2010-07-31  Bruno Haible  <bruno@clisp.org>
7188
7189         iconv: Work around AIX 6.1..7.1 bug.
7190         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
7191         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
7192         cross-compiling, guess no on all versions of AIX.
7193         Reported by Rainer Tammer.
7194
7195 2010-07-31  Bruno Haible  <bruno@clisp.org>
7196
7197         readlink: Relax test a bit.
7198         * tests/test-readlink.h (test_readlink): Allow different errno value
7199         when readlink is called with a file name that ends in / and refers to
7200         a file.
7201         Suggested by Eric Blake.
7202         Reported by Rainer Tammer.
7203
7204 2010-07-31  Bruno Haible  <bruno@clisp.org>
7205
7206         copysign: Does not require -lm on glibc systems.
7207         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
7208         gl_COMMON_DOUBLE_MATHFUNC.
7209         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
7210
7211 2010-07-31  Bruno Haible  <bruno@clisp.org>
7212
7213         duplocale: Work around AIX 7.1 bug.
7214         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
7215         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
7216         * lib/duplocale.c (rpl_duplocale): Update comment.
7217         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
7218         Reported by Rainer Tammer.
7219
7220 2010-07-30  Bruno Haible  <bruno@clisp.org>
7221
7222         dirfd: Avoid link error on AIX 7.1.
7223         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
7224         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
7225         exist, set REPLACE_DIRFD.
7226         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
7227         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
7228         * doc/posix-functions/dirfd.texi: Update.
7229         Reported by Rainer Tammer.
7230
7231 2010-07-30  Eric Blake  <eblake@redhat.com>
7232
7233         strtod: next round of AIX fixes
7234         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
7235         exponent.
7236         * tests/test-strtod.c (main): Enhance tests.
7237         * doc/posix-functions/strtod.texi (strtod): Document next bug.
7238         Reported by Rainer Tammer.
7239
7240         futimens: fix configure check
7241         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
7242         Reported by Bruno Haible.
7243
7244 2010-07-30  Bruno Haible  <bruno@clisp.org>
7245
7246         getline: Update regarding AIX.
7247         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
7248         Reported by Rainer Tammer.
7249
7250 2010-07-30  Bruno Haible  <bruno@clisp.org>
7251
7252         wcwidth: Drop replacement on AIX 7.
7253         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
7254         AIX 7.
7255         Reported by Rainer Tammer.
7256
7257 2010-07-30  Bruno Haible  <bruno@clisp.org>
7258
7259         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
7260         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
7261         a 'char *'.
7262         Reported by Rainer Tammer.
7263
7264 2010-07-30  Bruno Haible  <bruno@clisp.org>
7265
7266         unlink: Update regarding AIX.
7267         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
7268         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
7269         Reported by Rainer Tammer.
7270
7271 2010-07-30  Bruno Haible  <bruno@clisp.org>
7272
7273         symlink: Update regarding AIX.
7274         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
7275         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
7276         Reported by Rainer Tammer.
7277
7278 2010-07-30  Bruno Haible  <bruno@clisp.org>
7279
7280         strndup: Update regarding AIX.
7281         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
7282         AIX 7.
7283         Reported by Rainer Tammer.
7284
7285 2010-07-30  Bruno Haible  <bruno@clisp.org>
7286
7287         stat: Update regarding AIX.
7288         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
7289         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
7290         Reported by Rainer Tammer.
7291
7292 2010-07-30  Bruno Haible  <bruno@clisp.org>
7293
7294         truncl: Fix autoconf test.
7295         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
7296         whether truncl works.
7297         Reported by Rainer Tammer.
7298
7299 2010-07-30  Bruno Haible  <bruno@clisp.org>
7300
7301         round: Update regarding AIX.
7302         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
7303         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
7304         Reported by Rainer Tammer.
7305
7306 2010-07-30  Bruno Haible  <bruno@clisp.org>
7307
7308         rename: Update regarding AIX.
7309         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
7310         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
7311         Reported by Rainer Tammer.
7312
7313 2010-07-30  Bruno Haible  <bruno@clisp.org>
7314
7315         printf.m4: Update regarding AIX.
7316         * m4/printf.m4: Update comments regarding AIX.
7317         Reported by Rainer Tammer.
7318
7319 2010-07-30  Bruno Haible  <bruno@clisp.org>
7320
7321         iconv: Update regarding AIX.
7322         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
7323         AIX 7.
7324         Reported by Rainer Tammer.
7325
7326 2010-07-30  Bruno Haible  <bruno@clisp.org>
7327
7328         getopt: Update regarding AIX.
7329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
7330         no on AIX.
7331         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
7332         Reported by Rainer Tammer.
7333
7334 2010-07-30  Bruno Haible  <bruno@clisp.org>
7335
7336         ldexpl; Update regarding AIX.
7337         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
7338         on AIX 7.
7339         Reported by Rainer Tammer.
7340
7341 2010-07-30  Bruno Haible  <bruno@clisp.org>
7342
7343         frexpl: Update regarding AIX.
7344         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
7345         on AIX 7.
7346         Reported by Rainer Tammer.
7347
7348 2010-07-30  Bruno Haible  <bruno@clisp.org>
7349
7350         open, fopen: Update regarding AIX.
7351         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
7352         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
7353         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
7354         * doc/posix-functions/fopen.texi: Likewise.
7355         Reported by Rainer Tammer.
7356
7357 2010-07-30  Bruno Haible  <bruno@clisp.org>
7358
7359         chown: Update doc regarding AIX.
7360         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
7361         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
7362         Reported by Rainer Tammer.
7363
7364 2010-07-30  Eric Blake  <eblake@redhat.com>
7365
7366         strtod: fix bug in replacement function on AIX
7367         * lib/strtod.c (strtod): Special case broken "0x" parse in
7368         underlying strtod.
7369         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
7370         * doc/posix-functions/strtod.texi (strtod): Likewise.
7371         Reported by Rainer Tammer.
7372
7373 2010-07-30  Bruno Haible  <bruno@clisp.org>
7374
7375         mbrlen: Fix cross-compilation guess for AIX.
7376         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
7377         guess. Leftover from 2008-12-22.
7378
7379 2010-07-30  Bruno Haible  <bruno@clisp.org>
7380
7381         mbrtowc: Fix cross-compilation guess for AIX.
7382         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
7383         guess. Leftover from 2008-12-21.
7384
7385 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
7386
7387         init.sh: work around trap limitation of some shells
7388         * tests/init.sh (setup_): Move exit trap outside of shell function.
7389
7390 2010-07-29  Eric Blake  <eblake@redhat.com>
7391
7392         strtod: aid debugging
7393         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
7394         understanding why strtod is rejected.
7395
7396 2010-07-28  Bruno Haible  <bruno@clisp.org>
7397
7398         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
7399         * lib/unistr/u8-chr.c: Include <string.h>.
7400         * tests/unistr/test-u8-chr.c: Likewise.
7401         * tests/unistr/test-u16-chr.c: Likewise.
7402         * tests/unistr/test-u32-chr.c: Likewise.
7403         * tests/unistr/test-u8-strchr.c: Likewise.
7404         * tests/unistr/test-u16-strchr.c: Likewise.
7405         * tests/unistr/test-u32-strchr.c: Likewise.
7406         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
7407         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
7408         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
7409         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
7410
7411 2010-07-28  Bruno Haible  <bruno@clisp.org>
7412
7413         Use spaces for indentation, not tabs.
7414         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
7415
7416 2010-07-27  Bruno Haible  <bruno@clisp.org>
7417
7418         mbspcasecmp: Fix function specification.
7419         * lib/string.in.h (mbspcasecmp): Fix specification comment.
7420         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
7421         Reported by Eric Blake <eblake@redhat.com>.
7422
7423 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
7424
7425         timespec: use cast and not conditional, as truncation isn't possible
7426         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
7427         instead of a conditional.  Comment about the situation in more detail.
7428         This undoes most of the 2009-10-29 patch.
7429
7430 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
7431
7432         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
7433         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
7434         * lib/unistr/u8-strchr.c: Likewise.
7435         * modules/unistr/u8-chr: Depend on memchr.
7436
7437         unistr/u*-strchr: add tests
7438         * modules/unistr/u8-strchr-tests: New file.
7439         * modules/unistr/u16-strchr-tests: New file.
7440         * modules/unistr/u32-strchr-tests: New file.
7441         * tests/unistr/test-strchr.h: New file.
7442         * tests/unistr/test-u8-strchr.c: New file.
7443         * tests/unistr/test-u16-strchr.c: New file.
7444         * tests/unistr/test-u32-strchr.c: New file.
7445
7446         unistr/u*-chr: test multibyte sequences more
7447         * tests/unistr/test-chr.h: Do complete testing of the characters in the
7448         test vector.
7449         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
7450         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
7451         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
7452
7453         unistr/u*-chr: test multibyte sequences
7454         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
7455
7456         unistr/u*-chr: prepare for multibyte tests
7457         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
7458         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
7459         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
7460         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
7461         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
7462         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
7463
7464 2010-07-18  Bruno Haible  <bruno@clisp.org>
7465
7466         unistr/u8-strchr: Optimize non-ASCII argument case.
7467         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
7468         because the first byte often matches anyway.
7469         Reported by Pádraig Brady <P@draigbrady.com>.
7470
7471 2010-07-15  Karl Berry  <karl@gnu.org>
7472
7473         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
7474
7475 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
7476
7477         getcwd: on Solaris, work better if ancestors are inaccessible
7478         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
7479         buffer and size, try again with a large buffer.  This works better
7480         on Solaris, since its getcwd succeeds even if the path to the root
7481         is inaccessible, and this is helpful in common cases such as .zfs
7482         hidden directories.  Problem reported by J Chapman Flack in
7483         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
7484         Use system getcwd if it's declared, not merely if it's partly
7485         working; use the partly-working test only to avoid needless effort
7486         if the system getcwd fails.
7487         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
7488         comment that was already obsolete and is now even more obsolete.
7489         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
7490         now might call strdup.
7491
7492 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
7493
7494         pthread: Add enough so that coreutils/src/sort.c compiles.
7495         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
7496         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
7497         gnulib. Include <sched.h> and <time.h>, as per POSIX.
7498         Include <sys/types.h>, in case it defines pthread_t.
7499         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
7500         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
7501         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
7502         (pthread_rwlockattr_t, pthread_spinlock_t):
7503         New typedefs, if HAVE_PTHREAD_T is not defined.
7504         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
7505         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
7506         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
7507         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
7508         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
7509         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
7510         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
7511         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
7512         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
7513         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
7514         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
7515         New macros.
7516         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
7517         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
7518         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
7519         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
7520         (pthread_spin_unlock): New dummy functions.
7521         (pthread_create): Return EAGAIN; don't set errno.
7522         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
7523         require AC_C_INLINE.
7524         * modules/pthread (Depends-on): Add sched, time.
7525         (pthread.h): Use AM_V_GEN.
7526
7527 2010-07-13  Bruno Haible  <bruno@clisp.org>
7528
7529         striconveh: Don't malloc memory if the result buffer is sufficient.
7530         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
7531         buffer if its size is sufficient.
7532         Reported by Ludovic Courtès <ludo@gnu.org>.
7533
7534 2010-07-13  Bruno Haible  <bruno@clisp.org>
7535
7536         strtod: Add safety check.
7537         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
7538
7539 2010-07-12  Bruno Haible  <bruno@clisp.org>
7540
7541         Unify tests that set gl_cv_func_ldexpl_no_libm.
7542         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
7543         gl_FUNC_LDEXPL.
7544         (gl_FUNC_LDEXPL): Invoke it.
7545         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7546
7547 2010-07-12  Bruno Haible  <bruno@clisp.org>
7548
7549         Unify tests that set gl_cv_func_ldexp_no_libm.
7550         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
7551         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
7552         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
7553         (configure.ac): Simply invoke gl_FUNC_LDEXP.
7554         * modules/strtod (Files): Add m4/ldexp.m4.
7555
7556 2010-07-12  Bruno Haible  <bruno@clisp.org>
7557
7558         Unify tests that set gl_cv_func_frexpl_no_libm.
7559         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
7560         gl_FUNC_FREXPL_NO_LIBM.
7561         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
7562         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7563
7564 2010-07-12  Bruno Haible  <bruno@clisp.org>
7565
7566         Unify tests that set gl_cv_func_frexp_no_libm.
7567         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
7568         gl_FUNC_FREXP_NO_LIBM.
7569         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
7570         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
7571
7572 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
7573
7574         memcoll: clarify sizes versus lengths, document better, and tweak perf
7575         * lib/memcoll.c (strcoll_loop, memcoll0):
7576         Improve quality of descriptive comments.  Name variables
7577         consistently as to whether they are lengths (which do not include
7578         terminating null) versus sizes (which do).
7579         * lib/xmemcoll.c (xmemcoll0): Likewise.
7580         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
7581         returned when s1size == 0; this is easier to compile and saves
7582         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
7583
7584 2010-07-12  Bruno Haible  <bruno@clisp.org>
7585
7586         Tests for module '_Exit'.
7587         * modules/_Exit-tests: New file.
7588         * tests/test-_Exit.sh: New file.
7589         * tests/test-_Exit.c: New file.
7590
7591         New module '_Exit'.
7592         * lib/stdlib.in.h (__attribute__): New macro.
7593         (_Exit): New declaration.
7594         * lib/_Exit.c: New file.
7595         * m4/_Exit.m4: New file.
7596         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
7597         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
7598         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
7599         * modules/_Exit: New file.
7600         * tests/test-stdlib-c++.cc (_Exit): Check signature.
7601         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
7602
7603 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
7604
7605         strtod: make it more-accurate typically, and don't require libm
7606         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
7607         Include limits.h.  Don't include string.h.
7608         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
7609         (locale_isspace): New function, so that no casts are needed to
7610         check whether *s is a space.
7611         (ldexp): Provide an unused dummy if not available.
7612         (scale_radix_exp, parse_number, underlying_strtod): New functions.
7613         (strtod): Use them.  This implementation prefers to use the
7614         underlying strtod if available, falling back on our own code
7615         only to fix known bugs.  This is more likely to produce an
7616         accurate result.  Also, it avoids the use of libm functions.
7617         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
7618         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
7619         was absent, but it caused a test failure with coreutils.
7620         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
7621         with libm.
7622         * modules/strtod (Makefile.am, Link): libm is no longer needed.
7623         * modules/strtod-tests (Makefile.am): Likewise.
7624
7625 2010-07-11  Pádraig Brady  <P@draigBrady.com>
7626             Bruno Haible  <bruno@clisp.org>
7627
7628         unistr/u8-strchr: Optimize ASCII argument case.
7629         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
7630
7631 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7632
7633         (x)memcoll: minor tweaks
7634         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
7635         is after the type that it qualifies.
7636         (memcoll0): Likewise.
7637         * lib/memcoll.h (memcoll0): Likewise.
7638         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
7639         * lib/xmemcoll.h (xmemcoll0): Likewise.
7640         * lib/memcoll.c (memcoll0): Correct the comment.  This function
7641         differs from memcoll in that the NUL byte is part of the argument.
7642         Omit the abort-checks, as performance is a real issue here.  Plus,
7643         the checks were wrong anyway (an off-by-one error).  Omit local
7644         variable 'diff', as it's a bit clearer that way.
7645         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
7646         no longer needed.
7647
7648 2010-07-08  Chen Guo <chenguo4@yahoo.com>
7649
7650         (x)memcoll: speedup when input is known to be NUL delimited
7651         * lib/memcoll.c: Include stdlib.
7652         (memcoll0) New function.
7653         (strcoll_loop) New function, refactored for use in both memcoll
7654         and memcoll0.
7655         * lib/memcoll.h: Add prototype for memcoll0.
7656         * lib/xmemcoll.c: (xmemcoll0) New function.
7657         (collate_error) New function, refactored for use in both xmemcoll
7658         and xmemcoll0.
7659         * lib/xmemcoll.h: Add prototype for xmemcoll0.
7660         * m4/memcoll.m4: add inline invocation.
7661
7662 2010-07-06  Pádraig Brady  <P@draigBrady.com>
7663
7664         * build-aux/bootstrap: Remove any local translations
7665         from the translation project synchronization directory,
7666         so that local only translations are not distributed.
7667
7668 2010-07-04  Bruno Haible  <bruno@clisp.org>
7669
7670         fsusage: Clarify which code applies to which platforms.
7671         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
7672         platform.
7673         * lib/fsusage.c (get_fs_usage): Likewise.
7674
7675 2010-07-04  Bruno Haible  <bruno@clisp.org>
7676
7677         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
7678         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
7679         Reported by Martin Lambers <marlam@marlam.de>.
7680
7681 2010-07-04  Jim Meyering  <meyering@redhat.com>
7682
7683         hash: once again explicitly disallow insertion of NULL
7684         * lib/hash.c (hash_insert0): Reinstate just-removed test:
7685         inserting a NULL pointer cannot work with these functions.
7686         Add a comment with details.
7687         This reverts part of the 2010-07-01 commit, 5bef1a35
7688         "hash: extend module to deal with non-pointer keys".
7689
7690 2010-07-01  Bruno Haible  <bruno@clisp.org>
7691
7692         stdbool: Update doc.
7693         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
7694         Info from Christian Weisgerber <naddy@mips.inka.de>.
7695
7696 2010-07-01  Jim Meyering  <meyering@redhat.com>
7697
7698         hash: extend module to deal with non-pointer keys
7699         * lib/hash.c (hash_insert0): New interface, much like hash_insert
7700         but that allows insertion of non-pointer entries.
7701         Do not disallow an ENTRY value of NULL.
7702         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
7703         * lib/hash.h (hash_insert0): Declare.
7704
7705 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7706
7707         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
7708         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
7709         not present (i.e. with autoconf 2.59 and when using gettextize, not
7710         gnulib), require AC_GNU_SOURCE instead.
7711
7712 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
7713
7714         idpriv-drop: Fix tests.
7715         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
7716         not to the test-idpriv-droptemp program.
7717
7718 2010-06-29  Bruno Haible  <bruno@clisp.org>
7719
7720         string: Fix syntax error with g++ 2.96.
7721         * lib/string.in.h (__pure__): Remove definition.
7722         (_GL_ATTRIBUTE_PURE): New macro.
7723         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
7724         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
7725         Reported by Christian Weisgerber <naddy@mips.inka.de>.
7726
7727 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
7728
7729         unitypes: Fix bug introduced on 2010-05-18.
7730         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
7731
7732 2010-06-22  Eric Blake  <eblake@redhat.com>
7733
7734         memmem: slight optimization
7735         * lib/str-two-way.h (critical_factorization): Update comments.
7736         Reduce work during factorization phase.
7737         Reported by Carlos Bueno <carlos@bueno.org>.
7738
7739 2010-06-21  Bruno Haible  <bruno@clisp.org>
7740
7741         Fix HAVE_CALLOC_POSIX misnomer.
7742         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
7743         !HAVE_CALLOC_POSIX.
7744         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
7745         HAVE_CALLOC_POSIX.
7746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
7747         instead of HAVE_CALLOC_POSIX.
7748         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
7749         HAVE_CALLOC_POSIX.
7750
7751         Use modern idiom for calloc() replacement.
7752         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
7753         AC_FUNC_CALLOC.
7754         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
7755         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
7756         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7757         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
7758         (gl_REPLACE_CALLOC): New macro.
7759
7760 2010-06-21  Bruno Haible  <bruno@clisp.org>
7761
7762         Fix HAVE_REALLOC_POSIX misnomer.
7763         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
7764         !HAVE_REALLOC_POSIX.
7765         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
7766         HAVE_REALLOC_POSIX.
7767         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
7768         instead of HAVE_REALLOC_POSIX.
7769         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
7770         HAVE_REALLOC_POSIX.
7771
7772         Use modern idiom for realloc() replacement.
7773         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
7774         AC_FUNC_REALLOC.
7775         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
7776         Autoconf's AC_FUNC_REALLOC.
7777         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7778         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
7779         (gl_REPLACE_REALLOC): New macro.
7780         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
7781
7782 2010-06-21  Bruno Haible  <bruno@clisp.org>
7783
7784         Fix HAVE_MALLOC_POSIX misnomer.
7785         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
7786         !HAVE_MALLOC_POSIX.
7787         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
7788         HAVE_MALLOC_POSIX.
7789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
7790         instead of HAVE_MALLOC_POSIX.
7791         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
7792         HAVE_MALLOC_POSIX.
7793
7794         Use modern idiom for malloc() replacement.
7795         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
7796         AC_FUNC_MALLOC.
7797         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
7798         Autoconf's AC_FUNC_MALLOC.
7799         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7800         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
7801         (gl_REPLACE_MALLOC): New macro.
7802         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
7803
7804 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
7805
7806         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
7807         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
7808         This macro takes 3 arguments, not 4.
7809
7810 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
7811
7812         ipv6: fix detection under mingw
7813         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
7814         in6_addr.
7815
7816 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
7817
7818         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
7819         that strtod() works when cross-compiling to a glibc version known
7820         to work.
7821
7822 2010-06-15  Bruno Haible  <bruno@clisp.org>
7823
7824         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
7825
7826 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
7827
7828         select: Correct timeout.
7829         * lib/select.c (rpl_select): Compute wait_timeout correctly.
7830
7831 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7832
7833         git-version-gen: init shell var to avoid env var influence
7834         * build-aux/git-version-gen (v): Init shell var to empty.
7835
7836 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
7837
7838         priv-set: Don't assume that priv.h exists merely because getppriv does.
7839         See Jan Andersen's bug report about AIX 5L in
7840         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
7841         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
7842         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
7843         * lib/priv-set.h: Likewise.
7844         * tests/test-priv-set.c: Likewise.
7845
7846 2010-06-13  Bruno Haible  <bruno@clisp.org>
7847
7848         relocatable: Make it easier to test whether to install wrappers.
7849         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
7850         RELOCATABLE_VIA_WRAPPER.
7851
7852 2010-06-13  Bruno Haible  <bruno@clisp.org>
7853
7854         gnulib-tool: Display specified modules and dependencies differently.
7855         * gnulib-tool (func_show_module_list): New function.
7856         (func_import, func_create_testdir): Invoke it.
7857         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
7858
7859 2010-06-13  Bruno Haible  <bruno@clisp.org>
7860
7861         gnulib-tool: Align code of func_import and func_create_testdir.
7862         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
7863         specified_modules.
7864
7865 2010-06-12  Jim Meyering  <meyering@redhat.com>
7866
7867         test-inttostr: avoid spurious failure on Solaris 9
7868         * tests/test-inttostr.c (main): Skip the test when snprintf fails
7869         to accept "%ju".  Reported by Bruno Haible.
7870
7871 2010-06-11  Jim Meyering  <meyering@redhat.com>
7872
7873         test-sys_socket: mark variables as used more readably
7874         * tests/test-sys_socket.c (main): Mark otherwise unused variables
7875         as "used" explicitly via (void) statement casts.  This is more
7876         readable than using them in an artificial return expression.
7877         Suggestion from Bruno Haible.
7878
7879 2010-06-11  Bruno Haible  <bruno@clisp.org>
7880
7881         Avoid some more warnings from "gcc -Wwrite-strings".
7882         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
7883         to 'const char *'.
7884         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
7885         * tests/test-c-strcasestr.c (main): Likewise.
7886         * tests/test-mbscasestr1.c (main): Likewise.
7887         * tests/test-mbscasestr2.c (main): Likewise.
7888         * tests/test-memmem.c (main): Likewise.
7889         * tests/test-strstr.c (main): Likewise.
7890         * tests/test-strcasestr.c (main): Likewise.
7891
7892 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7893
7894         init.sh: change framework_failure_ to fail with status 99, not 1
7895         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
7896         automake's parallel-tests rule that this is an unexpected failure,
7897         even if the test is listed in XFAIL_TESTS.
7898
7899 2010-06-11  Jim Meyering  <meyering@redhat.com>
7900
7901         test-inttostr: avoid warnings about 4-6KB literal strings
7902         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
7903         Include "macros.h", for its definition of ASSERT.
7904         (CK): s/assert/ASSERT/
7905         * modules/inttostr-tests (Files): Add macros.h.
7906
7907         init.sh: don't use $ME_ or skip_ before they are defined
7908         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
7909         their first uses.  Also hoist their companions: warn_, fail_,
7910         framework_failure_, $stderr_fileno.  Prompted by a patch from
7911         Stefano Lattarini.
7912
7913         test-sys_socket: avoid set-but-not-used warnings from gcc
7914         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
7915         avoid warning about set-but-not-used variables.
7916
7917         test-xvasprintf: avoid 'const' discard warnings
7918         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
7919         "const" when assigning from literal strings.
7920         (test_xasprintf): Add "void" in function argument list to placate
7921         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
7922
7923         tests: avoid compilation warnings in argmatch and exclude tests...
7924         in packages that define ARGMATCH_DIE_DECL, like coreutils.
7925         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
7926         Since it always exits, declare with the "noreturn" attribute.
7927         * tests/test-argmatch.c: Likewise.
7928
7929         tests: avoid 'const' discard warnings in mbsstr tests
7930         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
7931         * tests/test-mbsstr2.c (main): Likewise.
7932
7933         test-verify: avoid warning from gcc's -Wmissing-declarations
7934         * tests/test-verify.c (function): Declare to be static.
7935
7936         test-inttostr.c: include <string.h> for use of strcmp
7937         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
7938
7939         test-linkat: avoid failed assertion on "other" architectures
7940         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
7941         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
7942         sparc: https://bugs.launchpad.net/bugs/591968
7943
7944 2010-06-11  Jim Meyering  <meyering@redhat.com>
7945
7946         printf.m4: avoid autoconf's "Expanded Before Required" warning
7947         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
7948         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
7949         autoconf warning.
7950
7951 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
7952
7953         Replacement header templates are now named with ".in", not "_".
7954         * doc/gnulib-intro.texi: Correct.
7955
7956 2010-06-10  Jim Meyering  <meyering@redhat.com>
7957
7958         inttostr-tests: depend on snprintf, not snprintf-posix
7959         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
7960         snprintf-posix, to avoid this aclocal failure:
7961           missing file gnulib-tests/vasnprintf.c
7962           configure.ac:45: error: expected source file, required through \
7963           AC_LIBSOURCES, not found
7964
7965 2010-06-10  Jim Meyering  <meyering@redhat.com>
7966
7967         inttostr: add a new function, inttostr, and tests
7968         The namesake function was not available.  The existence of the
7969         template file, inttostr.c makes its addition nontrivial.
7970         * lib/anytostr.c: Rename from inttostr.c.
7971         (anytostr): Rename from inttostr.
7972         * lib/inttostr.c: New file.
7973         * modules/inttostr (Files): Add anytostr.c.
7974         (Makefile.am): Set lib_SOURCES instead of ...
7975         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
7976         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
7977         * lib/offtostr.c: Likewise.
7978         * lib/uinttostr.c: Likewise.
7979         * lib/umaxtostr.c: Likewise.
7980         * modules/inttostr-tests: New file.
7981         * tests/test-inttostr.c: New file.  Test these functions.
7982
7983 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
7984             Bruno Haible  <bruno@clisp.org>
7985
7986         Add "Extending Gnulib" chapter to manual.
7987         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
7988         chapter.
7989         (Extending Gnulib): New chapter.
7990         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
7991         chapter.
7992
7993 2010-06-09  Bruno Haible  <bruno@clisp.org>
7994
7995         Avoid relocwrapper link errors due to gnulib replacement functions.
7996         * lib/areadlink.c: Use the system's malloc, realloc functions.
7997         (areadlink): Set errno to ENOMEM explicitly.
7998         * modules/areadlink (Depends-on): Remove malloc-posix.
7999         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8000
8001 2010-06-09  Bruno Haible  <bruno@clisp.org>
8002
8003         Avoid relocwrapper link errors due to gnulib replacement functions.
8004         * lib/canonicalize-lgpl.c: Use the system's malloc function.
8005         * lib/malloca.c: Likewise.
8006         * lib/relocatable.c: Likewise.
8007         * lib/progreloc.c: Use the system's malloc, sprintf functions.
8008         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
8009         * lib/setenv.c: Use the system's malloc, realloc functions.
8010         * lib/strerror.c: Use the system's sprintf function.
8011         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8012
8013 2010-06-04  Bruno Haible  <bruno@clisp.org>
8014
8015         Prefer documented low-level autoconf macro names.
8016         * m4/lib-link.m4: Use m4_translit instead of translit.
8017         * m4/environ.m4: Likewise.
8018         * m4/mathfunc.m4: Likewise.
8019         * m4/onceonly.m4: Likewise.
8020         * m4/stdint.m4: Likewise.
8021         Suggested by Eric Blake.
8022
8023 2010-06-04  Martin Lambers  <marlam@marlam.de>
8024             Bruno Haible  <bruno@clisp.org>
8025
8026         havelib: Allow library names with '+' characters.
8027         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
8028         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
8029
8030 2010-06-09  Bruno Haible  <bruno@clisp.org>
8031
8032         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
8033         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
8034         realloc failed.
8035
8036 2010-06-08  Peter Simons  <simons@cryp.to>
8037
8038         maint.mk: make the news-check rule more configurable
8039         * top/maint.mk (news-check-lines-spec) New variable.
8040         (news-check): Use "sed -n 1,10p" in place of "head".
8041
8042 2010-06-07  Jim Meyering  <meyering@redhat.com>
8043
8044         do-release-commit-and-tag: fix typo in --help
8045         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
8046
8047         regex: avoid new dead-code warning with gcc-4.6.0
8048         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
8049         if-block containing a while-loop.  It's been unused for at least
8050         5 years.
8051
8052 2010-06-05  Bruno Haible  <bruno@clisp.org>
8053
8054         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
8055         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
8056
8057 2010-06-04  Bruno Haible  <bruno@clisp.org>
8058
8059         Update to GNU gettext 0.18.1.
8060         * modules/gettext (configure.ac): Require gettext infrastructure from
8061         version 0.18.1.
8062
8063 2010-06-03  Bruno Haible  <bruno@clisp.org>
8064
8065         Don't use AC_LIBOBJ with file names in subdirectories.
8066         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
8067         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
8068         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
8069         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
8070         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
8071         gl_LIBUNISTRING_LIBSOURCE.
8072         (Makefile.am): Augment lib_SOURCES here, conditionally.
8073         * NEWS: Drop requirement for Automake option 'subdir-objects'.
8074
8075 2010-06-03  Bruno Haible  <bruno@clisp.org>
8076
8077         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
8078         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
8079         expansion does not end with a newline.
8080         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
8081         unnecessary newline.
8082
8083 2010-06-03  Bruno Haible  <bruno@clisp.org>
8084
8085         Reduce dependencies.
8086         * tests/test-quotearg.h: New file, extracted from
8087         tests/test-quotearg.c.
8088         * tests/test-quotearg-simple.c: New file, extracted from
8089         tests/test-quotearg.c.
8090         * tests/test-quotearg.c: Don't include <ctype.h>.
8091         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
8092         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
8093         use_quote_double_quotes, use_quotearg_colon): Moved to
8094         tests/test-quotearg.h.
8095         (results_g, flag_results, custom_quotes, custom_results): Moved
8096         to tests/test-quotearg-simple.c.
8097         (main): Moved the part that does not depend on gettext to
8098         tests/test-quotearg-simple.c. Return 77 if the test cannot be
8099         performed.
8100         * modules/quotearg-simple: New file.
8101         * modules/quotearg-simple-tests: New file.
8102         * modules/quotearg (Depends-on): Add quotearg-simple.
8103         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
8104         (Files): Add tests/test-quotearg.h.
8105         Reported by Paolo Bonzini.
8106
8107 2010-06-03  Bruno Haible  <bruno@clisp.org>
8108
8109         Reduce dependencies.
8110         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
8111
8112 2010-06-03  Bruno Haible  <bruno@clisp.org>
8113
8114         time: Undefine more broken macros.
8115         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
8116         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
8117         Reported by Eric Blake.
8118
8119 2010-06-03  Bruno Haible  <bruno@clisp.org>
8120
8121         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
8122         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
8123         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
8124         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
8125         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
8126         Reported by Ludovic Courtès <ludo@gnu.org>.
8127
8128 2010-06-02  Eric Blake  <eblake@redhat.com>
8129
8130         time: work with mingw + pthreads-win32 library
8131         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
8132         if timespec is defined only in pthread.h.
8133         * modules/time (Makefile.am): Substitute it.
8134         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
8135         <pthread.h>, when needed.
8136         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
8137         from the library.
8138
8139 2010-05-31  Bruno Haible  <bruno@clisp.org>
8140
8141         Avoid expanding two macros in the wrong order.
8142         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
8143         gl_LIBUNISTRING if it is defined.
8144         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
8145         autoconf >= 2.64.
8146         Reported by Ludovic Courtès <ludo@gnu.org>.
8147
8148 2010-05-27  Jim Meyering  <meyering@redhat.com>
8149
8150         maint.mk: also prohibit "#undef" of always-defined symbols
8151         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
8152         Allow more than one space before the symbol name.
8153         (sc_prohibit_always-defined_macros): Use grep's -E, now that
8154         the regexp uses alternation.
8155
8156 2010-05-26  Eric Blake  <eblake@redhat.com>
8157
8158         maint.mk: avoid echo -e
8159         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
8160         Convert all uses of echo -* to printf.
8161         Reported by Matthias Bolte.
8162
8163 2010-05-25  Bruno Haible  <bruno@clisp.org>
8164
8165         Update to GNU gettext 0.18, part 2.
8166         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
8167         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
8168
8169 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8170
8171         Add missing include in test-pwrite.c.
8172         * tests/test-pwrite.c: Include string.h, for strcmp.
8173
8174 2010-05-24  Bruno Haible  <bruno@clisp.org>
8175
8176         * NEWS: Mention requirement for Automake option 'subdir-objects'.
8177
8178 2010-05-24  Bruno Haible  <bruno@clisp.org>
8179
8180         Don't use conversion with transliteration in u{8,16,32}_strcoll.
8181         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
8182         iconveh_error argument.
8183         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
8184         U_STRCONV_TO_LOCALE.
8185         * lib/unistr/u16-strcoll.c: Likewise.
8186         * lib/unistr/u32-strcoll.c: Likewise.
8187         * modules/unistr/u8-strcoll (Depends-on): Add
8188         uniconv/u8-strconv-to-enc, localcharset. Remove
8189         uniconv/u8-strconv-to-locale.
8190         (configure.ac): Bump version number.
8191         * modules/unistr/u16-strcoll (Depends-on): Add
8192         uniconv/u16-strconv-to-enc, localcharset. Remove
8193         uniconv/u16-strconv-to-locale.
8194         (configure.ac): Bump version number.
8195         * modules/unistr/u32-strcoll (Depends-on): Add
8196         uniconv/u32-strconv-to-enc, localcharset. Remove
8197         uniconv/u32-strconv-to-locale.
8198         (configure.ac): Bump version number.
8199
8200 2010-05-24  Bruno Haible  <bruno@clisp.org>
8201
8202         Avoid a test failure on NetBSD 5.0.
8203         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
8204         an iconv() bug.
8205
8206 2010-05-24  Bruno Haible  <bruno@clisp.org>
8207
8208         Adjust #include directive style.
8209         * modules/regex (Includes): Recommend to write <regex.h>.
8210
8211 2010-05-24  Bruno Haible  <bruno@clisp.org>
8212
8213         regex: Don't require alloca.
8214         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
8215         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
8216         only inside if (0).
8217
8218 2010-05-23  Jim Meyering  <meyering@redhat.com>
8219
8220         test-renameat.c: include <sys/stat.h>
8221         * tests/test-renameat.c: Include <sys/stat.h>; required for
8222         definition of S_IS* macros.
8223
8224 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
8225
8226         Update maintainer documentation for 'relocatable-prog' module.
8227         * doc/relocatable-maint.texi: Update.
8228         Comments by Bruno Haible.
8229
8230 2010-05-23  Bruno Haible  <bruno@clisp.org>
8231
8232         git-merge-changelog: Enable --split-merged-entry by default.
8233         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
8234         (usage): Don't mention this option any more.
8235         Reported by Ralf Wildenhues.
8236
8237 2010-05-23  Jim Meyering  <meyering@redhat.com>
8238
8239         test-pwrite: do not leave behind a test file named "out"
8240         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
8241         The trivial-looking use of init.sh is really necessary.
8242         It ensures that the temporary file, "out", is created in
8243         a temporary directory, and removed upon termination.
8244         * tests/test-pwrite.sh: Re-add file.
8245         * modules/pwrite-tests: Reference it.
8246
8247 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8248
8249         Fix output redirection buglet in init.sh.
8250         * tests/init.sh: Fix redirection of stderr.
8251
8252 2010-05-20  Simon Josefsson  <simon@josefsson.org>
8253
8254         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
8255
8256 2010-05-17  Simon Josefsson  <simon@josefsson.org>
8257
8258         * modules/valgrind-tests: New file.
8259         * m4/valgrind-tests.m4: New file.
8260         * doc/valgrind-tests.texi: New file.
8261         * doc/gnulib.texi (Running self-tests under valgrind): New
8262         section.
8263
8264 2010-05-19  Bruno Haible  <bruno@clisp.org>
8265
8266         Clean up dead code in recent commit.
8267         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
8268         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
8269         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
8270         Suggested by Paolo Bonzini.
8271
8272 2010-05-19  Bruno Haible  <bruno@clisp.org>
8273
8274         Avoid valgrind error reports from libunistring.
8275         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
8276         * modules/libunistring (Files): Add it.
8277         * modules/libunistring-optional (Files): Likewise.
8278
8279 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
8280             Bruno Haible  <bruno@clisp.org>
8281
8282         New module 'libunistring-optional'.
8283         * modules/libunistring-optional: New file.
8284         * m4/libunistring-base.m4: New file.
8285         * m4/libunistring-optional.m4: New file.
8286         * lib/unicase.in.h: Renamed from lib/unicase.h.
8287         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
8288         * lib/unictype.in.h: Renamed from lib/unictype.h.
8289         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
8290         * lib/uniname.in.h: Renamed from lib/uniname.h.
8291         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
8292         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
8293         * lib/unistr.in.h: Renamed from lib/unistr.h.
8294         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
8295         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
8296         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
8297         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
8298         gl_LIBUNISTRING. If the library was found, determine the installed
8299         version and set LIBUNISTRING_VERSION.
8300         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
8301         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
8302         handle a configuration option --with-included-libunistring.
8303         * modules/libunistring (Files): Add m4/absolute-header.m4.
8304         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
8305         Add m4/libunistring-base.m4.
8306         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8307         (Makefile.am): Build unicase.h from unicase.in.h.
8308         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
8309         Add m4/libunistring-base.m4.
8310         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8311         (Makefile.am): Build uniconv.h from uniconv.in.h.
8312         * modules/unictype/base (Files): Use unictype.in.h instead of
8313         unictype.h. Add m4/libunistring-base.m4.
8314         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8315         (Makefile.am): Build unictype.h from unictype.in.h.
8316         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
8317         Add m4/libunistring-base.m4.
8318         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8319         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
8320         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
8321         Add m4/libunistring-base.m4.
8322         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8323         (Makefile.am): Build uniname.h from uniname.in.h.
8324         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
8325         Add m4/libunistring-base.m4.
8326         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8327         (Makefile.am): Build uninorm.h from uninorm.in.h.
8328         * modules/unistdio/base (Files): Use unistdio.in.h instead of
8329         unistdio.h. Add m4/libunistring-base.m4.
8330         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8331         (Makefile.am): Build unistdio.h from unistdio.in.h.
8332         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
8333         Add m4/libunistring-base.m4.
8334         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8335         (Makefile.am): Build unistr.h from unistr.in.h.
8336         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
8337         Add m4/libunistring-base.m4.
8338         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8339         (Makefile.am): Build unitypes.h from unitypes.in.h.
8340         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
8341         Add m4/libunistring-base.m4.
8342         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8343         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
8344         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
8345         uniwidth.h. Add m4/libunistring-base.m4.
8346         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8347         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
8348         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
8349         instead of augmenting lib_SOURCES.
8350         * modules/unicase/empty-suffix-context: Likewise.
8351         * modules/unicase/locale-language: Likewise.
8352         * modules/unicase/tolower: Likewise.
8353         * modules/unicase/totitle: Likewise.
8354         * modules/unicase/toupper: Likewise.
8355         * modules/unicase/u8-casecmp: Likewise.
8356         * modules/unicase/u8-casecoll: Likewise.
8357         * modules/unicase/u8-casefold: Likewise.
8358         * modules/unicase/u8-casexfrm: Likewise.
8359         * modules/unicase/u8-ct-casefold: Likewise.
8360         * modules/unicase/u8-ct-tolower: Likewise.
8361         * modules/unicase/u8-ct-totitle: Likewise.
8362         * modules/unicase/u8-ct-toupper: Likewise.
8363         * modules/unicase/u8-is-cased: Likewise.
8364         * modules/unicase/u8-is-casefolded: Likewise.
8365         * modules/unicase/u8-is-lowercase: Likewise.
8366         * modules/unicase/u8-is-titlecase: Likewise.
8367         * modules/unicase/u8-is-uppercase: Likewise.
8368         * modules/unicase/u8-prefix-context: Likewise.
8369         * modules/unicase/u8-suffix-context: Likewise.
8370         * modules/unicase/u8-tolower: Likewise.
8371         * modules/unicase/u8-totitle: Likewise.
8372         * modules/unicase/u8-toupper: Likewise.
8373         * modules/unicase/u16-casecmp: Likewise.
8374         * modules/unicase/u16-casecoll: Likewise.
8375         * modules/unicase/u16-casefold: Likewise.
8376         * modules/unicase/u16-casexfrm: Likewise.
8377         * modules/unicase/u16-ct-casefold: Likewise.
8378         * modules/unicase/u16-ct-tolower: Likewise.
8379         * modules/unicase/u16-ct-totitle: Likewise.
8380         * modules/unicase/u16-ct-toupper: Likewise.
8381         * modules/unicase/u16-is-cased: Likewise.
8382         * modules/unicase/u16-is-casefolded: Likewise.
8383         * modules/unicase/u16-is-lowercase: Likewise.
8384         * modules/unicase/u16-is-titlecase: Likewise.
8385         * modules/unicase/u16-is-uppercase: Likewise.
8386         * modules/unicase/u16-prefix-context: Likewise.
8387         * modules/unicase/u16-suffix-context: Likewise.
8388         * modules/unicase/u16-tolower: Likewise.
8389         * modules/unicase/u16-totitle: Likewise.
8390         * modules/unicase/u16-toupper: Likewise.
8391         * modules/unicase/u32-casecmp: Likewise.
8392         * modules/unicase/u32-casecoll: Likewise.
8393         * modules/unicase/u32-casefold: Likewise.
8394         * modules/unicase/u32-casexfrm: Likewise.
8395         * modules/unicase/u32-ct-casefold: Likewise.
8396         * modules/unicase/u32-ct-tolower: Likewise.
8397         * modules/unicase/u32-ct-totitle: Likewise.
8398         * modules/unicase/u32-ct-toupper: Likewise.
8399         * modules/unicase/u32-is-cased: Likewise.
8400         * modules/unicase/u32-is-casefolded: Likewise.
8401         * modules/unicase/u32-is-lowercase: Likewise.
8402         * modules/unicase/u32-is-titlecase: Likewise.
8403         * modules/unicase/u32-is-uppercase: Likewise.
8404         * modules/unicase/u32-prefix-context: Likewise.
8405         * modules/unicase/u32-suffix-context: Likewise.
8406         * modules/unicase/u32-tolower: Likewise.
8407         * modules/unicase/u32-totitle: Likewise.
8408         * modules/unicase/u32-toupper: Likewise.
8409         * modules/unicase/ulc-casecmp: Likewise.
8410         * modules/unicase/ulc-casecoll: Likewise.
8411         * modules/unicase/ulc-casexfrm: Likewise.
8412         * modules/uniconv/u8-conv-from-enc: Likewise.
8413         * modules/uniconv/u8-conv-to-enc: Likewise.
8414         * modules/uniconv/u8-strconv-from-enc: Likewise.
8415         * modules/uniconv/u8-strconv-from-locale: Likewise.
8416         * modules/uniconv/u8-strconv-to-enc: Likewise.
8417         * modules/uniconv/u8-strconv-to-locale: Likewise.
8418         * modules/uniconv/u16-conv-from-enc: Likewise.
8419         * modules/uniconv/u16-conv-to-enc: Likewise.
8420         * modules/uniconv/u16-strconv-from-enc: Likewise.
8421         * modules/uniconv/u16-strconv-from-locale: Likewise.
8422         * modules/uniconv/u16-strconv-to-enc: Likewise.
8423         * modules/uniconv/u16-strconv-to-locale: Likewise.
8424         * modules/uniconv/u32-conv-from-enc: Likewise.
8425         * modules/uniconv/u32-conv-to-enc: Likewise.
8426         * modules/uniconv/u32-strconv-from-enc: Likewise.
8427         * modules/uniconv/u32-strconv-from-locale: Likewise.
8428         * modules/uniconv/u32-strconv-to-enc: Likewise.
8429         * modules/uniconv/u32-strconv-to-locale: Likewise.
8430         * modules/unictype/bidicategory-byname: Likewise.
8431         * modules/unictype/bidicategory-name: Likewise.
8432         * modules/unictype/bidicategory-of: Likewise.
8433         * modules/unictype/bidicategory-test: Likewise.
8434         * modules/unictype/block-list: Likewise.
8435         * modules/unictype/block-test: Likewise.
8436         * modules/unictype/category-C: Likewise.
8437         * modules/unictype/category-Cc: Likewise.
8438         * modules/unictype/category-Cf: Likewise.
8439         * modules/unictype/category-Cn: Likewise.
8440         * modules/unictype/category-Co: Likewise.
8441         * modules/unictype/category-Cs: Likewise.
8442         * modules/unictype/category-L: Likewise.
8443         * modules/unictype/category-Ll: Likewise.
8444         * modules/unictype/category-Lm: Likewise.
8445         * modules/unictype/category-Lo: Likewise.
8446         * modules/unictype/category-Lt: Likewise.
8447         * modules/unictype/category-Lu: Likewise.
8448         * modules/unictype/category-M: Likewise.
8449         * modules/unictype/category-Mc: Likewise.
8450         * modules/unictype/category-Me: Likewise.
8451         * modules/unictype/category-Mn: Likewise.
8452         * modules/unictype/category-N: Likewise.
8453         * modules/unictype/category-Nd: Likewise.
8454         * modules/unictype/category-Nl: Likewise.
8455         * modules/unictype/category-No: Likewise.
8456         * modules/unictype/category-P: Likewise.
8457         * modules/unictype/category-Pc: Likewise.
8458         * modules/unictype/category-Pd: Likewise.
8459         * modules/unictype/category-Pe: Likewise.
8460         * modules/unictype/category-Pf: Likewise.
8461         * modules/unictype/category-Pi: Likewise.
8462         * modules/unictype/category-Po: Likewise.
8463         * modules/unictype/category-Ps: Likewise.
8464         * modules/unictype/category-S: Likewise.
8465         * modules/unictype/category-Sc: Likewise.
8466         * modules/unictype/category-Sk: Likewise.
8467         * modules/unictype/category-Sm: Likewise.
8468         * modules/unictype/category-So: Likewise.
8469         * modules/unictype/category-Z: Likewise.
8470         * modules/unictype/category-Zl: Likewise.
8471         * modules/unictype/category-Zp: Likewise.
8472         * modules/unictype/category-Zs: Likewise.
8473         * modules/unictype/category-and: Likewise.
8474         * modules/unictype/category-and-not: Likewise.
8475         * modules/unictype/category-byname: Likewise.
8476         * modules/unictype/category-name: Likewise.
8477         * modules/unictype/category-none: Likewise.
8478         * modules/unictype/category-of: Likewise.
8479         * modules/unictype/category-or: Likewise.
8480         * modules/unictype/category-test: Likewise.
8481         * modules/unictype/combining-class: Likewise.
8482         * modules/unictype/ctype-alnum: Likewise.
8483         * modules/unictype/ctype-alpha: Likewise.
8484         * modules/unictype/ctype-blank: Likewise.
8485         * modules/unictype/ctype-cntrl: Likewise.
8486         * modules/unictype/ctype-digit: Likewise.
8487         * modules/unictype/ctype-graph: Likewise.
8488         * modules/unictype/ctype-lower: Likewise.
8489         * modules/unictype/ctype-print: Likewise.
8490         * modules/unictype/ctype-punct: Likewise.
8491         * modules/unictype/ctype-space: Likewise.
8492         * modules/unictype/ctype-upper: Likewise.
8493         * modules/unictype/ctype-xdigit: Likewise.
8494         * modules/unictype/decimal-digit: Likewise.
8495         * modules/unictype/digit: Likewise.
8496         * modules/unictype/mirror: Likewise.
8497         * modules/unictype/numeric: Likewise.
8498         * modules/unictype/property-alphabetic: Likewise.
8499         * modules/unictype/property-ascii-hex-digit: Likewise.
8500         * modules/unictype/property-bidi-arabic-digit: Likewise.
8501         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
8502         * modules/unictype/property-bidi-block-separator: Likewise.
8503         * modules/unictype/property-bidi-boundary-neutral: Likewise.
8504         * modules/unictype/property-bidi-common-separator: Likewise.
8505         * modules/unictype/property-bidi-control: Likewise.
8506         * modules/unictype/property-bidi-embedding-or-override: Likewise.
8507         * modules/unictype/property-bidi-eur-num-separator: Likewise.
8508         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
8509         * modules/unictype/property-bidi-european-digit: Likewise.
8510         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
8511         * modules/unictype/property-bidi-left-to-right: Likewise.
8512         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
8513         * modules/unictype/property-bidi-other-neutral: Likewise.
8514         * modules/unictype/property-bidi-pdf: Likewise.
8515         * modules/unictype/property-bidi-segment-separator: Likewise.
8516         * modules/unictype/property-bidi-whitespace: Likewise.
8517         * modules/unictype/property-byname: Likewise.
8518         * modules/unictype/property-combining: Likewise.
8519         * modules/unictype/property-composite: Likewise.
8520         * modules/unictype/property-currency-symbol: Likewise.
8521         * modules/unictype/property-dash: Likewise.
8522         * modules/unictype/property-decimal-digit: Likewise.
8523         * modules/unictype/property-default-ignorable-code-point: Likewise.
8524         * modules/unictype/property-deprecated: Likewise.
8525         * modules/unictype/property-diacritic: Likewise.
8526         * modules/unictype/property-extender: Likewise.
8527         * modules/unictype/property-format-control: Likewise.
8528         * modules/unictype/property-grapheme-base: Likewise.
8529         * modules/unictype/property-grapheme-extend: Likewise.
8530         * modules/unictype/property-grapheme-link: Likewise.
8531         * modules/unictype/property-hex-digit: Likewise.
8532         * modules/unictype/property-hyphen: Likewise.
8533         * modules/unictype/property-id-continue: Likewise.
8534         * modules/unictype/property-id-start: Likewise.
8535         * modules/unictype/property-ideographic: Likewise.
8536         * modules/unictype/property-ids-binary-operator: Likewise.
8537         * modules/unictype/property-ids-trinary-operator: Likewise.
8538         * modules/unictype/property-ignorable-control: Likewise.
8539         * modules/unictype/property-iso-control: Likewise.
8540         * modules/unictype/property-join-control: Likewise.
8541         * modules/unictype/property-left-of-pair: Likewise.
8542         * modules/unictype/property-line-separator: Likewise.
8543         * modules/unictype/property-logical-order-exception: Likewise.
8544         * modules/unictype/property-lowercase: Likewise.
8545         * modules/unictype/property-math: Likewise.
8546         * modules/unictype/property-non-break: Likewise.
8547         * modules/unictype/property-not-a-character: Likewise.
8548         * modules/unictype/property-numeric: Likewise.
8549         * modules/unictype/property-other-alphabetic: Likewise.
8550         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
8551         * modules/unictype/property-other-grapheme-extend: Likewise.
8552         * modules/unictype/property-other-id-continue: Likewise.
8553         * modules/unictype/property-other-id-start: Likewise.
8554         * modules/unictype/property-other-lowercase: Likewise.
8555         * modules/unictype/property-other-math: Likewise.
8556         * modules/unictype/property-other-uppercase: Likewise.
8557         * modules/unictype/property-paired-punctuation: Likewise.
8558         * modules/unictype/property-paragraph-separator: Likewise.
8559         * modules/unictype/property-pattern-syntax: Likewise.
8560         * modules/unictype/property-pattern-white-space: Likewise.
8561         * modules/unictype/property-private-use: Likewise.
8562         * modules/unictype/property-punctuation: Likewise.
8563         * modules/unictype/property-quotation-mark: Likewise.
8564         * modules/unictype/property-radical: Likewise.
8565         * modules/unictype/property-sentence-terminal: Likewise.
8566         * modules/unictype/property-soft-dotted: Likewise.
8567         * modules/unictype/property-space: Likewise.
8568         * modules/unictype/property-terminal-punctuation: Likewise.
8569         * modules/unictype/property-test: Likewise.
8570         * modules/unictype/property-titlecase: Likewise.
8571         * modules/unictype/property-unassigned-code-value: Likewise.
8572         * modules/unictype/property-unified-ideograph: Likewise.
8573         * modules/unictype/property-uppercase: Likewise.
8574         * modules/unictype/property-variation-selector: Likewise.
8575         * modules/unictype/property-white-space: Likewise.
8576         * modules/unictype/property-xid-continue: Likewise.
8577         * modules/unictype/property-xid-start: Likewise.
8578         * modules/unictype/property-zero-width: Likewise.
8579         * modules/unictype/scripts: Likewise.
8580         * modules/unictype/syntax-c-ident: Likewise.
8581         * modules/unictype/syntax-c-whitespace: Likewise.
8582         * modules/unictype/syntax-java-ident: Likewise.
8583         * modules/unictype/syntax-java-whitespace: Likewise.
8584         * modules/unilbrk/u8-possible-linebreaks: Likewise.
8585         * modules/unilbrk/u8-width-linebreaks: Likewise.
8586         * modules/unilbrk/u16-possible-linebreaks: Likewise.
8587         * modules/unilbrk/u16-width-linebreaks: Likewise.
8588         * modules/unilbrk/u32-possible-linebreaks: Likewise.
8589         * modules/unilbrk/u32-width-linebreaks: Likewise.
8590         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
8591         * modules/unilbrk/ulc-width-linebreaks: Likewise.
8592         * modules/uniname/uniname: Likewise.
8593         * modules/uninorm/canonical-decomposition: Likewise.
8594         * modules/uninorm/composition: Likewise.
8595         * modules/uninorm/decomposing-form: Likewise.
8596         * modules/uninorm/decomposition: Likewise.
8597         * modules/uninorm/filter: Likewise.
8598         * modules/uninorm/nfc: Likewise.
8599         * modules/uninorm/nfd: Likewise.
8600         * modules/uninorm/nfkc: Likewise.
8601         * modules/uninorm/nfkd: Likewise.
8602         * modules/uninorm/u8-normalize: Likewise.
8603         * modules/uninorm/u8-normcmp: Likewise.
8604         * modules/uninorm/u8-normcoll: Likewise.
8605         * modules/uninorm/u8-normxfrm: Likewise.
8606         * modules/uninorm/u16-normalize: Likewise.
8607         * modules/uninorm/u16-normcmp: Likewise.
8608         * modules/uninorm/u16-normcoll: Likewise.
8609         * modules/uninorm/u16-normxfrm: Likewise.
8610         * modules/uninorm/u32-normalize: Likewise.
8611         * modules/uninorm/u32-normcmp: Likewise.
8612         * modules/uninorm/u32-normcoll: Likewise.
8613         * modules/uninorm/u32-normxfrm: Likewise.
8614         * modules/unistdio/u8-asnprintf: Likewise.
8615         * modules/unistdio/u8-asprintf: Likewise.
8616         * modules/unistdio/u8-snprintf: Likewise.
8617         * modules/unistdio/u8-sprintf: Likewise.
8618         * modules/unistdio/u8-u8-asnprintf: Likewise.
8619         * modules/unistdio/u8-u8-asprintf: Likewise.
8620         * modules/unistdio/u8-u8-snprintf: Likewise.
8621         * modules/unistdio/u8-u8-sprintf: Likewise.
8622         * modules/unistdio/u8-u8-vasnprintf: Likewise.
8623         * modules/unistdio/u8-u8-vasprintf: Likewise.
8624         * modules/unistdio/u8-u8-vsnprintf: Likewise.
8625         * modules/unistdio/u8-u8-vsprintf: Likewise.
8626         * modules/unistdio/u8-vasnprintf: Likewise.
8627         * modules/unistdio/u8-vasprintf: Likewise.
8628         * modules/unistdio/u8-vsnprintf: Likewise.
8629         * modules/unistdio/u8-vsprintf: Likewise.
8630         * modules/unistdio/u16-asnprintf: Likewise.
8631         * modules/unistdio/u16-asprintf: Likewise.
8632         * modules/unistdio/u16-snprintf: Likewise.
8633         * modules/unistdio/u16-sprintf: Likewise.
8634         * modules/unistdio/u16-u16-asnprintf: Likewise.
8635         * modules/unistdio/u16-u16-asprintf: Likewise.
8636         * modules/unistdio/u16-u16-snprintf: Likewise.
8637         * modules/unistdio/u16-u16-sprintf: Likewise.
8638         * modules/unistdio/u16-u16-vasnprintf: Likewise.
8639         * modules/unistdio/u16-u16-vasprintf: Likewise.
8640         * modules/unistdio/u16-u16-vsnprintf: Likewise.
8641         * modules/unistdio/u16-u16-vsprintf: Likewise.
8642         * modules/unistdio/u16-vasnprintf: Likewise.
8643         * modules/unistdio/u16-vasprintf: Likewise.
8644         * modules/unistdio/u16-vsnprintf: Likewise.
8645         * modules/unistdio/u16-vsprintf: Likewise.
8646         * modules/unistdio/u32-asnprintf: Likewise.
8647         * modules/unistdio/u32-asprintf: Likewise.
8648         * modules/unistdio/u32-snprintf: Likewise.
8649         * modules/unistdio/u32-sprintf: Likewise.
8650         * modules/unistdio/u32-u32-asnprintf: Likewise.
8651         * modules/unistdio/u32-u32-asprintf: Likewise.
8652         * modules/unistdio/u32-u32-snprintf: Likewise.
8653         * modules/unistdio/u32-u32-sprintf: Likewise.
8654         * modules/unistdio/u32-u32-vasnprintf: Likewise.
8655         * modules/unistdio/u32-u32-vasprintf: Likewise.
8656         * modules/unistdio/u32-u32-vsnprintf: Likewise.
8657         * modules/unistdio/u32-u32-vsprintf: Likewise.
8658         * modules/unistdio/u32-vasnprintf: Likewise.
8659         * modules/unistdio/u32-vasprintf: Likewise.
8660         * modules/unistdio/u32-vsnprintf: Likewise.
8661         * modules/unistdio/u32-vsprintf: Likewise.
8662         * modules/unistdio/ulc-asnprintf: Likewise.
8663         * modules/unistdio/ulc-asprintf: Likewise.
8664         * modules/unistdio/ulc-fprintf: Likewise.
8665         * modules/unistdio/ulc-snprintf: Likewise.
8666         * modules/unistdio/ulc-sprintf: Likewise.
8667         * modules/unistdio/ulc-vasnprintf: Likewise.
8668         * modules/unistdio/ulc-vasprintf: Likewise.
8669         * modules/unistdio/ulc-vfprintf: Likewise.
8670         * modules/unistdio/ulc-vsnprintf: Likewise.
8671         * modules/unistdio/ulc-vsprintf: Likewise.
8672         * modules/unistr/u8-check: Likewise.
8673         * modules/unistr/u8-chr: Likewise.
8674         * modules/unistr/u8-cmp: Likewise.
8675         * modules/unistr/u8-cmp2: Likewise.
8676         * modules/unistr/u8-cpy: Likewise.
8677         * modules/unistr/u8-cpy-alloc: Likewise.
8678         * modules/unistr/u8-endswith: Likewise.
8679         * modules/unistr/u8-mblen: Likewise.
8680         * modules/unistr/u8-mbsnlen: Likewise.
8681         * modules/unistr/u8-mbtouc: Likewise.
8682         * modules/unistr/u8-mbtouc-unsafe: Likewise.
8683         * modules/unistr/u8-mbtoucr: Likewise.
8684         * modules/unistr/u8-move: Likewise.
8685         * modules/unistr/u8-next: Likewise.
8686         * modules/unistr/u8-prev: Likewise.
8687         * modules/unistr/u8-set: Likewise.
8688         * modules/unistr/u8-startswith: Likewise.
8689         * modules/unistr/u8-stpcpy: Likewise.
8690         * modules/unistr/u8-stpncpy: Likewise.
8691         * modules/unistr/u8-strcat: Likewise.
8692         * modules/unistr/u8-strchr: Likewise.
8693         * modules/unistr/u8-strcmp: Likewise.
8694         * modules/unistr/u8-strcoll: Likewise.
8695         * modules/unistr/u8-strcpy: Likewise.
8696         * modules/unistr/u8-strcspn: Likewise.
8697         * modules/unistr/u8-strdup: Likewise.
8698         * modules/unistr/u8-strlen: Likewise.
8699         * modules/unistr/u8-strmblen: Likewise.
8700         * modules/unistr/u8-strmbtouc: Likewise.
8701         * modules/unistr/u8-strncat: Likewise.
8702         * modules/unistr/u8-strncmp: Likewise.
8703         * modules/unistr/u8-strncpy: Likewise.
8704         * modules/unistr/u8-strnlen: Likewise.
8705         * modules/unistr/u8-strpbrk: Likewise.
8706         * modules/unistr/u8-strrchr: Likewise.
8707         * modules/unistr/u8-strspn: Likewise.
8708         * modules/unistr/u8-strstr: Likewise.
8709         * modules/unistr/u8-strtok: Likewise.
8710         * modules/unistr/u8-to-u16: Likewise.
8711         * modules/unistr/u8-to-u32: Likewise.
8712         * modules/unistr/u8-uctomb: Likewise.
8713         * modules/unistr/u16-check: Likewise.
8714         * modules/unistr/u16-chr: Likewise.
8715         * modules/unistr/u16-cmp: Likewise.
8716         * modules/unistr/u16-cmp2: Likewise.
8717         * modules/unistr/u16-cpy: Likewise.
8718         * modules/unistr/u16-cpy-alloc: Likewise.
8719         * modules/unistr/u16-endswith: Likewise.
8720         * modules/unistr/u16-mblen: Likewise.
8721         * modules/unistr/u16-mbsnlen: Likewise.
8722         * modules/unistr/u16-mbtouc: Likewise.
8723         * modules/unistr/u16-mbtouc-unsafe: Likewise.
8724         * modules/unistr/u16-mbtoucr: Likewise.
8725         * modules/unistr/u16-move: Likewise.
8726         * modules/unistr/u16-next: Likewise.
8727         * modules/unistr/u16-prev: Likewise.
8728         * modules/unistr/u16-set: Likewise.
8729         * modules/unistr/u16-startswith: Likewise.
8730         * modules/unistr/u16-stpcpy: Likewise.
8731         * modules/unistr/u16-stpncpy: Likewise.
8732         * modules/unistr/u16-strcat: Likewise.
8733         * modules/unistr/u16-strchr: Likewise.
8734         * modules/unistr/u16-strcmp: Likewise.
8735         * modules/unistr/u16-strcoll: Likewise.
8736         * modules/unistr/u16-strcpy: Likewise.
8737         * modules/unistr/u16-strcspn: Likewise.
8738         * modules/unistr/u16-strdup: Likewise.
8739         * modules/unistr/u16-strlen: Likewise.
8740         * modules/unistr/u16-strmblen: Likewise.
8741         * modules/unistr/u16-strmbtouc: Likewise.
8742         * modules/unistr/u16-strncat: Likewise.
8743         * modules/unistr/u16-strncmp: Likewise.
8744         * modules/unistr/u16-strncpy: Likewise.
8745         * modules/unistr/u16-strnlen: Likewise.
8746         * modules/unistr/u16-strpbrk: Likewise.
8747         * modules/unistr/u16-strrchr: Likewise.
8748         * modules/unistr/u16-strspn: Likewise.
8749         * modules/unistr/u16-strstr: Likewise.
8750         * modules/unistr/u16-strtok: Likewise.
8751         * modules/unistr/u16-to-u32: Likewise.
8752         * modules/unistr/u16-to-u8: Likewise.
8753         * modules/unistr/u16-uctomb: Likewise.
8754         * modules/unistr/u32-check: Likewise.
8755         * modules/unistr/u32-chr: Likewise.
8756         * modules/unistr/u32-cmp: Likewise.
8757         * modules/unistr/u32-cmp2: Likewise.
8758         * modules/unistr/u32-cpy: Likewise.
8759         * modules/unistr/u32-cpy-alloc: Likewise.
8760         * modules/unistr/u32-endswith: Likewise.
8761         * modules/unistr/u32-mblen: Likewise.
8762         * modules/unistr/u32-mbsnlen: Likewise.
8763         * modules/unistr/u32-mbtouc: Likewise.
8764         * modules/unistr/u32-mbtouc-unsafe: Likewise.
8765         * modules/unistr/u32-mbtoucr: Likewise.
8766         * modules/unistr/u32-move: Likewise.
8767         * modules/unistr/u32-next: Likewise.
8768         * modules/unistr/u32-prev: Likewise.
8769         * modules/unistr/u32-set: Likewise.
8770         * modules/unistr/u32-startswith: Likewise.
8771         * modules/unistr/u32-stpcpy: Likewise.
8772         * modules/unistr/u32-stpncpy: Likewise.
8773         * modules/unistr/u32-strcat: Likewise.
8774         * modules/unistr/u32-strchr: Likewise.
8775         * modules/unistr/u32-strcmp: Likewise.
8776         * modules/unistr/u32-strcoll: Likewise.
8777         * modules/unistr/u32-strcpy: Likewise.
8778         * modules/unistr/u32-strcspn: Likewise.
8779         * modules/unistr/u32-strdup: Likewise.
8780         * modules/unistr/u32-strlen: Likewise.
8781         * modules/unistr/u32-strmblen: Likewise.
8782         * modules/unistr/u32-strmbtouc: Likewise.
8783         * modules/unistr/u32-strncat: Likewise.
8784         * modules/unistr/u32-strncmp: Likewise.
8785         * modules/unistr/u32-strncpy: Likewise.
8786         * modules/unistr/u32-strnlen: Likewise.
8787         * modules/unistr/u32-strpbrk: Likewise.
8788         * modules/unistr/u32-strrchr: Likewise.
8789         * modules/unistr/u32-strspn: Likewise.
8790         * modules/unistr/u32-strstr: Likewise.
8791         * modules/unistr/u32-strtok: Likewise.
8792         * modules/unistr/u32-to-u16: Likewise.
8793         * modules/unistr/u32-to-u8: Likewise.
8794         * modules/unistr/u32-uctomb: Likewise.
8795         * modules/uniwbrk/u8-wordbreaks: Likewise.
8796         * modules/uniwbrk/u16-wordbreaks: Likewise.
8797         * modules/uniwbrk/u32-wordbreaks: Likewise.
8798         * modules/uniwbrk/ulc-wordbreaks: Likewise.
8799         * modules/uniwbrk/wordbreak-property: Likewise.
8800         * modules/uniwidth/u8-strwidth: Likewise.
8801         * modules/uniwidth/u8-width: Likewise.
8802         * modules/uniwidth/u16-strwidth: Likewise.
8803         * modules/uniwidth/u16-width: Likewise.
8804         * modules/uniwidth/u32-strwidth: Likewise.
8805         * modules/uniwidth/u32-width: Likewise.
8806         * modules/uniwidth/width: Likewise.
8807         * modules/unicase/cased-tests (Makefile.am): Link all test programs
8808         with $(LIBUNISTRING).
8809         * modules/unicase/ignorable-tests: Likewise.
8810         * modules/unicase/locale-language-tests: Likewise.
8811         * modules/unicase/tolower-tests: Likewise.
8812         * modules/unicase/totitle-tests: Likewise.
8813         * modules/unicase/toupper-tests: Likewise.
8814         * modules/unicase/u8-casecmp-tests: Likewise.
8815         * modules/unicase/u8-casecoll-tests: Likewise.
8816         * modules/unicase/u8-casefold-tests: Likewise.
8817         * modules/unicase/u8-is-cased-tests: Likewise.
8818         * modules/unicase/u8-is-casefolded-tests: Likewise.
8819         * modules/unicase/u8-is-lowercase-tests: Likewise.
8820         * modules/unicase/u8-is-titlecase-tests: Likewise.
8821         * modules/unicase/u8-is-uppercase-tests: Likewise.
8822         * modules/unicase/u8-tolower-tests: Likewise.
8823         * modules/unicase/u8-totitle-tests: Likewise.
8824         * modules/unicase/u8-toupper-tests: Likewise.
8825         * modules/unicase/u16-casecmp-tests: Likewise.
8826         * modules/unicase/u16-casecoll-tests: Likewise.
8827         * modules/unicase/u16-casefold-tests: Likewise.
8828         * modules/unicase/u16-is-cased-tests: Likewise.
8829         * modules/unicase/u16-is-casefolded-tests: Likewise.
8830         * modules/unicase/u16-is-lowercase-tests: Likewise.
8831         * modules/unicase/u16-is-titlecase-tests: Likewise.
8832         * modules/unicase/u16-is-uppercase-tests: Likewise.
8833         * modules/unicase/u16-tolower-tests: Likewise.
8834         * modules/unicase/u16-totitle-tests: Likewise.
8835         * modules/unicase/u16-toupper-tests: Likewise.
8836         * modules/unicase/u32-casecmp-tests: Likewise.
8837         * modules/unicase/u32-casecoll-tests: Likewise.
8838         * modules/unicase/u32-casefold-tests: Likewise.
8839         * modules/unicase/u32-is-cased-tests: Likewise.
8840         * modules/unicase/u32-is-casefolded-tests: Likewise.
8841         * modules/unicase/u32-is-lowercase-tests: Likewise.
8842         * modules/unicase/u32-is-titlecase-tests: Likewise.
8843         * modules/unicase/u32-is-uppercase-tests: Likewise.
8844         * modules/unicase/u32-tolower-tests: Likewise.
8845         * modules/unicase/u32-totitle-tests: Likewise.
8846         * modules/unicase/u32-toupper-tests: Likewise.
8847         * modules/unicase/ulc-casecmp-tests: Likewise.
8848         * modules/unicase/ulc-casecoll-tests: Likewise.
8849         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
8850         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
8851         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
8852         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
8853         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
8854         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
8855         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
8856         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
8857         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
8858         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
8859         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
8860         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
8861         * modules/unictype/bidicategory-byname-tests: Likewise.
8862         * modules/unictype/bidicategory-name-tests: Likewise.
8863         * modules/unictype/bidicategory-of-tests: Likewise.
8864         * modules/unictype/bidicategory-test-tests: Likewise.
8865         * modules/unictype/block-list-tests: Likewise.
8866         * modules/unictype/block-of-tests: Likewise.
8867         * modules/unictype/block-test-tests: Likewise.
8868         * modules/unictype/category-C-tests: Likewise.
8869         * modules/unictype/category-Cc-tests: Likewise.
8870         * modules/unictype/category-Cf-tests: Likewise.
8871         * modules/unictype/category-Cn-tests: Likewise.
8872         * modules/unictype/category-Co-tests: Likewise.
8873         * modules/unictype/category-Cs-tests: Likewise.
8874         * modules/unictype/category-L-tests: Likewise.
8875         * modules/unictype/category-Ll-tests: Likewise.
8876         * modules/unictype/category-Lm-tests: Likewise.
8877         * modules/unictype/category-Lo-tests: Likewise.
8878         * modules/unictype/category-Lt-tests: Likewise.
8879         * modules/unictype/category-Lu-tests: Likewise.
8880         * modules/unictype/category-M-tests: Likewise.
8881         * modules/unictype/category-Mc-tests: Likewise.
8882         * modules/unictype/category-Me-tests: Likewise.
8883         * modules/unictype/category-Mn-tests: Likewise.
8884         * modules/unictype/category-N-tests: Likewise.
8885         * modules/unictype/category-Nd-tests: Likewise.
8886         * modules/unictype/category-Nl-tests: Likewise.
8887         * modules/unictype/category-No-tests: Likewise.
8888         * modules/unictype/category-P-tests: Likewise.
8889         * modules/unictype/category-Pc-tests: Likewise.
8890         * modules/unictype/category-Pd-tests: Likewise.
8891         * modules/unictype/category-Pe-tests: Likewise.
8892         * modules/unictype/category-Pf-tests: Likewise.
8893         * modules/unictype/category-Pi-tests: Likewise.
8894         * modules/unictype/category-Po-tests: Likewise.
8895         * modules/unictype/category-Ps-tests: Likewise.
8896         * modules/unictype/category-S-tests: Likewise.
8897         * modules/unictype/category-Sc-tests: Likewise.
8898         * modules/unictype/category-Sk-tests: Likewise.
8899         * modules/unictype/category-Sm-tests: Likewise.
8900         * modules/unictype/category-So-tests: Likewise.
8901         * modules/unictype/category-Z-tests: Likewise.
8902         * modules/unictype/category-Zl-tests: Likewise.
8903         * modules/unictype/category-Zp-tests: Likewise.
8904         * modules/unictype/category-Zs-tests: Likewise.
8905         * modules/unictype/category-and-not-tests: Likewise.
8906         * modules/unictype/category-and-tests: Likewise.
8907         * modules/unictype/category-byname-tests: Likewise.
8908         * modules/unictype/category-name-tests: Likewise.
8909         * modules/unictype/category-none-tests: Likewise.
8910         * modules/unictype/category-of-tests: Likewise.
8911         * modules/unictype/category-or-tests: Likewise.
8912         * modules/unictype/category-test-withtable-tests: Likewise.
8913         * modules/unictype/combining-class-tests: Likewise.
8914         * modules/unictype/ctype-alnum-tests: Likewise.
8915         * modules/unictype/ctype-alpha-tests: Likewise.
8916         * modules/unictype/ctype-blank-tests: Likewise.
8917         * modules/unictype/ctype-cntrl-tests: Likewise.
8918         * modules/unictype/ctype-digit-tests: Likewise.
8919         * modules/unictype/ctype-graph-tests: Likewise.
8920         * modules/unictype/ctype-lower-tests: Likewise.
8921         * modules/unictype/ctype-print-tests: Likewise.
8922         * modules/unictype/ctype-punct-tests: Likewise.
8923         * modules/unictype/ctype-space-tests: Likewise.
8924         * modules/unictype/ctype-upper-tests: Likewise.
8925         * modules/unictype/ctype-xdigit-tests: Likewise.
8926         * modules/unictype/decimal-digit-tests: Likewise.
8927         * modules/unictype/digit-tests: Likewise.
8928         * modules/unictype/mirror-tests: Likewise.
8929         * modules/unictype/numeric-tests: Likewise.
8930         * modules/unictype/property-alphabetic-tests: Likewise.
8931         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
8932         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
8933         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
8934         * modules/unictype/property-bidi-block-separator-tests: Likewise.
8935         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
8936         * modules/unictype/property-bidi-common-separator-tests: Likewise.
8937         * modules/unictype/property-bidi-control-tests: Likewise.
8938         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
8939         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
8940         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
8941         * modules/unictype/property-bidi-european-digit-tests: Likewise.
8942         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
8943         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
8944         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
8945         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
8946         * modules/unictype/property-bidi-pdf-tests: Likewise.
8947         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
8948         * modules/unictype/property-bidi-whitespace-tests: Likewise.
8949         * modules/unictype/property-byname-tests: Likewise.
8950         * modules/unictype/property-combining-tests: Likewise.
8951         * modules/unictype/property-composite-tests: Likewise.
8952         * modules/unictype/property-currency-symbol-tests: Likewise.
8953         * modules/unictype/property-dash-tests: Likewise.
8954         * modules/unictype/property-decimal-digit-tests: Likewise.
8955         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
8956         * modules/unictype/property-deprecated-tests: Likewise.
8957         * modules/unictype/property-diacritic-tests: Likewise.
8958         * modules/unictype/property-extender-tests: Likewise.
8959         * modules/unictype/property-format-control-tests: Likewise.
8960         * modules/unictype/property-grapheme-base-tests: Likewise.
8961         * modules/unictype/property-grapheme-extend-tests: Likewise.
8962         * modules/unictype/property-grapheme-link-tests: Likewise.
8963         * modules/unictype/property-hex-digit-tests: Likewise.
8964         * modules/unictype/property-hyphen-tests: Likewise.
8965         * modules/unictype/property-id-continue-tests: Likewise.
8966         * modules/unictype/property-id-start-tests: Likewise.
8967         * modules/unictype/property-ideographic-tests: Likewise.
8968         * modules/unictype/property-ids-binary-operator-tests: Likewise.
8969         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
8970         * modules/unictype/property-ignorable-control-tests: Likewise.
8971         * modules/unictype/property-iso-control-tests: Likewise.
8972         * modules/unictype/property-join-control-tests: Likewise.
8973         * modules/unictype/property-left-of-pair-tests: Likewise.
8974         * modules/unictype/property-line-separator-tests: Likewise.
8975         * modules/unictype/property-logical-order-exception-tests: Likewise.
8976         * modules/unictype/property-lowercase-tests: Likewise.
8977         * modules/unictype/property-math-tests: Likewise.
8978         * modules/unictype/property-non-break-tests: Likewise.
8979         * modules/unictype/property-not-a-character-tests: Likewise.
8980         * modules/unictype/property-numeric-tests: Likewise.
8981         * modules/unictype/property-other-alphabetic-tests: Likewise.
8982         * modules/unictype/property-other-default-ignorable-code-point-tests:
8983         Likewise.
8984         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
8985         * modules/unictype/property-other-id-continue-tests: Likewise.
8986         * modules/unictype/property-other-id-start-tests: Likewise.
8987         * modules/unictype/property-other-lowercase-tests: Likewise.
8988         * modules/unictype/property-other-math-tests: Likewise.
8989         * modules/unictype/property-other-uppercase-tests: Likewise.
8990         * modules/unictype/property-paired-punctuation-tests: Likewise.
8991         * modules/unictype/property-paragraph-separator-tests: Likewise.
8992         * modules/unictype/property-pattern-syntax-tests: Likewise.
8993         * modules/unictype/property-pattern-white-space-tests: Likewise.
8994         * modules/unictype/property-private-use-tests: Likewise.
8995         * modules/unictype/property-punctuation-tests: Likewise.
8996         * modules/unictype/property-quotation-mark-tests: Likewise.
8997         * modules/unictype/property-radical-tests: Likewise.
8998         * modules/unictype/property-sentence-terminal-tests: Likewise.
8999         * modules/unictype/property-soft-dotted-tests: Likewise.
9000         * modules/unictype/property-space-tests: Likewise.
9001         * modules/unictype/property-terminal-punctuation-tests: Likewise.
9002         * modules/unictype/property-test-tests: Likewise.
9003         * modules/unictype/property-titlecase-tests: Likewise.
9004         * modules/unictype/property-unassigned-code-value-tests: Likewise.
9005         * modules/unictype/property-unified-ideograph-tests: Likewise.
9006         * modules/unictype/property-uppercase-tests: Likewise.
9007         * modules/unictype/property-variation-selector-tests: Likewise.
9008         * modules/unictype/property-white-space-tests: Likewise.
9009         * modules/unictype/property-xid-continue-tests: Likewise.
9010         * modules/unictype/property-xid-start-tests: Likewise.
9011         * modules/unictype/property-zero-width-tests: Likewise.
9012         * modules/unictype/scripts-tests: Likewise.
9013         * modules/unictype/syntax-c-ident-tests: Likewise.
9014         * modules/unictype/syntax-c-whitespace-tests: Likewise.
9015         * modules/unictype/syntax-java-ident-tests: Likewise.
9016         * modules/unictype/syntax-java-whitespace-tests: Likewise.
9017         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
9018         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
9019         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
9020         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
9021         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
9022         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
9023         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
9024         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
9025         * modules/uniname/uniname-tests: Likewise.
9026         * modules/uninorm/canonical-decomposition-tests: Likewise.
9027         * modules/uninorm/compat-decomposition-tests: Likewise.
9028         * modules/uninorm/composition-tests: Likewise.
9029         * modules/uninorm/decomposing-form-tests: Likewise.
9030         * modules/uninorm/decomposition-tests: Likewise.
9031         * modules/uninorm/filter-tests: Likewise.
9032         * modules/uninorm/nfc-tests: Likewise.
9033         * modules/uninorm/nfd-tests: Likewise.
9034         * modules/uninorm/nfkc-tests: Likewise.
9035         * modules/uninorm/nfkd-tests: Likewise.
9036         * modules/uninorm/u8-normcmp-tests: Likewise.
9037         * modules/uninorm/u8-normcoll-tests: Likewise.
9038         * modules/uninorm/u16-normcmp-tests: Likewise.
9039         * modules/uninorm/u16-normcoll-tests: Likewise.
9040         * modules/uninorm/u32-normcmp-tests: Likewise.
9041         * modules/uninorm/u32-normcoll-tests: Likewise.
9042         * modules/unistdio/u8-asnprintf-tests: Likewise.
9043         * modules/unistdio/u8-vasnprintf-tests: Likewise.
9044         * modules/unistdio/u8-vasprintf-tests: Likewise.
9045         * modules/unistdio/u8-vsnprintf-tests: Likewise.
9046         * modules/unistdio/u8-vsprintf-tests: Likewise.
9047         * modules/unistdio/u16-asnprintf-tests: Likewise.
9048         * modules/unistdio/u16-vasnprintf-tests: Likewise.
9049         * modules/unistdio/u16-vasprintf-tests: Likewise.
9050         * modules/unistdio/u16-vsnprintf-tests: Likewise.
9051         * modules/unistdio/u16-vsprintf-tests: Likewise.
9052         * modules/unistdio/u32-asnprintf-tests: Likewise.
9053         * modules/unistdio/u32-vasnprintf-tests: Likewise.
9054         * modules/unistdio/u32-vasprintf-tests: Likewise.
9055         * modules/unistdio/u32-vsnprintf-tests: Likewise.
9056         * modules/unistdio/u32-vsprintf-tests: Likewise.
9057         * modules/unistdio/ulc-asnprintf-tests: Likewise.
9058         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
9059         * modules/unistdio/ulc-vasprintf-tests: Likewise.
9060         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
9061         * modules/unistdio/ulc-vsprintf-tests: Likewise.
9062         * modules/unistr/u8-check-tests: Likewise.
9063         * modules/unistr/u8-chr-tests: Likewise.
9064         * modules/unistr/u8-cmp-tests: Likewise.
9065         * modules/unistr/u8-cmp2-tests: Likewise.
9066         * modules/unistr/u8-cpy-alloc-tests: Likewise.
9067         * modules/unistr/u8-cpy-tests: Likewise.
9068         * modules/unistr/u8-mblen-tests: Likewise.
9069         * modules/unistr/u8-mbsnlen-tests: Likewise.
9070         * modules/unistr/u8-mbtouc-tests: Likewise.
9071         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
9072         * modules/unistr/u8-mbtoucr-tests: Likewise.
9073         * modules/unistr/u8-move-tests: Likewise.
9074         * modules/unistr/u8-next-tests: Likewise.
9075         * modules/unistr/u8-prev-tests: Likewise.
9076         * modules/unistr/u8-set-tests: Likewise.
9077         * modules/unistr/u8-stpcpy-tests: Likewise.
9078         * modules/unistr/u8-stpncpy-tests: Likewise.
9079         * modules/unistr/u8-strcat-tests: Likewise.
9080         * modules/unistr/u8-strcmp-tests: Likewise.
9081         * modules/unistr/u8-strcoll-tests: Likewise.
9082         * modules/unistr/u8-strcpy-tests: Likewise.
9083         * modules/unistr/u8-strdup-tests: Likewise.
9084         * modules/unistr/u8-strlen-tests: Likewise.
9085         * modules/unistr/u8-strmblen-tests: Likewise.
9086         * modules/unistr/u8-strmbtouc-tests: Likewise.
9087         * modules/unistr/u8-strncat-tests: Likewise.
9088         * modules/unistr/u8-strncmp-tests: Likewise.
9089         * modules/unistr/u8-strncpy-tests: Likewise.
9090         * modules/unistr/u8-strnlen-tests: Likewise.
9091         * modules/unistr/u8-to-u16-tests: Likewise.
9092         * modules/unistr/u8-to-u32-tests: Likewise.
9093         * modules/unistr/u8-uctomb-tests: Likewise.
9094         * modules/unistr/u16-check-tests: Likewise.
9095         * modules/unistr/u16-chr-tests: Likewise.
9096         * modules/unistr/u16-cmp-tests: Likewise.
9097         * modules/unistr/u16-cmp2-tests: Likewise.
9098         * modules/unistr/u16-cpy-alloc-tests: Likewise.
9099         * modules/unistr/u16-cpy-tests: Likewise.
9100         * modules/unistr/u16-mblen-tests: Likewise.
9101         * modules/unistr/u16-mbsnlen-tests: Likewise.
9102         * modules/unistr/u16-mbtouc-tests: Likewise.
9103         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
9104         * modules/unistr/u16-mbtoucr-tests: Likewise.
9105         * modules/unistr/u16-move-tests: Likewise.
9106         * modules/unistr/u16-next-tests: Likewise.
9107         * modules/unistr/u16-prev-tests: Likewise.
9108         * modules/unistr/u16-set-tests: Likewise.
9109         * modules/unistr/u16-stpcpy-tests: Likewise.
9110         * modules/unistr/u16-stpncpy-tests: Likewise.
9111         * modules/unistr/u16-strcat-tests: Likewise.
9112         * modules/unistr/u16-strcmp-tests: Likewise.
9113         * modules/unistr/u16-strcoll-tests: Likewise.
9114         * modules/unistr/u16-strcpy-tests: Likewise.
9115         * modules/unistr/u16-strdup-tests: Likewise.
9116         * modules/unistr/u16-strlen-tests: Likewise.
9117         * modules/unistr/u16-strmblen-tests: Likewise.
9118         * modules/unistr/u16-strmbtouc-tests: Likewise.
9119         * modules/unistr/u16-strncat-tests: Likewise.
9120         * modules/unistr/u16-strncmp-tests: Likewise.
9121         * modules/unistr/u16-strncpy-tests: Likewise.
9122         * modules/unistr/u16-strnlen-tests: Likewise.
9123         * modules/unistr/u16-to-u32-tests: Likewise.
9124         * modules/unistr/u16-to-u8-tests: Likewise.
9125         * modules/unistr/u16-uctomb-tests: Likewise.
9126         * modules/unistr/u32-check-tests: Likewise.
9127         * modules/unistr/u32-chr-tests: Likewise.
9128         * modules/unistr/u32-cmp-tests: Likewise.
9129         * modules/unistr/u32-cmp2-tests: Likewise.
9130         * modules/unistr/u32-cpy-alloc-tests: Likewise.
9131         * modules/unistr/u32-cpy-tests: Likewise.
9132         * modules/unistr/u32-mblen-tests: Likewise.
9133         * modules/unistr/u32-mbsnlen-tests: Likewise.
9134         * modules/unistr/u32-mbtouc-tests: Likewise.
9135         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
9136         * modules/unistr/u32-mbtoucr-tests: Likewise.
9137         * modules/unistr/u32-move-tests: Likewise.
9138         * modules/unistr/u32-next-tests: Likewise.
9139         * modules/unistr/u32-prev-tests: Likewise.
9140         * modules/unistr/u32-set-tests: Likewise.
9141         * modules/unistr/u32-stpcpy-tests: Likewise.
9142         * modules/unistr/u32-stpncpy-tests: Likewise.
9143         * modules/unistr/u32-strcat-tests: Likewise.
9144         * modules/unistr/u32-strcmp-tests: Likewise.
9145         * modules/unistr/u32-strcoll-tests: Likewise.
9146         * modules/unistr/u32-strcpy-tests: Likewise.
9147         * modules/unistr/u32-strdup-tests: Likewise.
9148         * modules/unistr/u32-strlen-tests: Likewise.
9149         * modules/unistr/u32-strmblen-tests: Likewise.
9150         * modules/unistr/u32-strmbtouc-tests: Likewise.
9151         * modules/unistr/u32-strncat-tests: Likewise.
9152         * modules/unistr/u32-strncmp-tests: Likewise.
9153         * modules/unistr/u32-strncpy-tests: Likewise.
9154         * modules/unistr/u32-strnlen-tests: Likewise.
9155         * modules/unistr/u32-to-u16-tests: Likewise.
9156         * modules/unistr/u32-to-u8-tests: Likewise.
9157         * modules/unistr/u32-uctomb-tests: Likewise.
9158         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
9159         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
9160         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
9161         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
9162         * modules/uniwidth/u8-strwidth-tests: Likewise.
9163         * modules/uniwidth/u8-width-tests: Likewise.
9164         * modules/uniwidth/u16-strwidth-tests: Likewise.
9165         * modules/uniwidth/u16-width-tests: Likewise.
9166         * modules/uniwidth/u32-strwidth-tests: Likewise.
9167         * modules/uniwidth/u32-width-tests: Likewise.
9168         * modules/uniwidth/width-tests: Likewise.
9169
9170 2010-05-18  Richard Jones  <rjones@redhat.com>
9171
9172         doc: users.txt: list hivex
9173         * users.txt: Add hivex.
9174
9175 2010-05-18  Richard Jones  <rjones@redhat.com>
9176
9177         doc: users.txt: list febootstrap
9178         * users.txt: Add febootstrap.
9179
9180 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
9181
9182         bootstrap: fix an error when gnulib is not used as a git submodule
9183         * build-aux/bootstrap (gnulib_path): If its length is zero then
9184         assign "gnulib" to it.
9185         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
9186
9187 2010-05-16  Bruno Haible  <bruno@clisp.org>
9188
9189         Avoid autoconf warnings about AM_ICONV.
9190         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
9191         2.64.
9192
9193 2010-05-16  Bruno Haible  <bruno@clisp.org>
9194
9195         absolute-header: Make the macro usable in more situations.
9196         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
9197         from gl_ABSOLUTE_HEADER.
9198         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
9199
9200 2010-05-16  James Youngman  <jay@gnu.org>
9201
9202         doc: update users.txt
9203         * users.txt: Add CSSC.
9204
9205 2010-05-16  Jim Meyering  <meyering@redhat.com>
9206
9207         init.sh: fix an error in the previous change; add more comments
9208         * tests/init.sh: Compare exit code in loop against 9, not 2.
9209         Patch by Bruno Haible.
9210         Make the two tests more similar by adding an empty "then" clause.
9211         Add comments.
9212
9213         init.sh: avoid unnecessary shell re-exec
9214         * tests/init.sh: Improve the re-exec-required check to first test the
9215         current shell.  If it passes the test, do not search for a shell that
9216         does pass, and do not re-exec.  This test is particularly contorted to
9217         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
9218         of $(...) evokes a syntax error and causes immediate shell exit with
9219         status 2.  Bruno Haible reported that the re-exec made it impossible
9220         to single-step through any init.sh-using script.
9221
9222 2010-05-16  Bruno Haible  <bruno@clisp.org>
9223
9224         Fix collision between gnulib's and libintl's printf replacements.
9225         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
9226         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
9227         (printf): When using GNU C, map the __printf__ function to rpl_printf
9228         via __asm__. When not using GNU C, define rpl_printf instead of
9229         __printf__.
9230         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
9231         commit.
9232         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
9233         commit.
9234         * m4/asm-underscore.m4: New file.
9235         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
9236         * modules/stdio (Files): Add m4/asm-underscore.m4.
9237         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
9238         Reported by Ben Pfaff.
9239
9240 2010-05-16  Bruno Haible  <bruno@clisp.org>
9241
9242         verify: Avoid skipping the test on openSUSE 11.0.
9243         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
9244
9245 2010-05-13  Bruno Haible  <bruno@clisp.org>
9246
9247         Avoid useless warnings from G++.
9248         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
9249         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
9250         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9251
9252 2010-05-11  Jim Meyering  <meyering@redhat.com>
9253
9254         maint.mk: tweak preceding change
9255         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
9256         regexps tighter by anchoring at EOL, and make the new group "shy"
9257         for slightly decreased overhead.
9258
9259 2010-05-11  Eric Blake  <eblake@redhat.com>
9260
9261         maint.mk: gnulib doesn't guarantee NSIG
9262         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
9263
9264 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
9265
9266         test-pwrite.c: Remove unused variable declaration.
9267         * tests/test-pwrite.c (main): Remove read_buf declaration.
9268
9269         Remove useless test-pwrite.sh file.
9270         * tests/test-pwrite.sh: Delete file.
9271         * modules/pwrite-tests: Remove references.
9272         Reported by Bruno Haible.
9273
9274 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
9275
9276         init.sh: fix a typo
9277         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
9278
9279 2010-05-10  Jim Meyering  <meyering@redhat.com>
9280
9281         maint.mk: avoid using a temporary file in the always-defined-macros check
9282         * top/maint.mk (.re-defmac): Remove rule.
9283         (gl_trap_): Remove definition.
9284         (sc_prohibit_always-defined_macros): Rewrite not to create and
9285         depend on a temporary file.  Instead, depend on GNU grep's ability
9286         to read a list of regular expressions from stdin when given "-f -".
9287
9288 2010-05-09  Bruno Haible  <bruno@clisp.org>
9289
9290         Update to GNU gettext 0.18, part 1.
9291         * m4/gettext.m4: Update to GNU gettext 0.18.
9292         * m4/intl.m4: Likewise.
9293         * m4/po.m4: Likewise.
9294         * modules/gettext (Files): Add m4/fcntl-o.m4.
9295         (configure.ac): Require gettext infrastructure from version 0.18.
9296
9297 2010-05-09  Jim Meyering  <meyering@redhat.com>
9298
9299         init.sh: enable MALLOC_PERTURB_
9300         * tests/init.sh: Enable glibc's malloc-perturbing option.
9301
9302         maint.mk: improve sc_cross_check_PATH_usage_in_tests
9303         With my recent change in init.sh from the two-line form:
9304             -#   : ${srcdir=.}
9305             -#   . "$srcdir/init.sh"; path_prepend_ .
9306             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
9307         I noticed that using the one-line form would cause this test
9308         to fail with a false-positive, or to stop working altogether,
9309         depending on whether help-version changed or all the tests did.
9310         * top/maint.mk (_hv_regex): Remove this definition.
9311         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
9312         (_hv_regex_strong): Use a stronger regex to check for conformance.
9313         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
9314         Give a separate diagnostic for lack of conforming use.
9315
9316         maint.mk: prohibit definition of symbols defined by gnulib
9317         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
9318         definition of symbols defined by gnulib.
9319
9320 2010-05-09  Bruno Haible  <bruno@clisp.org>
9321
9322         acl: Avoid test failure on Cygwin-hosted mingw.
9323         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
9324
9325 2010-05-09  Bruno Haible  <bruno@clisp.org>
9326
9327         error: Use system's fcntl function.
9328         * lib/error.c (fcntl): Undefine.
9329
9330 2010-05-09  Jim Meyering  <meyering@redhat.com>
9331
9332         verify: adjust formatting to be more consistent
9333         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
9334         argument-list '('s, and after one comma.
9335
9336 2010-05-09  Bruno Haible  <bruno@clisp.org>
9337
9338         error: More reliable output on mingw.
9339         * lib/error.c: Include <windows.h>.
9340         (is_open): New function.
9341         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
9342         defined.
9343
9344 2010-05-09  Bruno Haible  <bruno@clisp.org>
9345
9346         vasnprintf: Fix syntax errors in libintl build on mingw.
9347         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
9348         pad_ourselves and prec_ourselves after use.
9349
9350 2010-05-08  Bruno Haible  <bruno@clisp.org>
9351
9352         * lib/config.charset: Update comments for Cygwin 1.7.
9353         * lib/localcharset.c: Likewise.
9354
9355 2010-05-07  Jim Meyering  <meyering@redhat.com>
9356
9357         init.sh: improve comments
9358         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
9359         . "${srcdir=.}/init.sh"; path_prepend_ .
9360         Add a note about path_prepend_ and the alternative of using
9361         TESTS_ENVIRONMENT.
9362
9363 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
9364
9365         exclude: Unescape hashed patterns in wildcard mode.
9366         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
9367         to the hash list.
9368         * tests/test-exclude8.sh: New test case.
9369         * modules/exclude-tests: Add new test.
9370
9371 2010-05-05  Eric Blake  <eblake@redhat.com>
9372
9373         verify: automate tests
9374         * modules/verify-tests: New module.
9375         * tests/test-verify.sh: New file.
9376         * tests/test-verify.c: Guard each negative test with a unique id.
9377         Also avoid warning about unused left hand of comma expressions.
9378
9379 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
9380
9381         Further improvements to verify.h, suggested by Eric Blake.
9382         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
9383         the GL_* versions, to avoid collision with OpenGL.
9384         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
9385         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
9386         than testing merely whether it's defined.
9387
9388         Modify verify.h to pacify gcc -Wredundant_decls.
9389         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
9390         These use the prefix "GL_" since they're likely to be useful elsewhere.
9391         We may need to break them out into a different .h file.
9392         (__COUNTER__): Define to 0 if the compiler doesn't support it.
9393         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
9394         of verify_function__.
9395
9396 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
9397
9398         Tests for module pwrite.
9399         * modules/pwrite-tests: New file.
9400         * tests/test-pwrite.sh: New file.
9401         * tests/test-pwrite.c: New file.
9402
9403         New module pwrite.
9404         * lib/unistd.in.h (pwrite): New declaration.
9405         * lib/pwrite.c: New file, from glibc with modifications.
9406         * m4/pwrite.m4: New file.
9407         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
9408         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
9409         REPLACE_PWRITE.
9410         * modules/pwrite: New file.
9411         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
9412         REPLACE_PWRITE.
9413         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
9414         * doc/posix-functions/pwrite.texi: Mention the new module.
9415
9416 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
9417
9418         pread: Update documentation.
9419         * doc/posix-functions/pread.texi: Mention the 'pread' module.
9420
9421 2010-05-04  Eric Blake  <eblake@redhat.com>
9422
9423         docs: update cygwin progress
9424         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
9425         this bug.
9426         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
9427         Added in cygwin 1.7.2.
9428         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
9429         Likewise.
9430         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
9431         Likewise.
9432         * doc/glibc-functions/dup3.texi (dup3): Likewise.
9433         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9434         * doc/glibc-functions/accept4.texi (accept4): Likewise.
9435         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
9436         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
9437         Mention nproc module.
9438         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
9439         bug in cygwin 1.7.5 addition.
9440         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
9441         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
9442         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
9443         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
9444         1.7.5.
9445         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
9446         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
9447         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
9448         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
9449         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
9450         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
9451         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
9452         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
9453         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
9454         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
9455         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
9456         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
9457         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
9458         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
9459         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
9460         Likewise.
9461         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
9462         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
9463         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
9464         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
9465         Likewise.
9466         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
9467         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
9468         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
9469         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
9470         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
9471         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
9472         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
9473         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
9474         Likewise.
9475         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
9476         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
9477         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
9478         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
9479         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
9480         Likewise.
9481         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
9482         Likewise.
9483         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
9484         Likewise.
9485         * doc/glibc-functions/xdrrec_endofrecord.texi
9486         (xdrrec_endofrecord): Likewise.
9487         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
9488         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
9489         Likewise.
9490         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
9491         Likewise.
9492
9493 2010-05-04  Jim Meyering  <meyering@redhat.com>
9494
9495         gendocs.sh: make its "-s FILE" option more useful
9496         * build-aux/gendocs.sh: When honoring the -s FILE option, update
9497         $PACKAGE to reflect the probably-different basename of "FILE".
9498
9499 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
9500
9501         bootstrap: don't ignore download_po_files failure
9502         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
9503         failure.
9504
9505 2010-05-03  Jim Meyering  <meyering@redhat.com>
9506
9507         maint.mk: allow to pass options to gendocs.sh
9508         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
9509         (gendocs_options_): New overridable variable.
9510
9511         gnu-web-doc-update: don't ignore configure or build failure
9512         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
9513
9514         announce-gen: backslash-escape '@'s in --help output
9515         * build-aux/announce-gen: Fix syntax errors.
9516
9517         maint.mk, announce-gen: allow project-specific announcement mail headers
9518         * top/maint.mk (translation_project_): Define default.
9519         (announcement_Cc_, announcement_mail_headers_): Likewise.
9520         (announcement): Invoke announce-gen with new --mail-headers option.
9521         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
9522
9523         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
9524         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
9525         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
9526         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
9527         line in the "err2" output file when running "make check" in verbose
9528         mode (i.e., with set -x enabled).
9529
9530 2010-05-03  Bruno Haible  <bruno@clisp.org>
9531
9532         wctob: Fix for weird platforms.
9533         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
9534         argument value.
9535
9536 2010-05-03  Jim Meyering  <meyering@redhat.com>
9537
9538         maint.mk: prohibit unwarranted use of <strings.h>
9539         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
9540         strings.h in a file that does not also use strcasecmp, strncasecmp,
9541         ffs or ffsll.
9542
9543         maint.mk: remove obsolete comments
9544         * top/maint.mk: Remove stale, commented-out rules.
9545
9546 2010-05-02  Bruno Haible  <bruno@clisp.org>
9547
9548         wcwidth: Declare also when it's aliased.
9549         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
9550         macro.
9551
9552 2010-05-02  Bruno Haible  <bruno@clisp.org>
9553
9554         Fix regression from 2010-04-25.
9555         * gnulib-tool (func_modules_transitive_closure): Check the status of
9556         all modules, not only of the tests that are of the form foo-tests where
9557         foo is a module.
9558
9559 2010-05-02  Bruno Haible  <bruno@clisp.org>
9560
9561         wctob: Work around nasty Cygwin 1.7.2 bug.
9562         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
9563         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
9564
9565 2010-05-01  Bruno Haible  <bruno@clisp.org>
9566
9567         fpurge: Sharper test.
9568         * tests/test-fpurge.c (main): Add one more ftell check.
9569         * modules/fpurge-tests (Depends-on): Add ftell.
9570         Suggested by Eric Blake.
9571
9572 2010-05-01  Bruno Haible  <bruno@clisp.org>
9573
9574         ftello: Another test.
9575         * tests/test-ftello3.c: New file.
9576         * modules/ftello-tests (Files): Add it.
9577         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
9578         MOSTLYCLEANFILES.
9579
9580         ftell: Another test.
9581         * tests/test-ftell3.c: New file.
9582         * modules/ftell-tests (Files): Add it.
9583         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
9584         MOSTLYCLEANFILES.
9585
9586 2010-05-01  Bruno Haible  <bruno@clisp.org>
9587
9588         ftell, ftello: Work around Solaris bug.
9589         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
9590         * lib/ftello.c: Include stdio-impl.h.
9591         (ftello): On Solaris, when _IOWRT is set, compute the result without
9592         looking at _IOREAD.
9593         * modules/ftello (Files): Add lib/stdio-impl.h.
9594         * doc/posix-functions/ftell.texi: Mention Solaris bug.
9595         * doc/posix-functions/ftello.texi: Likewise.
9596         Reported by Eric Blake.
9597
9598 2010-05-01  Bruno Haible  <bruno@clisp.org>
9599
9600         freading: Adapt to special meaning of _IOREAD flag on Solaris.
9601         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
9602         the _IOWRT flag is also set.
9603
9604 2010-05-01  Bruno Haible  <bruno@clisp.org>
9605
9606         Fix doc about a HP-UX stdio bug.
9607         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
9608         * doc/posix-functions/ftello.texi: Likewise.
9609
9610 2010-05-01  Bruno Haible  <bruno@clisp.org>
9611
9612         lseek test: Fix failure on Solaris.
9613         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
9614         output.
9615
9616 2010-04-30  Jim Meyering  <meyering@redhat.com>
9617
9618         bootstrap: don't ignore failure to generate po*/Makevars
9619         * build-aux/bootstrap (with_gettext): Don't ignore failure
9620         to create po/Makevars or runtime-po/Makevars.
9621
9622 2010-04-29  Eric Blake  <eblake@redhat.com>
9623
9624         headers: relax license to LGPLv2+
9625         * modules/fcntl-h (License): Relax license.
9626         * modules/getopt-posix (License): Likewise.
9627         * modules/locale (License): Likewise.
9628         * modules/math (License): Likewise.
9629         * modules/pty (License): Likewise.
9630         * modules/sched (License): Likewise.
9631         * modules/search (License): Likewise.
9632         * modules/spawn (License): Likewise.
9633         * modules/stdarg (License): Likewise.
9634         * modules/sysexits (License): Likewise.
9635
9636 2010-04-29  Jim Meyering  <meyering@redhat.com>
9637
9638         inttypes: relax license to LGPLv2+
9639         * modules/inttypes (License): Relax license.
9640
9641 2010-04-29  Simon Josefsson  <simon@josefsson.org>
9642
9643         * top/maint.mk (indent): Run twice to produce idempotent results.
9644
9645 2010-04-28  Bruno Haible  <bruno@clisp.org>
9646
9647         getdate: Generate getdate.c in the source directory.
9648         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
9649         MOSTLYCLEANFILES.
9650         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
9651
9652 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
9653
9654         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
9655         is not declared as a const *; avoid warnings in that case.
9656
9657 2010-04-28  Eric Blake  <eblake@redhat.com>
9658
9659         canonicalize-lgpl: avoid compiler warning
9660         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
9661         declaration' / 'extraneous semicolon' warning with some compilers.
9662         Reported by Andreas Gruenbacher.
9663
9664 2010-04-28  Jim Meyering  <meyering@redhat.com>
9665
9666         init.sh: ensure a more reliable exit status when exiting via trap
9667         * tests/init.sh (setup_): Don't rely on $? in signal handler.
9668         Inspired by patches from Dmitry V. Levin.
9669         Also trap on signal 3 (SIGQUIT).
9670
9671 2010-04-27  Bruno Haible  <bruno@clisp.org>
9672
9673         Update doc about utimes().
9674         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
9675         'utimens' module.
9676         Reported by Andreas Gruenbacher <agruen@suse.de>.
9677
9678 2010-04-27  Eric Blake  <eblake@redhat.com>
9679
9680         full-read, full-write: relax license
9681         * modules/full-read (License): Drop to LGPLv2+.
9682         * modules/full-write (License): Likewise.
9683         * modules/safe-read (License): Likewise.
9684         * modules/safe-write (License): Likewise.
9685
9686         pthread: mention library for linking
9687         * modules/pthread (Link): Mention $(LIB_PTHREAD).
9688
9689 2010-04-27  Jim Meyering  <meyering@redhat.com>
9690
9691         maint.mk: fix a bug introduced in last change
9692         * top/maint.mk (gl_assured_headers_): Now that all names are on
9693         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
9694         is not anchored to end of word, it should be adequate.
9695
9696         maint.mk: avoid side-effect in latest syntax-check
9697         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
9698         to run commands via $(shell...), and hence to incur cost only when
9699         the new rule is actually run.
9700
9701         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
9702         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
9703         and use that to create a regexp used to detect all #if HAVE_..._H uses.
9704         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
9705         (gl_assured_headers_, az_, AZ_): Define.
9706         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
9707
9708 2010-04-26  Jim Meyering  <jim@meyering.net>
9709             Bruno Haible  <bruno@clisp.org>
9710
9711         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
9712         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
9713         Prompted by an exchange with Gilles Espinasse.
9714
9715 2010-04-26  Jim Meyering  <meyering@redhat.com>
9716
9717         git-version-gen: aesthetic tweak
9718         * build-aux/git-version-gen: Use "$nl" rather than a literal,
9719         so that the command remains on a single line.
9720
9721 2010-04-26  Eric Blake  <eblake@redhat.com>
9722
9723         git-version-gen: allow use on EBCDIC hosts
9724         * build-aux/git-version-gen (dirty): Use literal rather than tying
9725         ourselves to ascii.
9726         Reported by Steve Goetze.
9727
9728 2010-04-25  Bruno Haible  <bruno@clisp.org>
9729
9730         netdb: Add support for GNULIB_POSIXCHECK.
9731         * lib/netdb.in.h: Include warn-on-use.h.
9732         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
9733         functions are used when GNULIB_POSIXCHECK is defined and the
9734         getaddrinfo module is not in use.
9735         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
9736         freeaddrinfo, gai_strerror, getnameinfo are declared.
9737         * modules/netdb (Depends-on): Add warn-on-use.
9738         (Makefile.am): Include warn-on-use.h in netdb.h.
9739
9740 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
9741
9742         build: avoid "make check" failure without .git/ directory
9743         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
9744         there is no .git/ directory.
9745
9746 2010-04-25  Bruno Haible  <bruno@clisp.org>
9747
9748         ptsname: Fix misuse of ttyname_r.
9749         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
9750         of errno.
9751
9752 2010-04-25  Bruno Haible  <bruno@clisp.org>
9753
9754         ttyname_r: Make it work on Solaris 10.
9755         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
9756         if the system function has the POSIX declaration. Test whether the
9757         function fails if the buffer is less than 128 bytes large.
9758         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
9759         system's ttyname_r function. Provide a reasonably large buffer.
9760         * modules/ttyname_r (Depends-on): Add extensions.
9761         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
9762
9763 2010-04-25  Bruno Haible  <bruno@clisp.org>
9764
9765         Use the 'extensions' module for some more functions on Solaris.
9766         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
9767         module.
9768         * doc/posix-functions/ctime_r.texi: Likewise.
9769         * doc/posix-functions/getgrgid_r.texi: Likewise.
9770         * doc/posix-functions/getgrnam_r.texi: Likewise.
9771         * doc/posix-functions/getpwnam_r.texi: Likewise.
9772         * doc/posix-functions/getpwuid_r.texi: Likewise.
9773         * doc/posix-functions/readdir_r.texi: Likewise.
9774         * doc/posix-functions/sigwait.texi: Likewise.
9775         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
9776         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
9777
9778 2010-04-25  Bruno Haible  <bruno@clisp.org>
9779
9780         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
9781         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
9782         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
9783         * lib/ttyname_r.c: Include <limits.h>.
9784         (ttyname_r): Define using the system's ttyname_r function, if it exists
9785         and not on Solaris.
9786         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
9787         set.
9788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
9789         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
9790         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
9791         Reported by Simon Josefsson.
9792
9793 2010-04-25  Bruno Haible  <bruno@clisp.org>
9794
9795         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
9796         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
9797         * doc/posix-functions/ctime_r.texi: Likewise.
9798         * doc/posix-functions/getgrgid_r.texi: Likewise.
9799         * doc/posix-functions/getgrnam_r.texi: Likewise.
9800         * doc/posix-functions/getlogin_r.texi: Likewise.
9801         * doc/posix-functions/getpwnam_r.texi: Likewise.
9802         * doc/posix-functions/getpwuid_r.texi: Likewise.
9803         * doc/posix-functions/readdir_r.texi: Likewise.
9804         * doc/posix-functions/sigwait.texi: Likewise.
9805         * doc/posix-functions/ttyname_r.texi: Likewise.
9806         Reported by Simon Josefsson.
9807
9808 2010-04-25  Bruno Haible  <bruno@clisp.org>
9809
9810         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
9811         * gnulib-tool (func_usage): Document that --with-*-tests options apply
9812         also to --create-testdir.
9813         (func_acceptable): Don't consider the status of *-tests modules here.
9814         (func_modules_transitive_closure): Consider it here, before including a
9815         test module.
9816         (func_import, func_create_testdir): Set inc_all_direct_tests,
9817         inc_all_indirect_tests.
9818         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
9819         --create-testdir and --create-megatestdir.
9820
9821 2010-04-25  Bruno Haible  <bruno@clisp.org>
9822
9823         gnulib-tool: Add --without-*-tests options.
9824         * gnulib-tool (func_usage): Document the --without-*-tests options.
9825         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
9826         excl_unportable_tests): New variables.
9827         Fail if they are specified with --import or --update.
9828         (func_acceptable): Respect the excl_*_tests variables.
9829         (func_import): Set the excl_*_tests variables to empty.
9830
9831 2010-04-25  Simon Josefsson  <simon@josefsson.org>
9832             Bruno Haible  <bruno@clisp.org>
9833
9834         Work around a MacOS X 10.4 bug with openpty.
9835         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
9836         * tests/test-openpty.c (main): Close the master side explicitly.
9837
9838 2010-04-25  Bruno Haible  <bruno@clisp.org>
9839
9840         strnlen: Fix a C++ test error on MacOS X and Solaris.
9841         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
9842         the function is not declared.
9843         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
9844         Simon Josefsson.
9845
9846 2010-04-24  Bruno Haible  <bruno@clisp.org>
9847
9848         Avoid a gcc warning.
9849         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
9850         of correct type for %08lx directive.
9851         Reported by Eric Blake.
9852
9853 2010-04-24  Bruno Haible  <bruno@clisp.org>
9854
9855         vasnprintf: Correct errno value in case of out-of-memory.
9856         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
9857         or sprintf. Use the errno value from SNPRINTF or sprintf.
9858         Reported by Ian Beckwith <ianb@erislabs.net>.
9859
9860 2010-04-24  Bruno Haible  <bruno@clisp.org>
9861
9862         ansi-c++-opt: Find correct compiler when cross-compiling.
9863         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
9864         AC_CHECK_PROGS.
9865         Reported by Simon Josefsson.
9866
9867 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
9868
9869         vc-list-files: Add support for subversion
9870         * build-aux/vc-list-files: Use "svn list" to generate the list of
9871         files controlled by subversion.
9872
9873 2010-04-23  Jim Meyering  <meyering@redhat.com>
9874
9875         vc-list-files tests: convert to use init.sh
9876         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
9877         path_prepend_.
9878         Use Exit, not exit.
9879         Use skip_ rather than open coding it.
9880         Remove trap set-up and compare definitions.
9881         * tests/test-vc-list-files-git.sh: Likewise.
9882         * modules/vc-list-files-tests (Files): Add tests/init.sh.
9883
9884 2010-04-22  Simon Josefsson  <simon@josefsson.org>
9885
9886         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
9887         backup files.
9888
9889 2010-04-21  Simon Josefsson  <simon@josefsson.org>
9890
9891         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
9892
9893 2010-04-20  Eric Blake  <eblake@redhat.com>
9894
9895         tests: be robust to ignored SIGPIPE
9896         * tests/test-select-in.sh: Consume all output.
9897         * tests/test-lseek.sh: Check correct exit status, while avoiding
9898         EPIPE.
9899
9900 2010-04-20  Simon Josefsson  <simon@josefsson.org>
9901             Bruno Haible  <bruno@clisp.org>
9902
9903         visibility: Don't use -fvisibility if it leads to a warning.
9904         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
9905         yes, don't pretend that visibility works if it leads to a warning.
9906         Reported by Mike Gran <spk121@yahoo.com>.
9907
9908 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
9909
9910         * build-aux/bootstrap: Use "git -h" for testing for supported options
9911         instead of "git --help".  The short-form option only shows a summary,
9912         and doesn't layout the full man page.  Grep for the full option name
9913         in the summary, too.
9914
9915 2010-04-19  Bruno Haible  <bruno@clisp.org>
9916
9917         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
9918         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
9919         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
9920         mention of RELOCATABLE_STRIP.
9921         Reported by Sylvain Beucler <beuc@beuc.net>.
9922
9923 2010-04-19  Bruno Haible  <bruno@clisp.org>
9924
9925         * lib/diffseq.h: Fix typo in comment.
9926         Reported by Eric Blake.
9927
9928 2010-04-19  Bruno Haible  <bruno@clisp.org>
9929
9930         ioctl: Move autoconf macro to a .m4 file.
9931         * m4/ioctl.m4: New file, extracted from modules/ioctl.
9932         * modules/ioctl (Files): Add it.
9933         (configure.ac): Simply invoke gl_FUNC_IOCTL.
9934         Reported by Ian Beckwith <ianb@erislabs.net>.
9935
9936 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
9937             Bruno Haible  <bruno@clisp.org>
9938
9939         diffseq: Accommodate use-case with abstract arrays.
9940         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
9941         is not defined.
9942         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
9943         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
9944
9945 2010-04-18  Bruno Haible  <bruno@clisp.org>
9946
9947         * doc/posix-headers/stdbool.texi: More precise wording.
9948
9949 2010-04-17  Jim Meyering  <meyering@redhat.com>
9950
9951         maint.mk: use gnu-style indentation in an embedded perl script
9952         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
9953         Rename variable: s/two/last_two_bytes/
9954
9955 2010-04-16  Eric Blake  <eblake@redhat.com>
9956
9957         test-stdbool: skip test that fails with Solaris CC
9958         * tests/test-stdbool.c (f): Skip test that causes compilation
9959         error under buggy C++ compiler.
9960         * lib/stdbool.in.h: Document the limitation.
9961         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
9962
9963         setenv: allow compilation with C++
9964         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
9965         register keyword.
9966
9967         stdint: allow test to pass with C++
9968         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
9969
9970         getopt: allow compilation with C++
9971         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
9972         struct.
9973         * lib/getopt.c (_getopt_internal_r): Use correct type.
9974         Reported by Dagobert Michelson, via Joel E. Denny.
9975
9976 2010-04-16  Bruno Haible  <bruno@clisp.org>
9977
9978         Override netdb.h always.
9979         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
9980         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
9981         Reported by Ludovic Courtès <ludo@gnu.org>.
9982
9983 2010-04-15  Bruno Haible  <bruno@clisp.org>
9984
9985         openpty: Fix mistake from 2010-03-21.
9986         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
9987         Reported by Simon Josefsson.
9988
9989 2010-04-15  Eric Blake  <eblake@redhat.com>
9990
9991         test-forkpty: fix expected signature
9992         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
9993         Reported by Simon Josefsson.
9994
9995 2010-04-15  Jim Meyering  <meyering@redhat.com>
9996
9997         maint.mk: texinfo_suffix_re_: correct the default regexp
9998         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
9999
10000         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
10001         make it configurable via texinfo_suffix_re_.
10002
10003 2010-04-14  Eric Blake  <eblake@redhat.com>
10004
10005         strtok_r: relax license to LGPLv2+
10006         * modules/strtok_r (License): Relax license.
10007         Reported by Matthias Bolte.
10008
10009 2010-04-14  Simon Josefsson  <simon@josefsson.org>
10010
10011         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
10012         version 1.4.4 by default instead of requiring the libgcrypt
10013         version used during build.  This makes it possible to use the
10014         application with older but still binary compatible libgcrypt
10015         versions.
10016
10017 2010-04-13  Eric Blake  <eblake@redhat.com>
10018
10019         getopt-gnu: match recent glibc fixes and posix ruling
10020         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
10021         '+' handling, when requesting extensions.
10022         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
10023         'W;' handling.
10024         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
10025         * doc/posix-functions/getopt.texi (getopt): Document this.
10026         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10027         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10028         Likewise.
10029
10030         getopt: merge bug fixes from glibc
10031         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
10032         diagnostics.  Honor '+:' correctly.  Reject ';'.
10033
10034         getopt-posix: detect MacOS bug
10035         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
10036         optind when missing a required argument.
10037         * doc/posix-functions/getopt.texi (getopt): Document the bug.
10038         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10039         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10040         Likewise.
10041
10042         getopt-posix: avoid spurious failure on Solaris
10043         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
10044         an indicator that setting optind=1 is sufficient for reset.
10045
10046         getopt-posix: avoid spurious failure on FreeBSD
10047         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
10048         in POSIX mode, since the m4 test uses it.
10049
10050         gnulib-tool: silence warning on BSD sh
10051         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
10052
10053 2010-04-13  Jim Meyering  <meyering@redhat.com>
10054
10055         doc: users.txt: GNU patch now uses gnulib
10056         * users.txt: Add patch.
10057
10058 2010-04-12  Jim Meyering  <meyering@redhat.com>
10059
10060         maint.mk: generate more concise timing data for syntax-check rules
10061         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
10062         " done" from each line that reports a syntax-check test duration.
10063
10064 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
10065
10066         git-version-gen: use "git update-index..." rather than "git status"
10067         * build-aux/git-version-gen: Use git update-index --refresh, not
10068         "git status".  With some versions of git, "git status" would fail
10069         to update the index and result in an unwarranted "-dirty" suffix.
10070
10071 2010-04-11  Jim Meyering  <meyering@redhat.com>
10072
10073         openat: correct formatting (no semantic change)
10074         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
10075         Suggested by Bruno Haible.
10076
10077 2010-04-11  Bruno Haible  <bruno@clisp.org>
10078
10079         Stricter declaration checking in testdirs.
10080         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10081         If for_tests is true, augment AM_CPPFLAGS to define
10082         GNULIB_STRICT_CHECKING.
10083         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
10084         GNULIB_STRICT_CHECKING is defined, verify that the function is
10085         declared.
10086
10087 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
10088             Bruno Haible  <bruno@clisp.org>
10089
10090         libunistring: Improve configure output.
10091         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
10092         Don't say "consider installing GNU libunistring" when checking again
10093         with libiconv.
10094
10095 2010-04-11  Bruno Haible  <bruno@clisp.org>
10096
10097         libunistring: Correct value of $LTLIBUNISTRING.
10098         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
10099         correct the value of $LTLIBUNISTRING.
10100
10101 2010-04-11  Bruno Haible  <bruno@clisp.org>
10102
10103         havelib: Add static libraries to LIBS in the right order.
10104         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
10105         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
10106
10107 2010-04-11  Bruno Haible  <bruno@clisp.org>
10108
10109         libunistring: Detect libunistring also when it depends on libiconv.
10110         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
10111         the second AC_LIB_HAVE_LINKFLAGS invocation.
10112
10113 2010-04-11  James Youngman  <jay@gnu.org>
10114
10115         close-stream: declare local scalars to be "const"
10116         * lib/close-stream.c (close_stream): Make boolean variables const
10117         to document the fact that we set but do not change them.
10118
10119 2010-04-11  Bruno Haible  <bruno@clisp.org>
10120
10121         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
10122
10123 2010-04-11  Jim Meyering  <meyering@redhat.com>
10124
10125         maint.mk: don't include dist-check.mk
10126         * top/maint.mk: Remove bogus include directive.
10127
10128         maint.mk: improve empty-line-at-EOF check
10129         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
10130         solution, rather than tail+Perl-based one.  The latter would read
10131         a few kilobytes from the end of each file, and did not handle empty
10132         files properly.
10133
10134         maint.mk: print the elapsed time for each syntax-check rule
10135         * top/maint.mk (sc_m_rules_): Save start time in a file.
10136         (sc_z_rules_): New rules: remove temp file and print elapsed time.
10137         (local-check): Interpose the .z rules
10138
10139 2010-04-11  Jim Meyering  <meyering@redhat.com>
10140
10141         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
10142         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
10143         empty file with one that ends in an empty line.
10144
10145 2010-04-10  Bruno Haible  <bruno@clisp.org>
10146
10147         mkdir: Make it work on mingw64.
10148         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
10149         * lib/mkdir.c: Update comment.
10150         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
10151
10152 2010-04-10  Bruno Haible  <bruno@clisp.org>
10153
10154         Don't override improved macro from newer autoconf.
10155         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
10156         autoconf >= 2.62.
10157         Reported by Joel E. Denny <jdenny@clemson.edu>.
10158
10159 2010-04-10  Jim Meyering  <meyering@redhat.com>
10160
10161         maint.mk: new syntax-check rule: prohibit empty lines at end of file
10162         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
10163
10164         maint.mk: correct a diagnostic
10165         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
10166         in diagnostic; now use $prohibit.
10167
10168 2010-04-10  Bruno Haible  <address@hidden>
10169
10170         fchownat: Fix a C++ test error on Solaris 8.
10171         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
10172         the function does not exist.
10173
10174 2010-04-10  Bruno Haible  <bruno@clisp.org>
10175
10176         vasnprintf: Add more tests.
10177         * tests/test-vasnprintf-posix.c: Include <errno.h>.
10178         (test_function): Test converting an invalid wide string.
10179
10180         vasnprintf: Correct handling of unconvertible wide string arguments.
10181         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
10182         VASNPRINTF.
10183         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
10184         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
10185         smaller than the expected maximum need for the directive. Set errno to
10186         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
10187         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
10188         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
10189         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
10190         * modules/vasnprintf (Files): Add m4/printf.m4.
10191         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10192
10193 2010-04-10  Bruno Haible  <bruno@clisp.org>
10194
10195         vasnprintf: Fix crash in %ls directive.
10196         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
10197         string is passed as argument to %ls, with no precision and no width.
10198         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10199
10200 2010-04-10  Bruno Haible  <bruno@clisp.org>
10201
10202         vasnprintf: Fix multiple test failures on mingw.
10203         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
10204         _snprintf, or snwprintf, not _snwprintf.
10205
10206 2010-04-10  Bruno Haible  <bruno@clisp.org>
10207
10208         write: Fix a C++ test error on mingw.
10209         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
10210
10211 2010-04-10  Bruno Haible  <bruno@clisp.org>
10212
10213         vasnprintf test: Reduce code duplication.
10214         * tests/test-vasnprintf.c (test_function): New function, extracted from
10215         test_vasnprintf.
10216         (test_vasnprintf, test_asnprintf): Invoke it.
10217
10218 2010-04-10  Bruno Haible  <bruno@clisp.org>
10219
10220         strnlen: Fix warning in C++ mode on MacOS X.
10221         * lib/string.in.h (strnlen): Use the modern idiom.
10222         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
10223         defining strnlen as a macro already in <config.h>.
10224         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10225         REPLACE_STRNLEN.
10226         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
10227         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10228
10229 2010-04-08  James Youngman  <jay@gnu.org>
10230
10231         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
10232         the example.
10233
10234 2010-04-09  Jim Meyering  <meyering@redhat.com>
10235
10236         maint.mk: print better diagnostic when there is no $(_hv_file)
10237         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
10238         announce that when $(_hv_file) (aka help-version) does not exist.
10239
10240         init.sh: run tr in the "C" locale to avoid multibyte interpretation
10241         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
10242         not try to interpret its random input bytes.  Jarno Rajahalme reported
10243         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
10244         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
10245         (mktempd_): Likewise, just in case.
10246
10247         ftruncate: add two years to projected module removal date: 2012
10248         * m4/ftruncate.m4: Adjust comments.
10249
10250         ftruncate: mark module as obsolete; even MinGW provides it, now
10251         * modules/ftruncate (Status): Obsolete.
10252         (Notice): Say that.
10253         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
10254         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
10255
10256 2010-04-08  Bruno Haible  <bruno@clisp.org>
10257
10258         Fix side effects from tests-related modules.
10259         * modules/dprintf-posix (Comment): New section.
10260         * modules/fprintf-posix (Comment): Likewise.
10261         * modules/obstack-printf-posix (Comment): Likewise.
10262         * modules/printf-posix (Comment): Likewise.
10263         * modules/snprintf-posix (Comment): Likewise.
10264         * modules/sprintf-posix (Comment): Likewise.
10265         * modules/vasnprintf-posix (Comment): Likewise.
10266         * modules/vasprintf-posix (Comment): Likewise.
10267         * modules/vdprintf-posix (Comment): Likewise.
10268         * modules/vfprintf-posix (Comment): Likewise.
10269         * modules/vprintf-posix (Comment): Likewise.
10270         * modules/vsnprintf-posix (Comment): Likewise.
10271         * modules/vsprintf-posix (Comment): Likewise.
10272         * modules/xprintf-posix (Comment): Likewise.
10273         * modules/xvasprintf-posix (Comment): Likewise.
10274         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
10275         * modules/floorf-tests (Depends-on): Likewise.
10276         * modules/round-tests (Depends-on): Likewise.
10277         * modules/roundf-tests (Depends-on): Likewise.
10278         * modules/trunc-tests (Depends-on): Likewise.
10279         * modules/truncf-tests (Depends-on): Likewise.
10280         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
10281         'fprintf-posix' module is not present.
10282         * tests/test-floorf2.c (check): Likewise.
10283         * tests/test-trunc2.c (check): Likewise.
10284         * tests/test-truncf2.c (check): Likewise.
10285         * tests/test-round2.c (equal): Likewise.
10286         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10287
10288 2010-04-07  Karl Berry  <karl@gnu.org>
10289
10290         * config/srclist.txt,
10291         * config/srclistvars.sh,
10292         * config/srclist-update: doc fixes.
10293
10294 2010-04-07  Jim Meyering  <meyering@redhat.com>
10295
10296         maint.mk: add a PATH crosschecking syntax-check rule
10297         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
10298         Useful if you use a test like the one in help-version (coreutils,
10299         diffutils, grep, gzip) that ensures $(VERSION) matches what is
10300         printed by prog --version.
10301
10302 2010-04-06  Bruno Haible  <bruno@clisp.org>
10303
10304         Fix link error on mingw.
10305         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
10306         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
10307
10308 2010-04-06  Bruno Haible  <bruno@clisp.org>
10309
10310         Assume rmdir exists.
10311         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
10312
10313 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
10314
10315         doc: update users.txt
10316         * users.txt: Add gcal.
10317
10318 2010-04-06  Jim Meyering  <meyering@redhat.com>
10319
10320         init.sh: simply unset TMPDIR rather than risking env -i
10321         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
10322         although it probably works fine on all Unix-based systems, some
10323         systems (Cygwin?) cannot tolerate a totally cleared environment.
10324         Suggestion from Eric Blake.
10325
10326 2010-04-06  Jim Meyering  <meyering@redhat.com>
10327
10328         init.sh: portability fix: use env's POSIX-specified -i option not -u
10329         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
10330         than unportable env -u.  Solaris 5.11's env lacks support for -u.
10331
10332 2010-04-05  Bruno Haible  <bruno@clisp.org>
10333
10334         btowc: Work around Cygwin 1.7.2 bug.
10335         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
10336         does not map NUL to 0.
10337         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
10338
10339 2010-04-05  Bruno Haible  <bruno@clisp.org>
10340
10341         Make the multithread modules work on Cygwin 1.7.2.
10342         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
10343         imported symbols can be declared weak, so that it returns "no" on
10344         Cygwin 1.7.2.
10345
10346 2010-04-05  Bruno Haible  <bruno@clisp.org>
10347
10348         Use the module 'strncat'.
10349         * modules/unistr/u8-strncat (Depends-on): Add strncat.
10350
10351         Tests for module 'strncat'.
10352         * modules/strncat-tests: New file.
10353         * tests/test-strncat.c: New file.
10354
10355         New module 'strncat'.
10356         * lib/string.in.h (strncat): New declaration.
10357         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
10358         * m4/strncat.m4: New file, based on m4/memchr.m4.
10359         * modules/strncat: New file.
10360         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
10361         is declared.
10362         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
10363         REPLACE_STRNCAT.
10364         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
10365         REPLACE_STRNCAT.
10366         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
10367         module.
10368         * tests/test-string-c++.cc: Check signature of strncat.
10369
10370 2010-04-05  Jim Meyering  <meyering@redhat.com>
10371
10372         xstrtoumax-tests: convert to use init.sh
10373         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
10374         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10375         Use Exit, not exit.
10376         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10377
10378         xstrtoimax-tests: convert to use init.sh
10379         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
10380         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10381         Use Exit, not exit.
10382         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10383
10384 2010-04-05  Bruno Haible  <bruno@clisp.org>
10385
10386         sys_socket: Avoid #define replacements in C++ mode.
10387         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
10388         warning to the function if possible, rather than #defining the symbol
10389         to a dysfunctional alias.
10390
10391 2010-04-05  Bruno Haible  <bruno@clisp.org>
10392
10393         fseeko: Fix C++ test error on mingw.
10394         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
10395         gl_FUNC_FSEEKO.
10396         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
10397         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
10398         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
10399         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
10400
10401 2010-04-05  Bruno Haible  <bruno@clisp.org>
10402
10403         duplocale: Improve test output.
10404         * tests/test-duplocale.c (main): Print reason for skipped test.
10405
10406 2010-04-05  Bruno Haible  <bruno@clisp.org>
10407
10408         Assume rmdir exists.
10409         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
10410         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
10411
10412 2010-04-05  Bruno Haible  <bruno@clisp.org>
10413
10414         Fix link error on Solaris 8 with cc.
10415         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
10416
10417 2010-04-05  Bruno Haible  <bruno@clisp.org>
10418
10419         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
10420         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
10421
10422 2010-04-05  Bruno Haible  <bruno@clisp.org>
10423
10424         vasprintf: Update documentation.
10425         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
10426
10427 2010-04-05  Bruno Haible  <bruno@clisp.org>
10428
10429         ptsname: Improve test.
10430         * tests/test-ptsname.c (main): Also try the various master names of BSD
10431         systems.
10432
10433 2010-04-05  Bruno Haible  <bruno@clisp.org>
10434
10435         memchr: Avoid a possible C++ test error.
10436         * lib/string.in.h (memchr): Provide declaration if function is missing.
10437         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
10438         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
10439         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
10440         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
10441
10442 2010-04-05  Bruno Haible  <bruno@clisp.org>
10443
10444         strtok_r: Improve idiom.
10445         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
10446         AC_LIBOBJ is used.
10447
10448 2010-04-05  Bruno Haible  <bruno@clisp.org>
10449
10450         strdup: Improve idiom.
10451         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
10452         AC_LIBOBJ is used.
10453         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
10454         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
10455         when AC_LIBOBJ is used.
10456
10457 2010-04-05  Bruno Haible  <bruno@clisp.org>
10458
10459         mbsinit, mbrtowc, wcrtomb: Improve idioms.
10460         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
10461         don't set REPLACE_MBSINIT to 1.
10462         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
10463         don't set REPLACE_MBRTOWC to 1.
10464         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
10465         exist, don't set REPLACE_MBSRTOWCS to 1.
10466         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
10467         exist, don't set REPLACE_MBSNRTOWCS to 1.
10468         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
10469         don't set REPLACE_WCRTOMB to 1.
10470         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
10471         exist, don't set REPLACE_WCSRTOMBS to 1.
10472         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
10473         exist, don't set REPLACE_WCSNRTOMBS to 1.
10474
10475 2010-04-05  Bruno Haible  <bruno@clisp.org>
10476
10477         ldexpl: Improve idiom.
10478         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
10479         make sure to set HAVE_DECL_LDEXPL to 0.
10480
10481 2010-04-05  Jim Meyering  <meyering@redhat.com>
10482
10483         xstrtol-tests: convert to use init.sh
10484         * modules/xstrtol-tests (Files): Add tests/init.sh.
10485         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10486         Use Exit, not exit.
10487         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10488
10489         atexit-tests: convert to use init.sh
10490         * modules/atexit-tests (Files): Add tests/init.sh.
10491         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10492         Use Exit, not exit.
10493         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10494
10495         init.sh: fix typo
10496         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
10497
10498         init.sh: make it easier for a test script to write to the tty, ...
10499         when using automake's parallel-tests mode.
10500         * tests/init.sh (stderr_fileno_): Define overridable variable.
10501         (warn_): New function, to use it.
10502         (fail_, skip_, framework_failure_): Use warn_.
10503
10504 2010-04-04  Bruno Haible  <bruno@clisp.org>
10505
10506         btowc: Avoid warning.
10507         * lib/btowc.c: Include <stdlib.h>.
10508         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
10509
10510 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
10511             Bruno Haible  <bruno@clisp.org>
10512
10513         wchar: Port to NetBSD 1.5.
10514         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
10515         * lib/wctype.in.h (WEOF): Likewise.
10516
10517 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
10518             Bruno Haible  <bruno@clisp.org>
10519
10520         Port extended stdio to NetBSD 1.5.
10521         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
10522         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
10523         older.
10524
10525 2010-04-04  Bruno Haible  <bruno@clisp.org>
10526
10527         string: Remove unused substitution.
10528         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
10529         HAVE_DECL_STRERROR.
10530         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
10531
10532 2010-04-04  Bruno Haible  <bruno@clisp.org>
10533
10534         strtod: Avoid a possible C++ test error.
10535         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
10536         set REPLACE_STRTOD.
10537
10538 2010-04-04  Bruno Haible  <bruno@clisp.org>
10539
10540         strerror: Update documentation.
10541         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
10542
10543 2010-04-04  Bruno Haible  <bruno@clisp.org>
10544
10545         stdio: Fix some C++ test errors on Solaris 8 with GCC.
10546         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
10547         _GL_CXXALIAS_SYS_CAST.
10548
10549 2010-04-04  Bruno Haible  <bruno@clisp.org>
10550
10551         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
10552         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
10553         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
10554         REPLACE_FREXPL to 1.
10555         * doc/posix-functions/frexpl.texi: Update documentation.
10556
10557 2010-04-04  Bruno Haible  <bruno@clisp.org>
10558
10559         math: Fix some C++ test errors on Solaris 8 and Cygwin.
10560         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
10561
10562 2010-04-04  Bruno Haible  <bruno@clisp.org>
10563
10564         Implement nanosleep for native Windows.
10565         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
10566
10567 2010-04-04  Bruno Haible  <bruno@clisp.org>
10568
10569         math: Fix some C++ test errors on Solaris 8.
10570         * lib/math.in.h (truncf, trunc): Use simpler idiom.
10571
10572 2010-04-04  Bruno Haible  <bruno@clisp.org>
10573
10574         math: Fix some C++ test errors on Cygwin.
10575         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
10576         truncl): Provide declaration if the system does not have it.
10577         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
10578         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
10579         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
10580         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
10581         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
10582         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
10583         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
10584         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
10585         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
10586         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
10587         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
10588         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
10589         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
10590         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
10591         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
10592         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
10593         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
10594         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
10595         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
10596         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
10597         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
10598         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
10599
10600 2010-04-04  Bruno Haible  <bruno@clisp.org>
10601
10602         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
10603         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10604         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10605         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10606         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10607         * m4/isinf.m4 (gl_ISINF): Likewise.
10608         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10609
10610 2010-04-04  Bruno Haible  <bruno@clisp.org>
10611
10612         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
10613         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10614
10615 2010-04-04  Bruno Haible  <bruno@clisp.org>
10616
10617         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
10618         * modules/tmpfile (configure.ac): Update.
10619
10620         tmpfile: Fix C++ test error on mingw.
10621         * lib/stdio.in.h (tmpfile): New declaration.
10622         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
10623         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
10624         * modules/tmpfile (Depends-on): Add stdio.
10625         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10626         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
10627         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
10628         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
10629         REPLACE_TMPFILE.
10630         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
10631
10632 2010-04-04  Bruno Haible  <bruno@clisp.org>
10633
10634         ioctl: Fix C++ test error on mingw.
10635         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
10636         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
10637         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
10638
10639 2010-04-03  Bruno Haible  <bruno@clisp.org>
10640
10641         wcwidth: Fix C++ test error on mingw.
10642         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
10643         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
10644         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
10645
10646 2010-04-03  Bruno Haible  <bruno@clisp.org>
10647
10648         nanosleep: Fix C++ test error on mingw.
10649         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
10650         * lib/time.in.h (nanosleep): Use modern idiom.
10651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
10652         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
10653         REPLACE_NANOSLEEP to 1.
10654         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
10655         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
10656
10657 2010-04-03  Bruno Haible  <bruno@clisp.org>
10658
10659         strptime: Fix C++ test error on mingw.
10660         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
10661         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
10662         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
10663         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
10664         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
10665         not REPLACE_STRPTIME.
10666         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
10667         REPLACE_STRPTIME.
10668
10669 2010-04-03  Bruno Haible  <bruno@clisp.org>
10670
10671         timegm: Fix C++ test error on mingw.
10672         * lib/time.in.h (timegm): Use modern idiom.
10673         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
10674         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
10675         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
10676         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
10677
10678 2010-04-03  Bruno Haible  <bruno@clisp.org>
10679
10680         timegm: Assume declaration if function exists.
10681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
10682         if it exists. Don't clobber ac_cv_func_timegm.
10683
10684 2010-04-03  Bruno Haible  <bruno@clisp.org>
10685
10686         time_r: Fix C++ test error on mingw.
10687         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
10688         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
10689         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
10690         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
10691         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
10692
10693 2010-04-03  Bruno Haible  <bruno@clisp.org>
10694
10695         time_r: Minor updates.
10696         * modules/time_r (Description): Mention the provided functions.
10697         * lib/time_r.c: Don't include <string.h>.
10698         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
10699         * doc/posix-functions/localtime_r.texi: Likewise.
10700
10701 2010-04-03  Bruno Haible  <bruno@clisp.org>
10702
10703         time: Fix regression introduced on 2010-03-08.
10704         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
10705         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
10706
10707 2010-04-03  Jim Meyering  <meyering@redhat.com>
10708
10709         maint.mk: don't silently disable project-specific syntax-check rules
10710         * top/maint.mk (_prohibit_regexp): Define, to help people realize
10711         that they need to convert their project-specific syntax-check rules
10712         to use the new _sc_search_regexp.
10713
10714 2010-04-03  Bruno Haible  <bruno@clisp.org>
10715
10716         fchdir: Fix regression introduced on 2010-03-08.
10717         * lib/unistd.in.h (fchdir): Fix declaration.
10718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
10719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
10720         REPLACE_FCHDIR.
10721         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
10722         REPLACE_FCHDIR.
10723
10724 2010-04-03  Bruno Haible  <bruno@clisp.org>
10725
10726         getpagesize: Fix C++ test error on mingw.
10727         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
10728         system does not declare the function.
10729         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
10730         declared.
10731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10732         HAVE_DECL_GETPAGESIZE.
10733         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
10734
10735 2010-04-03  Bruno Haible  <bruno@clisp.org>
10736
10737         stdio: Make C++ tests work on mingw.
10738         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
10739         does not declare the function.
10740
10741 2010-04-03  Bruno Haible  <bruno@clisp.org>
10742
10743         ftello: Fix C++ test error on mingw.
10744         * lib/stdio.in.h (ftello): Use modern idiom.
10745         * lib/ftello.c (ftello): Renamed from rpl_ftello.
10746         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
10747         is missing and that it needs to be replaced.
10748         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
10749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
10750         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
10751
10752 2010-04-03  Bruno Haible  <bruno@clisp.org>
10753
10754         fseeko: Fix C++ test error on mingw.
10755         * lib/stdio.in.h (fseeko): Use modern idiom.
10756         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
10757         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
10758         is missing and that it needs to be replaced.
10759         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
10760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
10761         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
10762
10763 2010-04-03  Bruno Haible  <bruno@clisp.org>
10764
10765         mkstemp: Fix C++ test error on mingw.
10766         * lib/stdlib.in.h (mkstemp): Use modern idiom.
10767         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
10768         function is missing and that it needs to be replaced.
10769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
10770         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
10771
10772 2010-04-03  Bruno Haible  <bruno@clisp.org>
10773
10774         stpncpy: Fix C++ test error on mingw.
10775         * lib/string.in.h (stpncpy): Use modern idiom.
10776         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
10777         function is missing and that it needs to be replaced.
10778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10779         REPLACE_STPNCPY.
10780         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
10781
10782 2010-04-03  Bruno Haible  <bruno@clisp.org>
10783
10784         sys_stat: Fix C++ test error on mingw.
10785         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
10786         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
10787
10788 2010-04-03  Bruno Haible  <bruno@clisp.org>
10789
10790         pty: Update doc.
10791         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
10792
10793 2010-04-03  Bruno Haible  <bruno@clisp.org>
10794
10795         unistd: Fix C++ test error on mingw.
10796         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
10797
10798 2010-04-03  Bruno Haible  <bruno@clisp.org>
10799
10800         Update doc regarding mingw.
10801         * doc/glibc-functions/openpty.texi: Update regarding mingw.
10802         * doc/glibc-functions/login_tty.texi: Likewise.
10803         * doc/glibc-functions/forkpty.texi: Likewise.
10804
10805 2010-04-03  Bruno Haible  <bruno@clisp.org>
10806
10807         stdlib: Avoid compilation failure of c-strtold on mingw.
10808         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
10809
10810 2010-04-03  Bruno Haible  <bruno@clisp.org>
10811
10812         locale: Make C++ tests work on Cygwin and mingw.
10813         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
10814         cannot provide the function.
10815         Reported by Simon Josefsson.
10816
10817 2010-04-03  Bruno Haible  <bruno@clisp.org>
10818
10819         localename: Port to MacOS X 10.6.
10820         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
10821         memory layout of the locales in MacOS X 10.6 as well.
10822         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
10823
10824 2010-04-02  Bruno Haible  <bruno@clisp.org>
10825
10826         gnulib-tool: Ensure that long-running tests are executed last.
10827         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
10828         running tests after the one for the other tests.
10829
10830 2010-04-02  Bruno Haible  <bruno@clisp.org>
10831
10832         gnulib-tool: Ensure the tests in the main directory are executed first.
10833         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
10834         start with the current directory.
10835
10836 2010-04-02  Bruno Haible  <bruno@clisp.org>
10837
10838         Tests for module 'havelib', moved here from GNU gettext.
10839         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
10840         modifications.
10841         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
10842         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
10843         with modifications.
10844         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
10845         modifications.
10846         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
10847         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
10848         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
10849         with modifications.
10850         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
10851         with modifications.
10852         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
10853         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
10854         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
10855         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
10856         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
10857         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
10858         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
10859         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
10860         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
10861         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
10862         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
10863         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
10864         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
10865         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
10866         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
10867         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
10868         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
10869         with modifications.
10870         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
10871         with modifications.
10872         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
10873         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
10874         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
10875         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
10876         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
10877         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
10878         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
10879         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
10880         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
10881         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
10882         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
10883         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
10884         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
10885         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
10886         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
10887         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
10888         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
10889         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
10890         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
10891         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
10892         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
10893         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
10894         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
10895         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
10896         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
10897         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
10898         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
10899         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
10900         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
10901         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
10902         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
10903         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
10904         * tests/havelib/rpathx/rpathx.c: New file, from
10905         gettext/autoconf-lib-link.
10906         * tests/havelib/rpathx/Makefile.am: New file, from
10907         gettext/autoconf-lib-link.
10908         * tests/havelib/rpathx/configure.ac: New file, from
10909         gettext/autoconf-lib-link with modifications.
10910         * tests/havelib/rpathy/rpathy.c: New file, from
10911         gettext/autoconf-lib-link.
10912         * tests/havelib/rpathy/Makefile.am: New file, from
10913         gettext/autoconf-lib-link.
10914         * tests/havelib/rpathy/configure.ac: New file, from
10915         gettext/autoconf-lib-link with modifications.
10916         * tests/havelib/rpathz/rpathz.c: New file, from
10917         gettext/autoconf-lib-link.
10918         * tests/havelib/rpathz/Makefile.am: New file, from
10919         gettext/autoconf-lib-link.
10920         * tests/havelib/rpathz/configure.ac: New file, from
10921         gettext/autoconf-lib-link with modifications.
10922         * tests/havelib/rpathlx/usex.c: New file, from
10923         gettext/autoconf-lib-link.
10924         * tests/havelib/rpathlx/Makefile.am: New file, from
10925         gettext/autoconf-lib-link.
10926         * tests/havelib/rpathlx/configure.ac: New file, from
10927         gettext/autoconf-lib-link with modifications.
10928         * tests/havelib/rpathly/usey.c: New file, from
10929         gettext/autoconf-lib-link.
10930         * tests/havelib/rpathly/Makefile.am: New file, from
10931         gettext/autoconf-lib-link.
10932         * tests/havelib/rpathly/configure.ac: New file, from
10933         gettext/autoconf-lib-link with modifications.
10934         * tests/havelib/rpathlz/usez.c: New file, from
10935         gettext/autoconf-lib-link.
10936         * tests/havelib/rpathlz/Makefile.am: New file, from
10937         gettext/autoconf-lib-link.
10938         * tests/havelib/rpathlz/configure.ac: New file, from
10939         gettext/autoconf-lib-link with modifications.
10940         * tests/havelib/rpathlyx/usey.c: New file, from
10941         gettext/autoconf-lib-link.
10942         * tests/havelib/rpathlyx/Makefile.am: New file, from
10943         gettext/autoconf-lib-link.
10944         * tests/havelib/rpathlyx/configure.ac: New file, from
10945         gettext/autoconf-lib-link with modifications.
10946         * tests/havelib/rpathlzyx/usez.c: New file, from
10947         gettext/autoconf-lib-link.
10948         * tests/havelib/rpathlzyx/Makefile.am: New file, from
10949         gettext/autoconf-lib-link.
10950         * tests/havelib/rpathlzyx/configure.ac: New file, from
10951         gettext/autoconf-lib-link with modifications.
10952         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
10953         with modifications.
10954
10955 2010-04-02  Bruno Haible  <bruno@clisp.org>
10956
10957         gnulib-tool: Create distributed built sources also for the tests.
10958         * gnulib-tool (func_create_testdir): Also generate distributed built
10959         sources in the tests directory.
10960
10961 2010-04-02  Bruno Haible  <bruno@clisp.org>
10962
10963         gnulib-tool: Obey user's environment variables.
10964         * gnulib-tool (func_create_testdir): When creating built sources,
10965         respect the environment variables for autoconf, automake, etc. given by
10966         the user.
10967
10968 2010-04-02  Bruno Haible  <bruno@clisp.org>
10969
10970         gnulib-tool: Provide the value of --m4-base to modules.
10971         * gnulib-tool (func_import, func_create_testdir): Emit a definition
10972         of gl_m4_base.
10973
10974 2010-04-02  Eric Blake  <eblake@redhat.com>
10975
10976         maint.mk: fix some fallout
10977         * NEWS: Document the incompatible change, and its effect on cfg.mk.
10978         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
10979
10980 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
10981
10982         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
10983         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
10984         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
10985         (sc_cast_of_x_alloc_return_value): Likewise.
10986         (sc_cast_of_alloca_return_value): Likewise.
10987         (sc_space_tab): Likewise.
10988         (sc_prohibit_atoi_atof): Likewise.
10989         (sc_prohibit_magic_number_exit): Likewise.
10990         (sc_error_exit_success): Likewise.
10991         (sc_file_system): Likewise.
10992         (sc_prohibit_have_config_h): Likewise.
10993         (sc_require_config_h): Likewise.
10994         (sc_prohibit_HAVE_MBRTOWC): Likewise.
10995         (sc_obsolete_symbols): Likewise.
10996         (sc_changelog): Likewise.
10997         (sc_program_name): Likewise.
10998         (sc_the_the): Likewise.
10999         (sc_trailing_blank): Likewise.
11000         (sc_two_space_separator_in_usage): Likewise.
11001         (sc_useless_cpp_parens): Likewise.
11002         (sc_GPL_version): Likewise.
11003         (sc_GFDL_version): Likewise.
11004         (sc_texinfo_acronym): Likewise.
11005         (sc_prohibit_cvs_keyword): Likewise.
11006         (sc_prohibit_stat_st_blocks): Likewise.
11007         (sc_prohibit_S_IS_definition): Likewise.
11008         (sc_redundant_const): Likewise.
11009         (sc_makefile_TAB_only_indentation): Likewise.
11010         (sc_m4_quote_check): Likewise.
11011         (sc_makefile_path_separator_check): Likewise.
11012         (sc_copyright_check): Likewise.
11013         (sc_Wundef_boolean): Likewise.
11014         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
11015
11016         maint.mk: match 0 or more whitespace-before-function-call '('
11017         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
11018         that have zero or two-and-more spaces between the function name
11019         and the open parenthesis.
11020         (sc_error_message_warn_fatal): Likewise.
11021         (sc_error_message_uppercase): Likewise.
11022         (sc_error_message_period): Likewise.
11023
11024 2010-03-31  Eric Blake  <eblake@redhat.com>
11025
11026         maint.mk: check for [ as well as test
11027         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
11028         Based on a libvirt report by Matthias Bolte.
11029
11030         gnumakefile: don't squelch _version output
11031         * top/GNUmakefile (_version): Create one-shot dependency rather
11032         than using $(shell) when version must be regenerated.
11033         (_autoreconf): Run verbosely, by default.
11034
11035         sys_time: avoid compiler warnings
11036         * lib/sys_time.in.h (includes): Ensure gcc pragma is
11037         unconditional, fixing regression from 2010-03-29.
11038         Reported by Simon Josefsson.
11039
11040 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
11041
11042         maint.mk: s/_header_without_use/_sc_header_without_use/
11043         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
11044         (sc_prohibit_assert_without_use): Use the new name.
11045         (sc_prohibit_close_stream_without_use): Likewise.
11046         (sc_prohibit_getopt_without_use): Likewise.
11047         (sc_prohibit_quotearg_without_use): Likewise.
11048         (sc_prohibit_quote_without_use): Likewise.
11049         (sc_prohibit_long_options_without_use): Likewise.
11050         (sc_prohibit_inttostr_without_use): Likewise.
11051         (sc_prohibit_ignore_value_without_use): Likewise.
11052         (sc_prohibit_error_without_use): Likewise.
11053         (sc_prohibit_xalloc_without_use): Likewise.
11054         (sc_prohibit_hash_without_use): Likewise.
11055         (sc_prohibit_hash_pjw_without_use): Likewise.
11056         (sc_prohibit_safe_read_without_use): Likewise.
11057         (sc_prohibit_argmatch_without_use): Likewise.
11058         (sc_prohibit_canonicalize_without_use): Likewise.
11059         (sc_prohibit_root_dev_ino_without_use): Likewise.
11060         (sc_prohibit_openat_without_use): Likewise.
11061         (sc_prohibit_c_ctype_without_use): Likewise.
11062         (sc_prohibit_signal_without_use): Likewise.
11063         (sc_prohibit_intprops_without_use): Likewise.
11064
11065 2010-03-30  Eric Blake  <eblake@redhat.com>
11066
11067         maint: improve module indicators
11068         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
11069         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
11070         columns, and avoid extra macro expansion.
11071
11072         fdopendir: work around FreeBSD bug
11073         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
11074         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
11075         * modules/dirent (Makefile.am): Substitute it.
11076         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
11077         declaration.
11078         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
11079         fix.
11080         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11081
11082 2010-03-29  Bruno Haible  <bruno@clisp.org>
11083
11084         Emit #pragma system_header after the inclusion guard, not before.
11085         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
11086         guard that spans the entire file, not before. This enables an
11087         optimization in GCC's preprocessor.
11088         * lib/ctype.in.h: Likewise.
11089         * lib/dirent.in.h: Likewise.
11090         * lib/errno.in.h: Likewise.
11091         * lib/float.in.h: Likewise.
11092         * lib/getopt.in.h: Likewise.
11093         * lib/iconv.in.h: Likewise.
11094         * lib/langinfo.in.h: Likewise.
11095         * lib/locale.in.h: Likewise.
11096         * lib/math.in.h: Likewise.
11097         * lib/netdb.in.h: Likewise.
11098         * lib/netinet_in.in.h: Likewise.
11099         * lib/pty.in.h: Likewise.
11100         * lib/sched.in.h: Likewise.
11101         * lib/se-selinux.in.h: Likewise.
11102         * lib/search.in.h: Likewise.
11103         * lib/spawn.in.h: Likewise.
11104         * lib/stdarg.in.h: Likewise.
11105         * lib/stdint.in.h: Likewise.
11106         * lib/string.in.h: Likewise.
11107         * lib/strings.in.h: Likewise.
11108         * lib/sys_file.in.h: Likewise.
11109         * lib/sys_ioctl.in.h: Likewise.
11110         * lib/sys_time.in.h: Likewise.
11111         * lib/sys_times.in.h: Likewise.
11112         * lib/sys_utsname.in.h: Likewise.
11113         * lib/sys_wait.in.h: Likewise.
11114         * lib/sysexits.in.h: Likewise.
11115         * lib/wctype.in.h: Likewise.
11116
11117 2010-03-28  James Youngman  <jay@gnu.org>
11118
11119         save-cwd: don't leak a file descriptor when the caller execs.
11120         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
11121         saved file descriptor.
11122         * modules/save-cwd (Depends-on): Depend on cloexec.
11123
11124 2010-03-29  Bruno Haible  <bruno@clisp.org>
11125
11126         Remove vestiges of fts-lgpl module.
11127         * lib/fts_.h: Assume GNULIB_FTS is 1.
11128         * lib/fts.c: Likewise.
11129         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
11130
11131 2010-03-28  Bruno Haible  <bruno@clisp.org>
11132
11133         Fix definition of tests witness macro.
11134         * gnulib-tool (func_import): Fix definition of witness macro.
11135
11136 2010-03-28  Bruno Haible  <bruno@clisp.org>
11137
11138         Fix ioctl's protoype on glibc systems.
11139         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
11140         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
11141         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
11142         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
11143         signature. If not, arrange to replace the ioctl function.
11144         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
11145         REPLACE_IOCTL.
11146         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
11147         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
11148         Reported by Ludovic Courtès <ludo@gnu.org>.
11149
11150 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
11151
11152         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
11153         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
11154         made it so grep -r --include=GLOB* ... did not work.
11155
11156 2010-03-26  Jim Meyering  <meyering@redhat.com>
11157             Eric Blake  <eblake@redhat.com>
11158
11159         maint.mk: prohibit use of test's -o and -a operators
11160         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
11161
11162 2010-03-28  Bruno Haible  <bruno@clisp.org>
11163
11164         Remove unused GNULIB_XYZ macro definitions.
11165         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
11166         invocation.
11167
11168 2010-03-28  Bruno Haible  <bruno@clisp.org>
11169
11170         Mark privileged tests modules.
11171         * modules/idpriv-drop-tests (Status): New section.
11172         * modules/idpriv-droptemp-tests (Status): New section.
11173
11174 2010-03-28  Bruno Haible  <bruno@clisp.org>
11175
11176         Split C++ tests into separate tests modules.
11177         * modules/dirent-c++-tests: New file, extracted from
11178         modules/dirent-tests.
11179         * modules/dirent-tests: Depend on it.
11180         * modules/fcntl-h-c++-tests: New file, extracted from
11181         modules/fcntl-h-tests.
11182         * modules/fcntl-h-tests: Depend on it.
11183         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
11184         * modules/glob-tests: Depend on it.
11185         * modules/iconv-h-c++-tests: New file, extracted from
11186         modules/iconv-h-tests.
11187         * modules/iconv-h-tests: Depend on it.
11188         * modules/langinfo-c++-tests: New file, extracted from
11189         modules/langinfo-tests.
11190         * modules/langinfo-tests: Depend on it.
11191         * modules/locale-c++-tests: New file, extracted from
11192         modules/locale-tests.
11193         * modules/locale-tests: Depend on it.
11194         * modules/math-c++-tests: New file, extracted from modules/math-tests.
11195         * modules/math-tests: Depend on it.
11196         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
11197         * modules/pty-tests: Depend on it.
11198         * modules/search-c++-tests: New file, extracted from
11199         modules/search-tests.
11200         * modules/search-tests: Depend on it.
11201         * modules/signal-c++-tests: New file, extracted from
11202         modules/signal-tests.
11203         * modules/signal-tests: Depend on it.
11204         * modules/spawn-c++-tests: New file, extracted from
11205         modules/spawn-tests.
11206         * modules/spawn-tests: Depend on it.
11207         * modules/stdio-c++-tests: New file, extracted from
11208         modules/stdio-tests.
11209         * modules/stdio-tests: Depend on it.
11210         * modules/stdlib-c++-tests: New file, extracted from
11211         modules/stdlib-tests.
11212         * modules/stdlib-tests: Depend on it.
11213         * modules/string-c++-tests: New file, extracted from
11214         modules/string-tests.
11215         * modules/string-tests: Depend on it.
11216         * modules/sys_ioctl-c++-tests: New file, extracted from
11217         modules/sys_ioctl-tests.
11218         * modules/sys_ioctl-tests: Depend on it.
11219         * modules/sys_select-c++-tests: New file, extracted from
11220         modules/sys_select-tests.
11221         * modules/sys_select-tests: Depend on it.
11222         * modules/sys_socket-c++-tests: New file, extracted from
11223         modules/sys_socket-tests.
11224         * modules/sys_socket-tests: Depend on it.
11225         * modules/sys_stat-c++-tests: New file, extracted from
11226         modules/sys_stat-tests.
11227         * modules/sys_stat-tests: Depend on it.
11228         * modules/sys_time-c++-tests: New file, extracted from
11229         modules/sys_time-tests.
11230         * modules/sys_time-tests: Depend on it.
11231         * modules/time-c++-tests: New file, extracted from modules/time-tests.
11232         * modules/time-tests: Depend on it.
11233         * modules/unistd-c++-tests: New file, extracted from
11234         modules/unistd-tests.
11235         * modules/unistd-tests: Depend on it.
11236         * modules/wchar-c++-tests: New file, extracted from
11237         modules/wchar-tests.
11238         * modules/wchar-tests: Depend on it.
11239         * modules/wctype-c++-tests: New file, extracted from
11240         modules/wctype-tests.
11241         * modules/wctype-tests: Depend on it.
11242         Reported by Simon Josefsson.
11243
11244 2010-03-28  Bruno Haible  <bruno@clisp.org>
11245
11246         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
11247         * gnulib-tool (func_exists_module): New function, extracted from
11248         func_verify_module.
11249         (func_verify_module): Use it.
11250         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
11251         'foo' only if 'foo' exists.
11252         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
11253         module.
11254
11255 2010-03-28  Bruno Haible  <bruno@clisp.org>
11256
11257         gnulib-tool: Add support for special categories of tests.
11258         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
11259         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
11260         (func_usage): Document them.
11261         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
11262         inc_unportable_tests, inc_all_tests): New variables.
11263         (func_acceptable): Consider these variables.
11264         (func_modules_transitive_closure): Make it work when the 'Status' field
11265         consists of multiple words.
11266         (func_import): Store and restore the values of inc_cxx_tests,
11267         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
11268         inc_all_tests in gnulib-comp.m4.
11269         (func_create_testdir): Set inc_all_tests to true.
11270         * doc/gnulib.texi (Extra tests modules): New section.
11271         Suggested by Jim Meyering.
11272
11273 2010-03-28  Bruno Haible  <bruno@clisp.org>
11274
11275         ansi-c++-opt: Allow turning off the C++ build by default.
11276         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
11277         gl_CXX_CHOICE_DEFAULT_NO is defined.
11278         Requested by Eric Blake.
11279
11280 2010-03-28  Bruno Haible  <bruno@clisp.org>
11281
11282         unistd: Avoid #define replacements in C++ mode.
11283         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11284         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11285         setsockopt, shutdown, select): In C++, attach a warning to the function
11286         if possible, rather than #defining the symbol to a dysfunctional alias.
11287         Reported by John W. Eaton <jwe@gnu.org>.
11288
11289 2010-03-28  Bruno Haible  <bruno@clisp.org>
11290
11291         Fix link errors on mingw.
11292         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
11293         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
11294         $(LIBSOCKET).
11295         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
11296         $(LIBSOCKET).
11297
11298 2010-03-28  Bruno Haible  <bruno@clisp.org>
11299             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11300
11301         lib-ignore: Determine different options for different compilers.
11302         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
11303         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
11304         Add comments.
11305         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
11306         * NEWS: Mention the change.
11307
11308 2010-03-27  Bruno Haible  <bruno@clisp.org>
11309
11310         Remove unused GNULIB_XYZ macro definitions.
11311         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
11312         * modules/fseek (configure.ac): Likewise.
11313         * modules/ioctl (configure.ac): Likewise.
11314         * modules/open (configure.ac): Likewise.
11315         * modules/stdlib-safer (configure.ac): Likewise.
11316
11317 2010-03-27  Bruno Haible  <bruno@clisp.org>
11318
11319         Add a remark about certain modules.
11320         * modules/malloc (Comment): New section.
11321         * modules/realloc (Comment): Likewise.
11322         * modules/sigpipe (Comment): Likewise.
11323
11324 2010-03-27  Bruno Haible  <bruno@clisp.org>
11325
11326         Resolve conflict between the two kinds of module indicators.
11327         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
11328         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
11329         * modules/canonicalize (configure.ac): Invoke
11330         gl_MODULE_INDICATOR_FOR_TESTS.
11331         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
11332         GNULIB_XYZ.
11333         * tests/test-dirent-c++.cc: Likewise.
11334         * tests/test-dirent-safer.c: Likewise.
11335         * tests/test-dup2.c: Likewise.
11336         * tests/test-fchdir.c: Likewise.
11337         * tests/test-fcntl-h-c++.cc: Likewise.
11338         * tests/test-getopt.c: Likewise.
11339         * tests/test-getopt.h: Likewise.
11340         * tests/test-langinfo-c++.cc: Likewise.
11341         * tests/test-locale-c++.cc: Likewise.
11342         * tests/test-math-c++.cc: Likewise.
11343         * tests/test-pty-c++.cc: Likewise.
11344         * tests/test-search-c++.cc: Likewise.
11345         * tests/test-signal-c++.cc: Likewise.
11346         * tests/test-spawn-c++.cc: Likewise.
11347         * tests/test-stdio-c++.cc: Likewise.
11348         * tests/test-stdlib-c++.cc: Likewise.
11349         * tests/test-string-c++.cc: Likewise.
11350         * tests/test-sys_ioctl-c++.cc: Likewise.
11351         * tests/test-sys_select-c++.cc: Likewise.
11352         * tests/test-sys_socket-c++.cc: Likewise.
11353         * tests/test-sys_stat-c++.cc: Likewise.
11354         * tests/test-sys_time-c++.cc: Likewise.
11355         * tests/test-time-c++.cc: Likewise.
11356         * tests/test-unistd-c++.cc: Likewise.
11357         * tests/test-wchar-c++.cc: Likewise.
11358         * tests/uninorm/test-u8-nfc.c: Likewise.
11359         * tests/uninorm/test-u8-nfd.c: Likewise.
11360         * tests/uninorm/test-u8-nfkc.c: Likewise.
11361         * tests/uninorm/test-u8-nfkd.c: Likewise.
11362         * tests/uninorm/test-u16-nfc.c: Likewise.
11363         * tests/uninorm/test-u16-nfd.c: Likewise.
11364         * tests/uninorm/test-u16-nfkc.c: Likewise.
11365         * tests/uninorm/test-u16-nfkd.c: Likewise.
11366         * tests/uninorm/test-u32-nfc.c: Likewise.
11367         * tests/uninorm/test-u32-nfc-big.c: Likewise.
11368         * tests/uninorm/test-u32-nfd.c: Likewise.
11369         * tests/uninorm/test-u32-nfd-big.c: Likewise.
11370         * tests/uninorm/test-u32-nfkc.c: Likewise.
11371         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
11372         * tests/uninorm/test-u32-nfkd.c: Likewise.
11373         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
11374         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11375
11376 2010-03-27  Bruno Haible  <bruno@clisp.org>
11377
11378         Distinguish two kinds of module indicators.
11379         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
11380         gl_MODULE_INDICATOR.
11381         (gl_MODULE_INDICATOR): New macro.
11382         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
11383         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
11384         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
11385         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
11386         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
11387         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
11388         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
11389         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
11390         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
11391         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
11392         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
11393         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
11394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
11395         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
11396         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
11397         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
11398         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
11399         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
11400         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
11401         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
11402         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
11403         * modules/cloexec (configure.ac): Likewise.
11404         * modules/getopt-gnu (configure.ac): Likewise.
11405         * modules/uninorm/u8-normalize (configure.ac): Likewise.
11406         * modules/uninorm/u16-normalize (configure.ac): Likewise.
11407         * modules/uninorm/u32-normalize (configure.ac): Likewise.
11408         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
11409
11410 2010-03-27  Bruno Haible  <bruno@clisp.org>
11411
11412         New module description field 'Comment'.
11413         * gnulib-tool: New option --extract-comment.
11414         (func_usage): Document it.
11415         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
11416         (func_get_comment): New function.
11417         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
11418
11419 2010-03-27  Bruno Haible  <bruno@clisp.org>
11420
11421         Addendum to 2010-02-07 commit.
11422         * gnulib-tool (func_usage): Document --extract-applicability option.
11423
11424 2010-03-27  Bruno Haible  <bruno@clisp.org>
11425
11426         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
11427         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
11428         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
11429         rather than link errors.
11430
11431 2010-03-27  Bruno Haible  <bruno@clisp.org>
11432
11433         Avoid side effects from tests-related modules on the compilation of lib.
11434         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
11435         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
11436         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
11437         parameter. Emit into AM_CPPFLAGS a definition of the designated C
11438         macro.
11439         (func_import): Define a witness macro. Assign it a value that depends
11440         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
11441         tests-related modules.
11442         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
11443         Reported by Jim Meyering.
11444
11445 2010-03-27  Bruno Haible  <bruno@clisp.org>
11446
11447         Factorize common .m4 code.
11448         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
11449         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
11450         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
11451         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
11452         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
11453         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
11454         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
11455         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
11456         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
11457         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
11458         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
11459         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
11460         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
11461         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
11462         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
11463         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
11464         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
11465         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
11466         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
11467         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
11468         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
11469         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
11470         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
11471         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
11472         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
11473         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
11474         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
11475         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
11476         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
11477         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
11478         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
11479         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
11480
11481 2010-03-27  Bruno Haible  <bruno@clisp.org>
11482
11483         Fix a compilation error on Cygwin with g++ >= 4.3.
11484         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
11485         if it is undefined or if we alias it to chmod.
11486         (lstat): Don't warn about the use of this function if it is undefined
11487         or if we alias it to stat.
11488         Reported by Simon Josefsson.
11489
11490 2010-03-27  Bruno Haible  <bruno@clisp.org>
11491
11492         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
11493         * modules/getlogin (configure.ac): Update.
11494
11495         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
11496         * modules/getlogin_r (configure.ac): Update.
11497
11498         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
11499         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
11500         * modules/inet_ntop (configure.ac): Update.
11501
11502         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
11503         * modules/inet_pton (configure.ac): Update.
11504
11505         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
11506         * modules/mbslen (configure.ac): Update.
11507
11508         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
11509         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
11510         * modules/forkpty (configure.ac): Update.
11511         * modules/openpty (configure.ac): Update.
11512
11513 2010-03-26  Simon Josefsson  <simon@josefsson.org>
11514
11515         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
11516         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
11517
11518 2010-03-25  Eric Blake  <eblake@redhat.com>
11519
11520         maint: use pragma consistently across replacement headers
11521         * lib/ctype.in.h (system_header): Hoist for consistent placement.
11522         * lib/dirent.in.h (system_header): Likewise.
11523         * lib/errno.in.h (system_header): Likewise.
11524         * lib/float.in.h (system_header): Likewise.
11525         * lib/getopt.in.h (system_header): Likewise.
11526         * lib/iconv.in.h (system_header): Likewise.
11527         * lib/inttypes.in.h (system_header): Likewise.
11528         * lib/langinfo.in.h (system_header): Likewise.
11529         * lib/locale.in.h (system_header): Likewise.
11530         * lib/math.in.h (system_header): Likewise.
11531         * lib/netdb.in.h (system_header): Likewise.
11532         * lib/netinet_in.in.h (system_header): Likewise.
11533         * lib/pty.in.h (system_header): Likewise.
11534         * lib/sched.in.h (system_header): Likewise.
11535         * lib/se-selinux.in.h (system_header): Likewise.
11536         * lib/search.in.h (system_header): Likewise.
11537         * lib/spawn.in.h (system_header): Likewise.
11538         * lib/stdarg.in.h (system_header): Likewise.
11539         * lib/stdint.in.h (system_header): Likewise.
11540         * lib/string.in.h (system_header): Likewise.
11541         * lib/strings.in.h (system_header): Likewise.
11542         * lib/sys_file.in.h (system_header): Likewise.
11543         * lib/sys_ioctl.in.h (system_header): Likewise.
11544         * lib/sys_socket.in.h (system_header): Likewise.
11545         * lib/sys_times.in.h (system_header): Likewise.
11546         * lib/sys_utsname.in.h (system_header): Likewise.
11547         * lib/sys_wait.in.h (system_header): Likewise.
11548         * lib/sysexits.in.h (system_header): Likewise.
11549         * lib/unistd.in.h (system_header): Likewise.
11550         * lib/wctype.in.h (system_header): Likewise.
11551
11552         arpa/inet: fix mingw compilation warning
11553         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
11554         Reported by Matthew Bolte.
11555
11556 2010-03-25  Bruno Haible  <bruno@clisp.org>
11557
11558         Avoid collision between gnulib wrapper and libintl wrapper.
11559         * lib/printf.c (printf): Don't define if a printf wrapper is already
11560         defined in intl/printf.c.
11561         Reported by Michel Boaventura <michel@michelboaventura.com>.
11562
11563 2010-03-25  Bruno Haible  <bruno@clisp.org>
11564
11565         Use ANSI C.
11566         * lib/readutmp.h (getutent): Provide ANSI C prototype.
11567
11568 2010-03-25  Bruno Haible  <bruno@clisp.org>
11569
11570         Minor formatting changes.
11571         * lib/acosl.c: Insert space before function argument list.
11572         * lib/argz.c: Likewise.
11573         * lib/asinl.c: Likewise.
11574         * lib/expl.c: Likewise.
11575         * lib/gen-uni-tables.c: Likewise.
11576         * lib/gettext.h: Likewise.
11577         * lib/glthread/lock.h: Likewise.
11578         * lib/tanl.c: Likewise.
11579         * lib/uniname/uniname.c: Likewise.
11580         * tests/test-idpriv-drop.c: Likewise.
11581         * tests/test-idpriv-droptemp.c: Likewise.
11582         * tests/test-lock.c: Likewise.
11583         * tests/test-tls.c: Likewise.
11584         * lib/argp-help.c: Insert space before function-like macro argument
11585         list.
11586         * lib/memcmp.c: Likewise.
11587         * tests/test-base64.c: Likewise.
11588         * lib/localename.c: Insert space before sizeof's argument list.
11589         * lib/safe-alloc.h: Likewise.
11590         * lib/file-set.h: Insert space before macro argument list.
11591         * tests/test-argp.c: Likewise.
11592         * lib/argp-namefrob.h: Insert space before function parameter list.
11593         * lib/getaddrinfo.c: Likewise.
11594         * lib/netdb.in.h: Likewise.
11595         * lib/parse-duration.h: Likewise.
11596         * lib/parse-duration.c: Likewise.
11597         * lib/poll.c: Likewise.
11598         * lib/select.c: Likewise.
11599         * lib/trim.h: Likewise.
11600         * tests/test-usleep.c: Likewise.
11601         * lib/ldexpl.c: Insert space before function parameter list and before
11602         function argument list.
11603         * lib/logl.c: Likewise.
11604         * lib/sqrtl.c: Likewise.
11605         * lib/trim.c: Likewise.
11606         * lib/cosl.c: Use GNU style indentation. Insert space before function
11607         argument list.
11608         * lib/sinl.c: Likewise.
11609         * lib/tsearch.c: Insert space after 'for'.
11610         Reported by Jim Meyering.
11611
11612 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
11613
11614         * maint.mk (sc_Wundef_boolean): Check for the presence of the
11615         config header before grepping, as it's not present before
11616         autoreconf/configure are run.  Reported by Simon Josefsson.
11617
11618 2010-03-23  Bruno Haible  <bruno@clisp.org>
11619
11620         pt_chown: Make it work with automake < 1.11.
11621         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
11622         Reported by Simon Josefsson.
11623
11624 2010-03-23  Bruno Haible  <bruno@clisp.org>
11625
11626         pt_chown: Don't depend on GPLed modules.
11627         * lib/pt_chown.c: Don't include idpriv.h.
11628         (main): Don't drop privileges.
11629         * modules/pt_chown (Depends-on): Remove idpriv-drop.
11630         Reported by Simon Josefsson.
11631
11632 2010-03-24  Simon Josefsson  <simon@josefsson.org>
11633
11634         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
11635         suggestions from karl@freefriends.org (Karl Berry).
11636
11637 2010-03-22  Eric Blake  <eblake@redhat.com>
11638
11639         gethostname: further tweaks
11640         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
11641         are overriding gethostname.
11642         Suggested by Bruno Haible.
11643
11644 2010-03-21  Bruno Haible  <bruno@clisp.org>
11645
11646         Fix comments.
11647         * lib/forkpty.c (rpl_forkpty): Fix comment.
11648         * lib/openpty.c (rpl_openpty): Likewise.
11649         Reported by Eric Blake.
11650
11651 2010-03-22  Eric Blake  <eblake@redhat.com>
11652
11653         gethostname: fix build on mingw
11654         * lib/unistd.in.h (includes): Work around fact that mingw
11655         <winsock2.h> re-includes <unistd.h>, by avoiding any
11656         redeclarations if we are being included by <winsock2.h>.
11657         Reported by Matthias Bolte.
11658
11659 2010-03-21  Bruno Haible  <bruno@clisp.org>
11660
11661         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
11662         * lib/forkpty.c (forkpty): New replacement function, from glibc with
11663         modifications.
11664         * lib/pty.in.h (forkpty): Update declaration. Add comments.
11665         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
11666         provide the replacement.
11667         * modules/forkpty (Depends-on): Add openpty, login_tty.
11668         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
11669         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
11670         * doc/glibc-functions/forkpty.texi: More supported platforms.
11671         * config/srclist.txt: Add forkpty.c (commented).
11672
11673 2010-03-21  Bruno Haible  <bruno@clisp.org>
11674
11675         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
11676         (Makefile.am): Verify that PTY_LIB is defined.
11677
11678         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
11679
11680 2010-03-21  Bruno Haible  <bruno@clisp.org>
11681
11682         Tests for module 'login_tty'.
11683         * modules/login_tty-tests: New file.
11684         * tests/test-login_tty.c: New file.
11685
11686         New module 'login_tty'.
11687         * lib/login_tty.c: New file.
11688         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
11689         * modules/login_tty: New file.
11690         * doc/glibc-functions/login_tty.texi: Mention the new module.
11691
11692 2010-03-21  Bruno Haible  <bruno@clisp.org>
11693
11694         login_tty: Documentation.
11695         * doc/glibc-functions/login_tty.texi: New file.
11696         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
11697
11698 2010-03-21  Bruno Haible  <bruno@clisp.org>
11699
11700         pty: Consistent macro naming.
11701         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
11702         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
11703         * modules/pty (configure.ac): Update.
11704
11705 2010-03-21  Bruno Haible  <bruno@clisp.org>
11706
11707         Tests for openpty: Make stricter.
11708         * tests/test-openpty.c (main): Add test of canonical processing and
11709         erase.
11710         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
11711
11712         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
11713         * lib/openpty.c (openpty): New replacement function.
11714         * lib/pty.in.h: Include <termios.h>.
11715         (openpty): Update declaration. Add comments.
11716         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
11717         is not declared, arrange to provide the replacement. Check for _getpty
11718         and posix_openpt.
11719         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
11720         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
11721         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
11722         * modules/pty-tests (test_pty_c___LDADD): New variable.
11723         * doc/glibc-functions/openpty.texi: More supported platforms.
11724
11725 2010-03-21  Bruno Haible  <bruno@clisp.org>
11726
11727         setenv: Tweaks.
11728         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
11729         the test program.
11730         * doc/posix-functions/setenv.texi: Update platforms list.
11731
11732 2010-03-21  Bruno Haible  <bruno@clisp.org>
11733
11734         New module 'unlockpt'.
11735         * lib/unlockpt.c: New file, from glibc with modifications.
11736         * m4/unlockpt.m4: New file.
11737         * modules/unlockpt: New file.
11738         * lib/stdlib.in.h (unlockpt): New declaration.
11739         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
11740         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
11741         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
11742         HAVE_UNLOCKPT.
11743         * doc/posix-functions/unlockpt.texi: Mention the new module.
11744         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
11745         * config/srclist.txt: Add unlockpt.c (commented).
11746
11747 2010-03-21  Jim Meyering  <meyering@redhat.com>
11748
11749         maint.mk: prohibit inclusion of "intprops.h" without use
11750         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
11751
11752 2010-03-21  Bruno Haible  <bruno@clisp.org>
11753
11754         New module 'grantpt'.
11755         * lib/grantpt.c: New file, from glibc with modifications.
11756         * m4/grantpt.m4: New file.
11757         * modules/grantpt: New file.
11758         * lib/stdlib.in.h (grantpt): New declaration.
11759         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
11760         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
11761         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
11762         HAVE_GRANTPT.
11763         * doc/posix-functions/grantpt.texi: Mention the new module.
11764         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
11765         * config/srclist.txt: Add grantpt.c (commented).
11766
11767 2010-03-21  Bruno Haible  <bruno@clisp.org>
11768
11769         New module 'pt_chown'.
11770         * lib/pt_chown.c: New file, from glibc with modifications.
11771         * lib/pty-private.h: New file, from glibc with modifications.
11772         * modules/pt_chown: New file.
11773         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
11774
11775 2010-03-21  Bruno Haible  <bruno@clisp.org>
11776
11777         Tests for module 'ptsname'.
11778         * modules/ptsname-tests: New file.
11779         * tests/test-ptsname.c: New file.
11780
11781         New module 'ptsname'.
11782         * lib/ptsname.c: New file, from glibc with modifications.
11783         * m4/ptsname.m4: New file.
11784         * modules/ptsname: New file.
11785         * lib/stdlib.in.h (ptsname): New declaration.
11786         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
11787         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
11788         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
11789         HAVE_PTSNAME.
11790         * doc/posix-functions/ptsname.texi: Mention the new module.
11791         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
11792         * config/srclist.txt: Add ptsname.c (commented).
11793
11794 2010-03-21  Bruno Haible  <bruno@clisp.org>
11795
11796         Tests for module 'ttyname_r'.
11797         * modules/ttyname_r-tests: New file.
11798         * tests/test-ttyname_r.c: New file.
11799
11800         New module 'ttyname_r'.
11801         * lib/ttyname_r.c: New file.
11802         * m4/ttyname_r.m4: New file.
11803         * modules/ttyname_r: New file.
11804         * lib/unistd.in.h (ttyname_r): New declaration.
11805         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
11806         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
11807         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
11808         HAVE_TTYNAME_R.
11809         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
11810         * doc/posix-functions/ttyname_r.texi: Mention the new module.
11811
11812 2010-03-20  Bruno Haible  <bruno@clisp.org>
11813
11814         signal: Undefine macro definitions in C++ mode.
11815         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
11816         sigfillset): Undefine macro definitions from the system header in C++
11817         mode.
11818         Reported by John W. Eaton <jwe@gnu.org>.
11819
11820 2010-03-20  Bruno Haible  <bruno@clisp.org>
11821
11822         Ensure no #include statements inside extern "C" { ... }.
11823         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
11824         contain #include statements.
11825         * lib/time.in.h: Likewise.
11826
11827 2010-03-20  Bruno Haible  <bruno@clisp.org>
11828
11829         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
11830         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
11831         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
11832         Reported by John W. Eaton <jwe@gnu.org>.
11833
11834 2010-03-20  Bruno Haible  <bruno@clisp.org>
11835
11836         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
11837         Reported by Jim Meyering.
11838
11839 2010-03-20  Bruno Haible  <bruno@clisp.org>
11840
11841         pipe: Set errno upon failure.
11842         * lib/pipe.h: Specify that when -1 is returned, errno is set.
11843         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
11844         errno value in error message.
11845
11846 2010-03-20  Bruno Haible  <bruno@clisp.org>
11847             Jim Meyering  <meyering@redhat.com>
11848
11849         lchown: Avoid "unused variable" warning.
11850         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
11851
11852 2010-03-20  Bruno Haible  <bruno@clisp.org>
11853
11854         Work around unlink() bug on MacOS X 10.5.6.
11855         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
11856         attempting to unlink a parent directory.
11857         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
11858         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
11859         activate for the replacement function.
11860         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
11861
11862 2010-03-20  Bruno Haible  <bruno@clisp.org>
11863
11864         Fix link errors on Solaris 8.
11865         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
11866         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
11867
11868 2010-03-19  Jim Meyering  <meyering@redhat.com>
11869
11870         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
11871         The _LIBC implementation of build_range_exp correctly honors the
11872         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
11873         However, the non-_LIBC implementation would ignore that syntax-bit
11874         flag and return REG_ERANGE unconditionally.
11875         This change makes it honor that flag.
11876         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
11877         Make two pointer parameters "const".
11878         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
11879         (parse_bracket_exp): Update caller.
11880
11881         regex.m4: correct the reversed range endpoint ([b-a]) test
11882         * m4/regex.m4: When requiring that [b-a] evoke failure,
11883         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
11884         test pass once again for x86-based systems.
11885
11886 2010-03-19  Bruno Haible  <bruno@clisp.org>
11887
11888         scandir: Fix link error on Solaris 8.
11889         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
11890         macros.
11891
11892 2010-03-19  Bruno Haible  <bruno@clisp.org>
11893
11894         getusershell: Fix documentation.
11895         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
11896         module.
11897         * doc/glibc-functions/setusershell.texi: Likewise.
11898
11899         getusershell: Provide declaration, missing on Solaris 9.
11900         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
11901         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
11902         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
11903         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
11904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11905         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
11906         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
11907         HAVE_GETUSERSHELL.
11908         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
11909
11910 2010-03-19  Bruno Haible  <bruno@clisp.org>
11911
11912         wctype: Provide iswblank function.
11913         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
11914         exists and is fine.
11915         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
11916         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
11917         * tests/test-wctype.c (main): Re-enable the iswblank tests.
11918         * doc/posix-functions/iswblank.texi: Update.
11919
11920 2010-03-19  Bruno Haible  <bruno@clisp.org>
11921
11922         Tests of module 'pty' in C++ mode.
11923         * modules/pty-tests: New file.
11924         * tests/test-pty-c++.cc: New file.
11925         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
11926
11927 2010-03-19  Eric Blake  <eblake@redhat.com>
11928
11929         logb: fix documentation
11930         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
11931         1.5 declaration bug.
11932
11933         forkpty, openpty: prefer glibc's const-safe prototype
11934         * lib/forkpty.c (rpl_forkpty): New file.
11935         * lib/openpty.c (rpl_openpty): Likewise.
11936         * modules/forkpty (Files): Distribute it.
11937         * modules/openpty (Files): Likewise.
11938         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
11939         check...
11940         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
11941         replacement for for non-const BSD signature.
11942         * modules/pty (Makefile.am): Substitute witnesses.
11943         * lib/pty.in.h (forkpty, openpty): Declare replacements.
11944         * tests/test-forkpty.c: Update signature check.
11945         * tests/test-openpty.c: Likewise.
11946         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
11947         * doc/glibc-functions/openpty.texi (openpty): Likewise.
11948
11949         forkpty, openpty: split functions into new modules
11950         * modules/pty (Makefile.am): Substitute new witnesses.
11951         (Libraries): Move library detection...
11952         * modules/forkpty: ...into new module.
11953         * modules/openpty: Another new module.
11954         * modules/pty-tests: Rename and split...
11955         * modules/forkpty-tests: ...to this...
11956         * modules/openpty-tests: ...and this.
11957         * tests/test-pty.c: Rename and split...
11958         * tests/test-forkpty.c: ...to this...
11959         * tests/test-openpty.c: ...and this.
11960         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
11961         (gl_PTY): Split library searching...
11962         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
11963         (gl_FORKPTY, gl_OPENPTY): New macros.
11964         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
11965         * NEWS: Mention the split.
11966         * MODULES.html.sh (Misc): Document the modules.
11967         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
11968         * doc/glibc-functions/openpty.texi (openpty): Likewise.
11969
11970         pty: improve replacement header
11971         * lib/pty.in.h: New file.
11972         * modules/pty (Files): Ship it.
11973         (Makefile.am): Always build replacement.
11974         * m4/pty.m4: Rename...
11975         * m4/pty_h.m4: ...to this.
11976         (gl_PTY): Modernize setting of witness macros; update check of
11977         forkpty to take proper advantage of cache.
11978         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
11979
11980         getopt: avoid compiler warning
11981         * lib/getopt.c (attribute_hidden): Remove unused macro.
11982
11983 2010-03-18  Bruno Haible  <bruno@clisp.org>
11984
11985         Fix link errors on Solaris 8.
11986         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
11987         * modules/search-tests (test_search_c___LDADD): Likewise.
11988         * modules/signal-tests (test_signal_c___LDADD): Likewise.
11989         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
11990         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
11991         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
11992         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
11993         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
11994         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
11995
11996 2010-03-18  Bruno Haible  <bruno@clisp.org>
11997
11998         Fix bug introduced on 2010-03-14.
11999         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
12000         (gl_SPAWN_H): Require it.
12001         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
12002         Reported by Simon Josefsson.
12003
12004 2010-03-18  Bruno Haible  <bruno@clisp.org>
12005
12006         Fix typo introduced on 2009-12-31.
12007         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
12008         posix_spawn_file_actions_adddup2.
12009
12010 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
12011         and Eric Blake  <eblake@redhat.com>
12012
12013         test-vc-list-files-git: make more robust
12014         * tests/test-vc-list-files-git.sh: Unset problematic environment
12015         variables.  Chain commands together.
12016
12017 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
12018
12019         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
12020         `AC_CHECK_DECL' invocation.
12021
12022 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
12023
12024         * lib/inttostr.c (inttostr): Make sure the invocation of verify
12025         appears before executable statements. Suggested by Petr Sumbera
12026         <Petr.Sumbera@Sun.COM>.
12027
12028 2010-03-14  Bruno Haible  <bruno@clisp.org>
12029
12030         * tests/test-flock.c (test_exclusive): Comment out a test that causes
12031         portability problems. Instead use a simpler test.
12032         (main): Check that invalid arguments are rejected only on Linux.
12033
12034 2010-03-14  Bruno Haible  <bruno@clisp.org>
12035
12036         Fix bug introduced on 2009-12-31.
12037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
12038         gl_PREREQ_SYS_H_WINSOCK2 always.
12039         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
12040         SYS_SOCKET_H variable.
12041         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
12042         Update comments.
12043         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
12044         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
12045         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12046         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12047         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
12048
12049 2010-03-14  Bruno Haible  <bruno@clisp.org>
12050
12051         Fix values returned by sinl, cosl.
12052         * lib/trigl.h: Add specification comments.
12053         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
12054         that combines the values from the precomputed table with the values of
12055         the Chebyshev polynomials.
12056
12057 2010-03-14  Bruno Haible  <bruno@clisp.org>
12058
12059         Fix compilation error when modules 'posix_spawn[p]' are not used.
12060         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
12061         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
12062
12063 2010-03-14  Bruno Haible  <bruno@clisp.org>
12064
12065         Fix compilation error on mingw when module 'time_r' is not used.
12066         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
12067         is 1.
12068         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
12069         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
12070         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
12071         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
12072
12073 2010-03-14  Bruno Haible  <bruno@clisp.org>
12074
12075         Fix compilation error with Sun C.
12076         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
12077         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
12078         instead of GCC specific ULONG_LONG_MAX.
12079         * lib/xstrtoll.c: Likewise.
12080         * lib/xstrtoull.c: Likewise.
12081
12082 2010-03-13  Bruno Haible  <bruno@clisp.org>
12083
12084         Allow the user to disable C++ code and tests.
12085         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
12086         (gl_PROG_ANSI_CXX): Require it.
12087
12088 2010-03-13  Bruno Haible  <bruno@clisp.org>
12089
12090         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
12091         cases.
12092
12093 2010-03-13  Bruno Haible  <bruno@clisp.org>
12094
12095         Test that gnulib does not break the standard C++ headers.
12096         * tests/test-locale-c++2.cc: New file.
12097         * modules/locale-tests (Files): Add it.
12098         (Makefile.am): Compile it for test-locale-c++.
12099         * tests/test-math-c++2.cc: New file.
12100         * modules/math-tests (Files): Add it.
12101         (Makefile.am): Compile it for test-math-c++.
12102         * tests/test-signal-c++2.cc: New file.
12103         * modules/signal-tests (Files): Add it.
12104         (Makefile.am): Compile it for test-signal-c++.
12105         * tests/test-stdio-c++2.cc: New file.
12106         * modules/stdio-tests (Files): Add it.
12107         (Makefile.am): Compile it for test-stdio-c++.
12108         * tests/test-stdlib-c++2.cc: New file.
12109         * modules/stdlib-tests (Files): Add it.
12110         (Makefile.am): Compile it for test-stdlib-c++.
12111         * tests/test-string-c++2.cc: New file.
12112         * modules/string-tests (Files): Add it.
12113         (Makefile.am): Compile it for test-string-c++.
12114         * tests/test-time-c++2.cc: New file.
12115         * modules/time-tests (Files): Add it.
12116         (Makefile.am): Compile it for test-time-c++.
12117         Reported by John W. Eaton <jwe@gnu.org>.
12118
12119 2010-03-13  Bruno Haible  <bruno@clisp.org>
12120
12121         * gnulib-tool (func_usage): Clarify which options are available for
12122         --create-testdir and --create-megatestdir.
12123
12124 2010-03-13  Bruno Haible  <bruno@clisp.org>
12125
12126         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
12127         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
12128         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
12129         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
12130         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
12131         when appropriate.
12132         Reported by Jim Meyering.
12133
12134 2010-03-12  Simon Josefsson  <simon@josefsson.org>
12135
12136         * gnulib-tool (func_import): Explain origin of code.
12137
12138 2010-03-12  Bruno Haible  <bruno@clisp.org>
12139
12140         Fix problem with automake's definition of CXXLINK.
12141         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
12142         Reported by Simon Josefsson and Ludovic Courtès.
12143
12144 2010-03-12  Bruno Haible  <bruno@clisp.org>
12145
12146         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
12147         stable releases.
12148
12149 2010-03-11  Bruno Haible  <bruno@clisp.org>
12150
12151         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
12152         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
12153         whether the system provides one variant or multiple variants of the
12154         function.
12155         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
12156         C++ compilers.
12157         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
12158         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
12159         Reported by Jim Meyering.
12160
12161 2010-03-09  Simon Josefsson  <simon@josefsson.org>
12162
12163         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
12164
12165 2010-03-08  Bruno Haible  <bruno@clisp.org>
12166
12167         gnulib-tool: Add support for --libtool in --create-testdir.
12168         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
12169         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
12170
12171 2010-03-08  Eric Blake  <eblake@redhat.com>
12172
12173         gnulib-tool.texi: mention possibility of git submodule
12174         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
12175         submodules.
12176         * doc/.gitignore: Ignore another generated file.
12177
12178 2010-03-08  Karl Berry  <karl@gnu.org>
12179
12180         * doc/gnulib-tool.texi (VCS Issues): Mention third option
12181         of committing gnulib files while skipping others.
12182
12183 2010-03-07  Bruno Haible  <bruno@clisp.org>
12184
12185         Tests of module 'wctype' in C++ mode.
12186         * tests/test-wctype-c++.cc: New file.
12187         * modules/wctype-tests (Files): Add it and tests/signature.h.
12188         (Depends-on): Add ansi-c++-opt.
12189         (Makefile.am): Arrange to compile and run test-wctype-c++.
12190
12191         Tests of module 'wchar' in C++ mode.
12192         * tests/test-wchar-c++.cc: New file.
12193         * modules/wchar-tests (Files): Add it and tests/signature.h.
12194         (Depends-on): Add ansi-c++-opt.
12195         (Makefile.am): Arrange to compile and run test-wchar-c++.
12196         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
12197         gl_MODULE_INDICATOR.
12198
12199         Tests of module 'unistd' in C++ mode.
12200         * tests/test-unistd-c++.cc: New file.
12201         * modules/unistd-tests (Files): Add it and tests/signature.h.
12202         (Depends-on): Add ansi-c++-opt.
12203         (Makefile.am): Arrange to compile and run test-unistd-c++.
12204         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
12205         gl_MODULE_INDICATOR.
12206
12207         Tests of module 'time' in C++ mode.
12208         * tests/test-time-c++.cc: New file.
12209         * modules/time-tests (Files): Add it and tests/signature.h.
12210         (Depends-on): Add ansi-c++-opt.
12211         (Makefile.am): Arrange to compile and run test-time-c++.
12212         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
12213
12214         Tests of module 'sys_time' in C++ mode.
12215         * tests/test-sys_time-c++.cc: New file.
12216         * modules/sys_time-tests (Files): Add it and tests/signature.h.
12217         (Depends-on): Add ansi-c++-opt.
12218         (Makefile.am): Arrange to compile and run test-sys_time-c++.
12219         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
12220         gl_MODULE_INDICATOR.
12221
12222         Tests of module 'sys_stat' in C++ mode.
12223         * tests/test-sys_stat-c++.cc: New file.
12224         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
12225         (Depends-on): Add ansi-c++-opt.
12226         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
12227         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
12228         gl_MODULE_INDICATOR.
12229
12230         Tests of module 'sys_socket' in C++ mode.
12231         * tests/test-sys_socket-c++.cc: New file.
12232         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
12233         (Depends-on): Add ansi-c++-opt.
12234         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
12235         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
12236         gl_MODULE_INDICATOR.
12237
12238         Tests of module 'sys_select' in C++ mode.
12239         * tests/test-sys_select-c++.cc: New file.
12240         * modules/sys_select-tests (Files): Add it and tests/signature.h.
12241         (Depends-on): Add ansi-c++-opt.
12242         (Makefile.am): Arrange to compile and run test-sys_select-c++.
12243         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
12244         gl_MODULE_INDICATOR.
12245
12246         Tests of module 'sys_ioctl' in C++ mode.
12247         * tests/test-sys_ioctl-c++.cc: New file.
12248         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
12249         (Depends-on): Add ansi-c++-opt.
12250         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
12251         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
12252         gl_MODULE_INDICATOR.
12253
12254         Tests of module 'string' in C++ mode.
12255         * tests/test-string-c++.cc: New file.
12256         * modules/string-tests (Files): Add it and tests/signature.h.
12257         (Depends-on): Add ansi-c++-opt.
12258         (Makefile.am): Arrange to compile and run test-string-c++.
12259         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
12260         gl_MODULE_INDICATOR.
12261
12262         Tests of module 'stdlib' in C++ mode.
12263         * tests/test-stdlib-c++.cc: New file.
12264         * modules/stdlib-tests (Files): Add it and tests/signature.h.
12265         (Depends-on): Add ansi-c++-opt.
12266         (Makefile.am): Arrange to compile and run test-stdlib-c++.
12267         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
12268         gl_MODULE_INDICATOR.
12269
12270         Tests of module 'stdio' in C++ mode.
12271         * tests/test-stdio-c++.cc: New file.
12272         * modules/stdio-tests (Files): Add it and tests/signature.h.
12273         (Depends-on): Add ansi-c++-opt.
12274         (Makefile.am): Arrange to compile and run test-stdio-c++.
12275         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
12276         gl_MODULE_INDICATOR.
12277
12278         Tests of module 'spawn' in C++ mode.
12279         * tests/test-spawn-c++.cc: New file.
12280         * modules/spawn-tests (Files): Add it and tests/signature.h.
12281         (Depends-on): Add ansi-c++-opt.
12282         (Makefile.am): Arrange to compile and run test-spawn-c++.
12283         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
12284         gl_MODULE_INDICATOR.
12285
12286         Tests of module 'signal' in C++ mode.
12287         * tests/test-signal-c++.cc: New file.
12288         * modules/signal-tests (Files): Add it and tests/signature.h.
12289         (Depends-on): Add ansi-c++-opt.
12290         (Makefile.am): Arrange to compile and run test-signal-c++.
12291         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
12292         gl_MODULE_INDICATOR.
12293
12294         Tests of module 'search' in C++ mode.
12295         * tests/test-search-c++.cc: New file.
12296         * modules/search-tests (Files): Add it and tests/signature.h.
12297         (Depends-on): Add ansi-c++-opt.
12298         (Makefile.am): Arrange to compile and run test-search-c++.
12299         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
12300         gl_MODULE_INDICATOR.
12301
12302         Tests of module 'math' in C++ mode.
12303         * tests/test-math-c++.cc: New file.
12304         * modules/math-tests (Files): Add it and tests/signature.h.
12305         (Depends-on): Add ansi-c++-opt.
12306         (Makefile.am): Arrange to compile and run test-math-c++.
12307         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
12308
12309         Tests of module 'locale' in C++ mode.
12310         * tests/test-locale-c++.cc: New file.
12311         * modules/locale-tests (Files): Add it and tests/signature.h.
12312         (Depends-on): Add ansi-c++-opt.
12313         (Makefile.am): Arrange to compile and run test-locale-c++.
12314         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
12315         gl_MODULE_INDICATOR.
12316
12317         Tests of module 'langinfo' in C++ mode.
12318         * tests/test-langinfo-c++.cc: New file.
12319         * modules/langinfo-tests (Files): Add it and tests/signature.h.
12320         (Depends-on): Add ansi-c++-opt.
12321         (Makefile.am): Arrange to compile and run test-langinfo-c++.
12322         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
12323         gl_MODULE_INDICATOR.
12324
12325         Tests of module 'iconv-h' in C++ mode.
12326         * tests/test-iconv-h-c++.cc: New file.
12327         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
12328         (Depends-on): Add ansi-c++-opt.
12329         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
12330
12331         Tests of module 'glob' in C++ mode.
12332         * tests/test-glob-c++.cc: New file.
12333         * modules/glob-tests (Files): Add it.
12334         (Depends-on): Add ansi-c++-opt.
12335         (Makefile.am): Arrange to compile and run test-glob-c++.
12336
12337         Tests of module 'fcntl-h' in C++ mode.
12338         * tests/test-fcntl-h-c++.cc: New file.
12339         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
12340         (Depends-on): Add ansi-c++-opt.
12341         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
12342         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
12343         gl_MODULE_INDICATOR.
12344
12345         Tests of module 'dirent' in C++ mode.
12346         * tests/test-dirent-c++.cc: New file.
12347         * modules/dirent-tests (Files): Add it and tests/signature.h.
12348         (Depends-on): Add ansi-c++-opt.
12349         (Makefile.am): Arrange to compile and run test-dirent-c++.
12350         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
12351         gl_MODULE_INDICATOR.
12352
12353         New module 'ansi-c++-opt'.
12354         * modules/ansi-c++-opt: New file.
12355         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
12356
12357         Document C++ namespace mode.
12358         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
12359
12360         wctype: Avoid #define replacements in C++ mode.
12361         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
12362         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
12363         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
12364         In C++, define a namespaced alias symbol.
12365         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
12366         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
12367         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
12368         rule.
12369
12370         wchar: Avoid #define replacements in C++ mode.
12371         * lib/wchar.in.h: Include c++defs.h.
12372         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
12373         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
12374         symbol.
12375         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
12376         * modules/wchar (Depends-on): Add c++defs.
12377         (Makefile.am): Update wchar.h rule.
12378
12379         unistd: Avoid #define replacements in C++ mode.
12380         * lib/unistd.in.h: Include c++defs.h.
12381         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
12382         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
12383         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
12384         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
12385         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
12386         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
12387         symbol.
12388         (environ): Update.
12389         * modules/unistd (Depends-on): Add c++defs.
12390         (Makefile.am): Update unistd.h rule.
12391
12392         time: Avoid #define replacements in C++ mode.
12393         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
12394         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
12395         define a namespaced alias symbol.
12396         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
12397         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
12398         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
12399         * modules/time (Depends-on): Add c++defs, warn-on-use.
12400         (Makefile.am): Update time.h rule.
12401         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
12402         * modules/nanosleep (configure.ac): Likewise.
12403         * modules/strptime (configure.ac): Likewise.
12404         * modules/timegm (configure.ac): Likewise.
12405
12406         sys_time: Avoid #define replacements in C++ mode.
12407         * lib/sys_time.in.h: Include c++defs.h.
12408         (gettimeofday): In C++, define a namespaced alias symbol.
12409         * modules/sys_time (Depends-on): Add c++defs.
12410         (Makefile.am): Update sys/time.h rule.
12411
12412         sys_stat: Avoid #define replacements in C++ mode.
12413         * lib/sys_stat.in.h: Include c++defs.h.
12414         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
12415         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
12416         namespaced alias symbol.
12417         In C++, define a namespaced alias symbol.
12418         * modules/sys_stat (Depends-on): Add c++defs.
12419         (Makefile.am): Update sys/stat.h rule.
12420
12421         sys_socket: Avoid #define replacements in C++ mode.
12422         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
12423         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
12424         definitions also when the system has a <sys/socket.h>.
12425         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12426         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
12427         In C++, define a namespaced alias symbol.
12428         * modules/sys_socket (Depends-on): Add c++defs.
12429         (Makefile.am): Update sys/socket.h rule.
12430
12431         sys_select: Avoid #define replacements in C++ mode.
12432         * lib/sys_select.in.h: Include c++defs.h. Enable the function
12433         definitions also when the system has a <sys/select.h>.
12434         (select): In C++, define a namespaced alias symbol.
12435         * modules/sys_select (Depends-on): Add c++defs.
12436         (Makefile.am): Update sys/select.h rule.
12437
12438         sys_ioctl: Avoid #define replacements in C++ mode.
12439         * lib/sys_ioctl.in.h: Include c++defs.h.
12440         (ioctl): In C++, define a namespaced alias symbol.
12441         * modules/sys_ioctl (Depends-on): Add c++defs.
12442         (Makefile.am): Update sys/ioctl.h rule.
12443
12444         string: Avoid #define replacements in C++ mode.
12445         * lib/string.in.h: Include c++defs.h.
12446         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
12447         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
12448         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
12449         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
12450         strsignal, strverscmp): In C++, define a namespaced alias symbol.
12451         * modules/string (Depends-on): Add c++defs.
12452         (Makefile.am): Update string.h rule.
12453
12454         stdlib: Avoid #define replacements in C++ mode.
12455         * lib/stdlib.in.h: Include c++defs.h.
12456         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
12457         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
12458         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
12459         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
12460         symbol.
12461         * modules/stdlib (Depends-on): Add c++defs.
12462         (Makefile.am): Update stdlib.h rule.
12463
12464         stdio: Avoid #define replacements in C++ mode.
12465         * lib/stdio.in.h: Include c++defs.h.
12466         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
12467         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
12468         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
12469         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
12470         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
12471         namespaced alias symbol.
12472         * modules/stdio (Depends-on): Add c++defs.
12473         (Makefile.am): Update stdio.h rule.
12474
12475         spawn: Avoid #define replacements in C++ mode.
12476         * lib/spawn.in.h: Include c++defs.h.
12477         (posix_spawn, posix_spawnp, posix_spawnattr_init,
12478         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
12479         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
12480         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
12481         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
12482         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
12483         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
12484         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
12485         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
12486         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12487         In C++, define a namespaced alias symbol.
12488         * modules/spawn (Depends-on): Add c++defs.
12489         (Makefile.am): Update spawn.h rule.
12490
12491         signal: Avoid #define replacements in C++ mode.
12492         * lib/signal.in.h: Include c++defs.h.
12493         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
12494         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
12495         namespaced alias symbol.
12496         * modules/signal (Depends-on): Add c++defs.
12497         (Makefile.am): Update signal.h rule.
12498
12499         search: Avoid #define replacements in C++ mode.
12500         * lib/search.in.h: Include c++defs.h.
12501         (_gl_search_compar_fn, _gl_search_action_fn): New types.
12502         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
12503         symbol.
12504         * modules/search (Depends-on): Add c++defs.
12505         (Makefile.am): Update search.h rule.
12506
12507         math: Avoid #define replacements in C++ mode.
12508         * lib/math.in.h: Include c++defs.h.
12509         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
12510         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
12511         trunc, truncl): In C++, define a namespaced alias symbol.
12512         * modules/math (Depends-on): Add c++defs.
12513         (Makefile.am): Update math.h rule.
12514
12515         locale: Avoid #define replacements in C++ mode.
12516         * lib/locale.in.h: Include c++defs.h.
12517         (duplocale): In C++, define a namespaced alias symbol.
12518         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
12519         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
12520         * modules/locale (Depends-on): Add c++defs.
12521         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
12522
12523         langinfo: Avoid #define replacements in C++ mode.
12524         * lib/langinfo.in.h: Include c++defs.h.
12525         (nl_langinfo): In C++, define a namespaced alias symbol.
12526         * modules/langinfo (Depends-on): Add c++defs.
12527         (Makefile.am): Update langinfo.h rule.
12528
12529         iconv-h: Avoid #define replacements in C++ mode.
12530         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
12531         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
12532         symbol.
12533         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
12534         whenever iconv is present.
12535         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
12536         (Makefile.am): Update iconv.h rule.
12537
12538         glob: Avoid #define replacements in C++ mode.
12539         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
12540         (_gl_glob_errfunc_fn): New type.
12541         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
12542         symbol.
12543         * modules/glob (Depends-on): Add c++defs, warn-on-use.
12544         (Makefile.am): Update glob.h rule.
12545
12546         fcntl-h: Avoid #define replacements in C++ mode.
12547         * lib/fcntl.in.h: Include c++defs.h.
12548         (fcntl, open, openat): In C++, define a namespaced alias symbol.
12549         * modules/fcntl-h (Depends-on): Add c++defs.
12550         (Makefile.am): Update fcntl.h rule.
12551
12552         dirent: Avoid #define replacements in C++ mode.
12553         * lib/dirent.in.h: Include c++defs.h.
12554         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
12555         namespaced alias symbol.
12556         (dirfd): Update declaration.
12557         * modules/dirent (Depends-on): Add c++defs.
12558         (Makefile.am): Update dirent.h rule.
12559
12560         ctype: Make it usable in C++ code.
12561         * lib/ctype.in.h: Include c++defs.h.
12562         (isblank): Declare as extern "C".
12563         * modules/ctype (Depends-on): Add c++defs.
12564         (Makefile.am): Update ctype.h rule.
12565
12566         New module 'c++defs'.
12567         * modules/c++defs: New file.
12568         * build-aux/c++defs.h: New file.
12569         Reported by John W. Eaton <jwe@gnu.org>.
12570
12571 2010-03-07  Bruno Haible  <bruno@clisp.org>
12572
12573         logb: Provide missing declaration for Cygwin.
12574         * lib/math.in.h (logb): New declaration.
12575         * m4/logb.m4: New file.
12576         * modules/logb (Files): Add m4/logb.m4.
12577         (Depends-on): Add math.
12578         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
12579         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
12580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
12581         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
12582         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
12583
12584 2010-03-07  Bruno Haible  <bruno@clisp.org>
12585
12586         Fix test-cond link error.
12587         * tests/test-cond.c: Include <stdio.h>.
12588
12589 2010-03-07  Bruno Haible  <bruno@clisp.org>
12590
12591         Fix test-dirent-safer link error.
12592         * modules/dirent-safer-tests (Makefile.am): Define
12593         test_dirent_safer_LDADD.
12594
12595 2010-03-07  Bruno Haible  <bruno@clisp.org>
12596
12597         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
12598         among default module list.
12599
12600 2010-03-07  Bruno Haible  <bruno@clisp.org>
12601
12602         Fix link error on platforms with GNU libiconv.
12603         * modules/unistr/u8-strcoll-tests (Makefile): Define
12604         test_u8_strcoll_LDADD.
12605         * modules/unistr/u16-strcoll-tests (Makefile): Define
12606         test_u16_strcoll_LDADD.
12607         * modules/unistr/u32-strcoll-tests (Makefile): Define
12608         test_u32_strcoll_LDADD.
12609
12610 2010-03-07  Bruno Haible  <bruno@clisp.org>
12611
12612         Use POSIX declarations for socket functions.
12613         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
12614         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
12615         rpl_sendto): Change declaration to match POSIX.
12616         * lib/connect.c (rpl_connect): Likewise.
12617         * lib/accept.c (rpl_accept): Likewise.
12618         * lib/bind.c (rpl_bind): Likewise.
12619         * lib/getpeername.c (rpl_getpeername): Likewise.
12620         * lib/getsockname.c (rpl_getsockname): Likewise.
12621         * lib/recv.c (rpl_recv): Likewise.
12622         * lib/send.c (rpl_send): Likewise.
12623         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12624         * lib/sendto.c (rpl_sendto): Likewise.
12625
12626 2010-03-06  Bruno Haible  <bruno@clisp.org>
12627
12628         Clarify access, euidaccess, faccessat.
12629         * doc/posix-functions/faccessat.texi: Mention security problem under
12630         "Other problems", not "Portability problems".
12631         * doc/posix-functions/access.texi: Likewise. Mention a related security
12632         problem.
12633         * doc/glibc-functions/euidaccess.texi: Mention security problems.
12634         * lib/euidaccess.c: Add comments about platforms.
12635         * lib/unistd.in.h (access, euidaccess): Add warnings.
12636
12637 2010-03-07  Bruno Haible  <bruno@clisp.org>
12638
12639         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
12640         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
12641         (POSIX_SPAWN_SETSCHEDULER): Likewise.
12642         (POSIX_SPAWN_USEVFORK): Define in a way that works when
12643         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
12644         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
12645         declare when POSIX_SPAWN_SETSCHEDULER is zero.
12646         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
12647         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
12648         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
12649         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
12650         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
12651         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
12652         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
12653         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
12654         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
12655         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
12656         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
12657         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
12658         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
12659         Likewise.
12660         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
12661         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
12662         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
12663         Likewise.
12664         * tests/test-spawn.c (main): Make it work when
12665         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
12666
12667 2010-03-07  Bruno Haible  <bruno@clisp.org>
12668
12669         Fix incorrect Makefile.am generation in German locale.
12670         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12671         Execute sed command with character range in C locale.
12672
12673 2010-03-06  Bruno Haible  <bruno@clisp.org>
12674
12675         Tests for module 'iconv-h'.
12676         * modules/iconv-h-tests: New file.
12677         * tests/test-iconv-h.c: New file.
12678
12679         New module 'iconv-h'.
12680         * modules/iconv-h: New file.
12681         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
12682         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
12683         (configure.ac): Remove gl_ICONV_H.
12684         (Makefile.am): Remove rule for iconv.h.
12685
12686 2010-03-06  Bruno Haible  <bruno@clisp.org>
12687
12688         More consistent naming of *.m4 files.
12689         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
12690         * modules/wctype (Files): Update.
12691
12692         More consistent naming of *.m4 files.
12693         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
12694         * modules/wchar (Files): Update.
12695
12696 2010-03-06  Jim Meyering  <meyering@redhat.com>
12697
12698         euidaccess: relax license to LGPLv2+
12699         * modules/euidaccess (License): Relax to LGPLv2+.
12700
12701 2010-03-06  Bruno Haible  <bruno@clisp.org>
12702
12703         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
12704         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
12705         (Makefile.am): Augment lib_SOURCES instead.
12706
12707 2010-03-04  Jim Meyering  <meyering@redhat.com>
12708
12709         utime: remove obsolete module
12710         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
12711         unnecessary for years, and has been marked as obsolete for 10 months.
12712         * modules/utime: Remove file.
12713         * lib/utime.c: Remove file.
12714         * m4/utime.m4: Remove file.
12715         * m4/utimes-null.m4: Remove file.
12716         * doc/posix-functions/utime.texi (utime): Remove reference to
12717         the module.  Move the sole "fixed by gnulib" item into the
12718         "problems not fixed by Gnulib" list.
12719         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
12720
12721 2010-03-05  Simon Josefsson  <simon@josefsson.org>
12722
12723         * modules/exit (License): Relax license to LGPLv2+.
12724         (Status): Mark as obsolete.
12725         * NEWS: Mention deprecated 'exit' module.
12726         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
12727         of now obsolete 'exit'.
12728
12729 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12730
12731         fts-lgpl: remove unused module
12732         * modules/fts-lgpl: Remove.
12733         * MODULES.html.sh (func_all_modules): Adjust.
12734         * check-module (find_included_lib_files): Adjust.
12735         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
12736
12737 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
12738
12739         copy-acl: enhance Solaris ACL error handling
12740         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
12741         * lib/set-mode-acl.c (qset_acl): Likewise.
12742
12743 2010-03-02  Bruno Haible  <bruno@clisp.org>
12744
12745         spawn: Don't override the system defined values on FreeBSD 8.
12746         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
12747         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
12748         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
12749         if HAVE_POSIX_SPAWN is 1.
12750         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
12751
12752 2010-03-01  Bruno Haible  <bruno@clisp.org>
12753
12754         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
12755         regarding Automake.
12756
12757 2010-02-25  Bruno Haible  <bruno@clisp.org>
12758
12759         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
12760         * gnulib-tool: Define 'echo' as a function only before the ksh alias
12761         setting, not afterwards.
12762         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
12763
12764 2010-02-24  Eric Blake  <eblake@redhat.com>
12765
12766         bootstrap, git-version-gen: use timestamp
12767         * build-aux/git-version-gen (scriptversion): Force UTC.
12768         * build-aux/bootstrap (scriptversion): New variable.
12769
12770         bootstrap: allow older git
12771         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
12772         older than 1.6.4.  Requested by the libvirt project.
12773
12774 2010-02-23  Eric Blake  <eblake@redhat.com>
12775
12776         warn-on-use: work with old autoconf
12777         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
12778         AS_VAR semantics of autoconf 2.60.
12779         Reported by Bruno Haible.
12780
12781         bootstrap: improve some comments
12782         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
12783         clarification comments.
12784
12785         gettimeofday: provide correct function
12786         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
12787         when replacement is declared, otherwise provide gettimeofday.
12788         Reported by Michael Goffioul.
12789
12790 2010-02-23  Jim Meyering  <meyering@redhat.com>
12791
12792         lib-ignore: relax license to "unlimited", not LGPLv2+
12793         * modules/lib-ignore (License): Relax to "unlimited".
12794
12795 2010-02-23  Jim Meyering  <meyering@redhat.com>
12796
12797         lib-ignore: relax license to LGPLv2+
12798         * modules/lib-ignore (License): Relax to LGPLv2+.
12799
12800 2010-02-22  Eric Blake  <eblake@redhat.com>
12801
12802         lseek: avoid bash 3.2 broken pipe bug
12803         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
12804         warning from bash 3.2.
12805         Reported by Ben Pfaff, with analysis from Bruno Haible.
12806
12807         bootstrap: support non-FSF copyright holder
12808         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
12809         bootstrap.conf override of COPYRIGHT_HOLDER.
12810         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
12811
12812         bootstrap: interoperate with gettext 0.14.1
12813         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
12814
12815         bootstrap: allow for alternate submodule location
12816         * build-aux/bootstrap (gnulib_path): New variable; use instead of
12817         hardcoding submodule location.
12818         (gnulib_mk): Allow direct use of Makefile.am.
12819
12820         bootstrap: use GNULIB_SRCDIR to reduce disk usage
12821         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
12822         rather than reconfiguring where the submodule points.
12823
12824         gettimeofday: restore support for platforms that lack function
12825         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
12826         replacement if function is missing.
12827         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
12828         * modules/sys_time (Makefile.am): Substitute it.
12829         * lib/sys_time.in.h (gettimeofday): Check it.
12830         Reported by Michael Goffioul.
12831
12832 2010-02-21  Bruno Haible  <bruno@clisp.org>
12833
12834         * lib/stdio.in.h (obstack_printf): Fix typo.
12835
12836 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
12837
12838         vc-list-files: use bzr ls's -R option
12839         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
12840         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
12841
12842 2010-02-21  Jim Meyering  <meyering@redhat.com>
12843
12844         init.sh: fix EXEEXT shims to work also for names like test-prog
12845         * tests/init.sh: Re-exec a better shell, when needed.
12846         If the current shell lacks support for posix $(...), an init.sh-using
12847         test will now try to find a shell that supports that.  If EXEEXT is
12848         nonempty, we also require support for hyphen-in-alias-name and shell
12849         substitutions like ${var#glob}.  Failure to find such a shell results
12850         in a skipped test.
12851
12852 2010-02-21  Bruno Haible  <bruno@clisp.org>
12853
12854         Really work around around "broken pipe" error message from bash 3.2.
12855         * gnulib-tool (func_reset_sigpipe): Remove function.
12856         (echo): In bash 3.2, define to a function that uses printf.
12857         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
12858
12859 2010-02-20  Bruno Haible  <bruno@clisp.org>
12860
12861         Restore support for automake 1.9.6 with autoconf 2.61.
12862         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
12863         Reported by James Youngman <jay@gnu.org>.
12864
12865 2010-02-20  Bruno Haible  <bruno@clisp.org>
12866
12867         Improve *printf warning condition.
12868         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
12869         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
12870         and the function is overridden due to SIGPIPE emulation.
12871
12872 2010-02-20  Bruno Haible  <bruno@clisp.org>
12873
12874         * lib/stdio.in.h: Tweak comments.
12875
12876 2010-02-19  Bruno Haible  <bruno@clisp.org>
12877
12878         Make it easier to find modules. New gnulib-tool option '--find'.
12879         * gnulib-tool: New option --find.
12880         (func_usage): Document it.
12881         (func_sanitize_modulelist): New function, extracted from
12882         func_all_modules.
12883         (func_all_modules): Invoke it.
12884         * doc/gnulib-tool.texi (Which modules?): New node.
12885
12886 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
12887
12888         * lib/sys_select.in.h: Provide select replacement even if
12889         sys/select.h exists on a system, for Interix.
12890
12891 2010-02-18  Jim Meyering  <meyering@redhat.com>
12892
12893         init.sh: don't use $(...) just yet
12894         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
12895         to accommodate e.g., Solaris' /bin/sh.
12896
12897 2010-02-17  Bruno Haible  <bruno@clisp.org>
12898
12899         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
12900         Reported by Ludovic Courtès <ludo@gnu.org>.
12901
12902 2010-02-16  Simon Josefsson  <simon@josefsson.org>
12903
12904         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
12905         linking with -lintl.
12906
12907 2010-02-17  Simon Josefsson  <simon@josefsson.org>
12908
12909         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
12910         if not provided by the system's netdb.h.  Reported by
12911         ludo@gnu.org (Ludovic Courtès).
12912
12913 2010-02-15  Jim Meyering  <meyering@redhat.com>
12914
12915         init.sh: improve portability and efficiency
12916         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
12917         "dummy" in a for loop.
12918         Use '!', not '^' to select the complement of a character set used
12919         in a "case" statement.
12920         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
12921         Suggestions from Eric Blake.
12922
12923         init.sh: automatically accommodate programs with the .exe suffix
12924         Automatically arrange for an invocation of "prog" to execute the
12925         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
12926         may use the simpler "prog", yet still work when built on a system
12927         that requires specifying the added suffix.
12928         Do this by constructing a function named "prog" that invokes
12929         "prog.exe" for each .exe file in selected directories.
12930         * tests/init.sh (find_exe_basenames_): New function.
12931         (create_exe_shim_functions_): New function.
12932         (path_prepend_): Use it.
12933
12934         maint.mk: mark syntax-check sc_*.m rules as .PHONY
12935         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
12936         "make -t syntax-check" doesn't create a ton of sc_*.m files.
12937
12938 2010-02-14  Jim Meyering  <meyering@redhat.com>
12939
12940         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
12941         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
12942         (sc_prohibit_hash_pjw_without_use): New rule.
12943
12944         maint.mk: allow the default upload destination dir to be overridden
12945         * top/maint.mk (upload_dest_dir_): Define with a default that
12946         preserves the status quo.
12947         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
12948         Reported by Peter Simons.
12949
12950         maint.mk: prohibit inclusion of "hash.h" without_use
12951         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
12952
12953 2010-02-10  Jim Meyering  <meyering@redhat.com>
12954
12955         maint.mk: prohibit inclusion of "ignore-value.h" without_use
12956         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
12957
12958 2010-02-09  Eric Blake  <ebb9@byu.net>
12959         and Bruno Haible  <bruno@clisp.org>
12960
12961         obstack-printf-posix: ensure declaration
12962         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
12963         extracted from gl_FUNC_OBSTACK_PRINTF.
12964         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
12965         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
12966         Likewise.
12967         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
12968         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
12969         0.
12970
12971 2010-02-08  Bruno Haible  <bruno@clisp.org>
12972
12973         gnulib-tool: Fix typo in 2010-02-07 commit.
12974         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
12975         Reported by Eric Blake.
12976
12977 2010-02-07  Bruno Haible  <bruno@clisp.org>
12978
12979         gnulib-tool: Fix up caching patches.
12980         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
12981         option --no-cache. Use associative arrays when supported by the shell.
12982         (sed_comments): New variable.
12983         (modcache): Renamed from do_cache.
12984         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
12985         abbreviate unnecessarily.
12986         (have_associative): New variable.
12987         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
12988         way also for ksh and zsh.
12989         (func_init_sed_convert_to_cache_statements): New function, extracted
12990         from func_cache_lookup_module. Add support for associative arrays.
12991         Don't set the c_MODULE_cached variable here. Ignore all lines before
12992         the first field header. Remove only the final newline, not all trailing
12993         newlines. Support empty fields correctly. Limit the use of 'eval' to
12994         assignments.
12995         (func_get_description, func_get_status, func_get_notice,
12996         func_get_applicability, func_get_filelist, func_get_dependencies,
12997         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
12998         func_get_automake_snippet, func_get_include_directive,
12999         func_get_link_directive, func_get_license, func_get_maintainer):
13000         Update documentation. List the unoptimized code first. Add support for
13001         associative arrays. Limit the use of 'eval' to assignments.
13002         (func_get_applicability): Undo stylistic pessimisations.
13003         (func_get_automake_snippet, func_get_include_directive): Reduce code
13004         duplication.
13005         (func_modules_transitive_closure, func_modules_add_dummy,
13006         func_modules_notice, func_modules_to_filelist, func_add_file,
13007         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
13008         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
13009         func_create_testdir, func_create_megatestdir): Update documentation.
13010
13011 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13012
13013         * gnulib-tool (func_cache_lookup_module): Store the module name
13014         belonging to the cache variable; error out if two different
13015         module names map to the same cache variable name.
13016
13017 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13018
13019         gnulib-tool: Make caching optional.
13020         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
13021         Update matching short versions of --no-changelog.
13022         (func_usage): Update.
13023         (sed_extract_cache_prog): Renamed from ...
13024         (sed_extract_prog): ... this; revert to old extraction script.
13025         (func_get_description, func_get_status)
13026         (func_get_notice, func_get_applicability, func_get_filelist)
13027         (func_get_dependencies, func_get_autoconf_early_snippet)
13028         (func_get_autoconf_snippet, func_get_automake_snippet)
13029         (func_get_include_directive, func_get_link_directive)
13030         (func_get_license, func_get_maintainer): If $do_cache is false,
13031         use old, non-caching extraction scripts.
13032         Suggestion by Bruno Haible.
13033
13034 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13035
13036         gnulib-tool: cache module metainformation.
13037         * gnulib-tool (sed_extract_prog): Match newline before each
13038         header, and rewrite header to a shell variable suffix.
13039         (func_cache_var, func_cache_lookup_module): New functions,
13040         to turn a module name into a cache variable prefix, and to
13041         look up and cache module metainformation.
13042         (func_get_description, func_get_status)
13043         (func_get_notice, func_get_applicability, func_get_filelist)
13044         (func_get_dependencies, func_get_autoconf_early_snippet)
13045         (func_get_autoconf_snippet, func_get_automake_snippet)
13046         (func_get_include_directive, func_get_link_directive)
13047         (func_get_license, func_get_maintainer): Use
13048         func_cache_lookup_module.
13049
13050 2010-02-07  Bruno Haible  <bruno@clisp.org>
13051
13052         fnctl: Fix missing dependency.
13053         * modules/fcntl (Depends-on): Add getdtablesize.
13054         Reported by John W. Eaton <jwe@gnu.org>.
13055
13056 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
13057
13058         Argp: fix recognition of short alias options.
13059
13060         * lib/argp-parse.c (convert_options): Fix improper use of
13061         `|' between character values.
13062         * tests/test-argp.c (group1_option): New alias option
13063         --read (-r).
13064         (group1_parser): Special handling for 'r'.
13065         (test15): New test case.
13066         (test_fun): Add test15.
13067         * tests/test-argp-2.sh: Update expected --help and --usage
13068         outputs.
13069
13070 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
13071
13072         * tests/test-argp.c: Fix indentation.
13073
13074 2010-02-04  Eric Blake  <ebb9@byu.net>
13075
13076         gettimeofday: expose type of second argument
13077         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
13078         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
13079         * tests/test-gettimeofday.c: Use it to silence warning.
13080         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
13081         the issue.
13082
13083 2010-02-03  Jim Meyering  <meyering@redhat.com>
13084
13085         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
13086         * lib/regcomp.c (TYPE_SIGNED): Define.
13087         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
13088
13089         regcomp.c: avoid a new -Wshadow warning
13090         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
13091
13092 2010-02-01  Jim Meyering  <meyering@redhat.com>
13093
13094         removing useless parentheses in cpp #define directives
13095         For motivation, see commit c0221df4, "define STREQ(a,b)
13096         consistently, removing useless parentheses"
13097         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
13098         * lib/mountlist.c (MNT_IGNORE): Likewise.
13099         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
13100
13101 2010-02-01  Eric Blake  <ebb9@byu.net>
13102
13103         sys_time: use link-warning
13104         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
13105         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
13106         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
13107         * modules/sys_time (Depends-on): Add warn-on-use.
13108         (Makefile.am): Always build replacement.
13109         (configure.ac): Update substitutions.
13110         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
13111         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
13112         bother with SYS_TIME_H.
13113         * modules/gettimeofday (configure.ac): Declare indicator.
13114         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
13115         in use.
13116
13117         closein-tests: silence compiler warning
13118         * tests/test-closein.c (main): Ignore fread result.
13119         * modules/closein-tests (Depends-on): Add ignore-value.
13120
13121         tests: silence warning about system return
13122         * tests/test-areadlink-with-size.c (main): Ignore system result.
13123         * tests/test-areadlink.c (main): Likewise.
13124         * tests/test-areadlinkat-with-size.c (main): Likewise.
13125         * tests/test-areadlinkat.c (main): Likewise.
13126         * tests/test-canonicalize-lgpl.c (main): Likewise.
13127         * tests/test-canonicalize.c (main): Likewise.
13128         * tests/test-chown.c (main): Likewise.
13129         * tests/test-fchownat.c (main): Likewise.
13130         * tests/test-fdutimensat.c (main): Likewise.
13131         * tests/test-fstatat.c (main): Likewise.
13132         * tests/test-futimens.c (main): Likewise.
13133         * tests/test-lchown.c (main): Likewise.
13134         * tests/test-link.c (main): Likewise.
13135         * tests/test-linkat.c (main): Likewise.
13136         * tests/test-lstat.c (main): Likewise.
13137         * tests/test-mkdir.c (main): Likewise.
13138         * tests/test-mkdirat.c (main): Likewise.
13139         * tests/test-mkfifo.c (main): Likewise.
13140         * tests/test-mkfifoat.c (main): Likewise.
13141         * tests/test-mknod.c (main): Likewise.
13142         * tests/test-readlink.c (main): Likewise.
13143         * tests/test-remove.c (main): Likewise.
13144         * tests/test-rename.c (main): Likewise.
13145         * tests/test-renameat.c (main): Likewise.
13146         * tests/test-rmdir.c (main): Likewise.
13147         * tests/test-symlink.c (main): Likewise.
13148         * tests/test-symlinkat.c (main): Likewise.
13149         * tests/test-unlink.c (main): Likewise.
13150         * tests/test-unlinkat.c (main): Likewise.
13151         * tests/test-utimens.c (main): Likewise.
13152         * tests/test-utimensat.c (main): Likewise.
13153         * modules/areadlink-tests (Depends-on): Add ignore-value.
13154         * modules/areadlink-with-size-tests (Depends-on): Likewise.
13155         * modules/areadlinkat-tests (Depends-on): Likewise.
13156         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
13157         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13158         * modules/canonicalize-tests (Depends-on): Likewise.
13159         * modules/chown-tests (Depends-on): Likewise.
13160         * modules/fdutimensat-tests (Depends-on): Likewise.
13161         * modules/futimens-tests (Depends-on): Likewise.
13162         * modules/lchown-tests (Depends-on): Likewise.
13163         * modules/link-tests (Depends-on): Likewise.
13164         * modules/linkat-tests (Depends-on): Likewise.
13165         * modules/lstat-tests (Depends-on): Likewise.
13166         * modules/mkdir-tests (Depends-on): Likewise.
13167         * modules/mkfifo-tests (Depends-on): Likewise.
13168         * modules/mkfifoat-tests (Depends-on): Likewise.
13169         * modules/mknod-tests (Depends-on): Likewise.
13170         * modules/openat-tests (Depends-on): Likewise.
13171         * modules/readlink-tests (Depends-on): Likewise.
13172         * modules/remove-tests (Depends-on): Likewise.
13173         * modules/rename-tests (Depends-on): Likewise.
13174         * modules/renameat-tests (Depends-on): Likewise.
13175         * modules/rmdir-tests (Depends-on): Likewise.
13176         * modules/symlink-tests (Depends-on): Likewise.
13177         * modules/symlinkat-tests (Depends-on): Likewise.
13178         * modules/unlink-tests (Depends-on): Likewise.
13179         * modules/utimens-tests (Depends-on): Likewise.
13180         * modules/utimensat-tests (Depends-on): Likewise.
13181
13182 2010-01-31  Bruno Haible  <bruno@clisp.org>
13183
13184         Perform the same test for many <math.h> functions.
13185         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
13186         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
13187         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
13188         of gl_MATHFUNC.
13189         * modules/acos (configure.ac): Likewise.
13190         * modules/asin (configure.ac): Likewise.
13191         * modules/atan (configure.ac): Likewise.
13192         * modules/atan2 (configure.ac): Likewise.
13193         * modules/cbrt (configure.ac): Likewise.
13194         * modules/copysign (configure.ac): Likewise.
13195         * modules/cos (configure.ac): Likewise.
13196         * modules/cosh (configure.ac): Likewise.
13197         * modules/erf (configure.ac): Likewise.
13198         * modules/erfc (configure.ac): Likewise.
13199         * modules/exp (configure.ac): Likewise.
13200         * modules/fmod (configure.ac): Likewise.
13201         * modules/hypot (configure.ac): Likewise.
13202         * modules/j0 (configure.ac): Likewise.
13203         * modules/j1 (configure.ac): Likewise.
13204         * modules/jn (configure.ac): Likewise.
13205         * modules/lgamma (configure.ac): Likewise.
13206         * modules/log (configure.ac): Likewise.
13207         * modules/log10 (configure.ac): Likewise.
13208         * modules/log1p (configure.ac): Likewise.
13209         * modules/pow (configure.ac): Likewise.
13210         * modules/remainder (configure.ac): Likewise.
13211         * modules/sin (configure.ac): Likewise.
13212         * modules/sinh (configure.ac): Likewise.
13213         * modules/tan (configure.ac): Likewise.
13214         * modules/tanh (configure.ac): Likewise.
13215         * modules/y0 (configure.ac): Likewise.
13216         * modules/y1 (configure.ac): Likewise.
13217         * modules/yn (configure.ac): Likewise.
13218         Suggested by Paolo Bonzini.
13219
13220 2010-01-31  Bruno Haible  <bruno@clisp.org>
13221
13222         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
13223
13224 2010-01-31  Bruno Haible  <bruno@clisp.org>
13225
13226         Work around getdelim() bug on FreeBSD 8.0.
13227         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
13228         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
13229         not work.
13230         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
13231         is 1.
13232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
13233         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
13234         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
13235         a non-zero size.
13236         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
13237
13238 2010-01-31  Bruno Haible  <bruno@clisp.org>
13239
13240         Work around getline() bug on FreeBSD 8.0.
13241         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
13242         and a non-zero size.
13243         * tests/test-getline.c (main): Likewise.
13244         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
13245         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
13246
13247 2010-01-28  Eric Blake  <ebb9@byu.net>
13248
13249         regex: fix build failure
13250         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
13251         platforms.
13252
13253 2010-01-28  Jim Meyering  <meyering@redhat.com>
13254
13255         regex: do not ignore memory allocation failure
13256         * lib/regex_internal.c (create_cd_newstate): Detect
13257         re_node_set_init_copy failure.   Extracted from glibc commit
13258         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13259
13260         regex: sync more white-space changes from libc
13261         * lib/regex_internal.c: White-space only changes.
13262         * lib/regexec.c: Likewise.
13263
13264         regex: add many uses of __attribute_warn_unused_result__
13265         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
13266         * lib/regexec.c: Likewise.
13267         Extracted from a messy glibc commit.
13268
13269         regcomp.c: spelling and merge-artifact from glibc
13270         * lib/regcomp.c: Merge remainder of glibc's
13271         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13272
13273         regcomp.c: sync white-space changes from glibc
13274         * lib/regcomp.c: Merge to accommodate white space
13275         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13276
13277         regcomp.c: do not ignore internal return values
13278         * lib/regcomp.c: Do not ignore internal return values.
13279         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
13280         but without its white-space changes and spelling fixes.
13281
13282         regex_internal.h: define __attribute_warn_unused_result__
13283         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
13284
13285         maint: add a syntax-check rule to check for vulnerable Makefile.in
13286         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
13287
13288 2010-01-27  Jim Meyering  <meyering@redhat.com>
13289
13290         ncftpput-ftp: clean up spaces
13291         * build-aux/ncftpput-ftp: Make Copyright line consistent.
13292         Remove trailing blanks.
13293
13294 2010-01-27  Simon Josefsson  <simon@josefsson.org>
13295
13296         * build-aux/git-version-gen: Fix copyright statement.
13297         * build-aux/gnupload: Likewise.
13298         * tests/test-arcfour.c: Likewise.
13299         * tests/test-arctwo.c: Likewise.
13300         * tests/test-count-one-bits.c: Likewise.
13301         * tests/test-crc.c: Likewise.
13302         * tests/test-des.c: Likewise.
13303         * tests/test-gc-arcfour.c: Likewise.
13304         * tests/test-gc-arctwo.c: Likewise.
13305         * tests/test-gc-des.c: Likewise.
13306         * tests/test-gc-hmac-md5.c: Likewise.
13307         * tests/test-gc-hmac-sha1.c: Likewise.
13308         * tests/test-gc-md2.c: Likewise.
13309         * tests/test-gc-md4.c: Likewise.
13310         * tests/test-gc-md5.c: Likewise.
13311         * tests/test-gc-pbkdf2-sha1.c: Likewise.
13312         * tests/test-gc-rijndael.c: Likewise.
13313         * tests/test-gc-sha1.c: Likewise.
13314         * tests/test-gc.c: Likewise.
13315         * tests/test-gethostname.c: Likewise.
13316         * tests/test-gettimeofday.c: Likewise.
13317         * tests/test-hash.c: Likewise.
13318         * tests/test-hmac-md5.c: Likewise.
13319         * tests/test-hmac-sha1.c: Likewise.
13320         * tests/test-md2.c: Likewise.
13321         * tests/test-md4.c: Likewise.
13322         * tests/test-md5.c: Likewise.
13323         * tests/test-memchr.c: Likewise.
13324         * tests/test-memchr2.c: Likewise.
13325         * tests/test-memcmp.c: Likewise.
13326         * tests/test-memmem.c: Likewise.
13327         * tests/test-memrchr.c: Likewise.
13328         * tests/test-rawmemchr.c: Likewise.
13329         * tests/test-read-file.c: Likewise.
13330         * tests/test-rijndael.c: Likewise.
13331         * tests/test-sockets.c: Likewise.
13332         * tests/test-strchrnul.c: Likewise.
13333         * tests/test-strstr.c: Likewise.
13334         * tests/test-strtod.c: Likewise.
13335         * build-aux/ncftpput-ftp: Likewise.
13336
13337 2010-01-26  Eric Blake  <ebb9@byu.net>
13338
13339         ignore-value: update recommended header name
13340         * modules/ignore-value (Include): Only use <> for headers that
13341         exist in glibc.
13342
13343 2010-01-26  Jim Meyering  <meyering@redhat.com>
13344
13345         test-userspec.c: avoid compiler warnings
13346         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
13347         and "initialization discards qualifiers..." warnings.
13348         Put the first "uid" in its own scope, and make char* members "const".
13349
13350 2010-01-25  Bruno Haible  <bruno@clisp.org>
13351
13352         gnulib-tool: Make warning diagnostics consistent.
13353         * gnulib-tool (func_warning): New function.
13354         Use it everywhere where gnulib-tool produces output to stderr and it is
13355         not a fatal error.
13356
13357 2010-01-25  Bruno Haible  <bruno@clisp.org>
13358
13359         Fix test dependencies.
13360         * modules/xstrtol-tests (Depends-on): Add inttypes.
13361         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
13362
13363 2010-01-25 Pádraig Brady <P@draigBrady.com>
13364
13365         syntax-check: detect incorrect boolean macro values in config.h
13366         * modules/maintainer-makefile (configure.ac): Parameterize the location
13367         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
13368         The logic is from Eric Blake and the location indicated by Jim Meyering.
13369         Note the more natural CONFIG_HEADER name is prohibited by automake
13370         for backwards compatibility reasons.
13371         * top/maint.mk (sc_Wundef_boolean): New rule.
13372
13373 2010-01-25  Jim Meyering  <meyering@redhat.com>
13374
13375         bootstrap: detect MacOS 10.6's shasum, too
13376         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
13377         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
13378
13379 2010-01-23  Jim Meyering  <meyering@redhat.com>
13380
13381         xstrtoll: new module
13382         * modules/xstrtoll: New file.
13383         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
13384         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
13385         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
13386         ./configure fails if you use this module and lack "long long".
13387         * modules/xstrtoll-tests: New module.
13388         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
13389         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
13390         new init.sh-based test framework.
13391
13392 2010-01-24  Bruno Haible  <bruno@clisp.org>
13393
13394         Tests for module 'yn'.
13395         * modules/yn-tests: New file.
13396         * tests/test-yn.c: New file.
13397
13398         Tests for module 'y1'.
13399         * modules/y1-tests: New file.
13400         * tests/test-y1.c: New file.
13401
13402         Tests for module 'y0'.
13403         * modules/y0-tests: New file.
13404         * tests/test-y0.c: New file.
13405
13406         Tests for module 'tanh'.
13407         * modules/tanh-tests: New file.
13408         * tests/test-tanh.c: New file.
13409
13410         Tests for module 'tan'.
13411         * modules/tan-tests: New file.
13412         * tests/test-tan.c: New file.
13413
13414         Tests for module 'sqrt'.
13415         * modules/sqrt-tests: New file.
13416         * tests/test-sqrt.c: New file.
13417
13418         Tests for module 'sinh'.
13419         * modules/sinh-tests: New file.
13420         * tests/test-sinh.c: New file.
13421
13422         Tests for module 'sin'.
13423         * modules/sin-tests: New file.
13424         * tests/test-sin.c: New file.
13425
13426         Tests for module 'rint'.
13427         * modules/rint-tests: New file.
13428         * tests/test-rint.c: New file.
13429
13430         Tests for module 'remainder'.
13431         * modules/remainder-tests: New file.
13432         * tests/test-remainder.c: New file.
13433
13434         Tests for module 'pow'.
13435         * modules/pow-tests: New file.
13436         * tests/test-pow.c: New file.
13437
13438         Tests for module 'nextafter'.
13439         * modules/nextafter-tests: New file.
13440         * tests/test-nextafter.c: New file.
13441
13442         Tests for module 'modf'.
13443         * modules/modf-tests: New file.
13444         * tests/test-modf.c: New file.
13445
13446         Tests for module 'logb'.
13447         * modules/logb-tests: New file.
13448         * tests/test-logb.c: New file.
13449
13450         Tests for module 'log1p'.
13451         * modules/log1p-tests: New file.
13452         * tests/test-log1p.c: New file.
13453
13454         Tests for module 'log10'.
13455         * modules/log10-tests: New file.
13456         * tests/test-log10.c: New file.
13457
13458         Tests for module 'log'.
13459         * modules/log-tests: New file.
13460         * tests/test-log.c: New file.
13461
13462         Tests for module 'lgamma'.
13463         * modules/lgamma-tests: New file.
13464         * tests/test-lgamma.c: New file.
13465
13466         Tests for module 'ldexp'.
13467         * modules/ldexp-tests: New file.
13468         * tests/test-ldexp.c: New file.
13469
13470         Tests for module 'jn'.
13471         * modules/jn-tests: New file.
13472         * tests/test-jn.c: New file.
13473
13474         Tests for module 'j1'.
13475         * modules/j1-tests: New file.
13476         * tests/test-j1.c: New file.
13477
13478         Tests for module 'j0'.
13479         * modules/j0-tests: New file.
13480         * tests/test-j0.c: New file.
13481
13482         Tests for module 'hypot'.
13483         * modules/hypot-tests: New file.
13484         * tests/test-hypot.c: New file.
13485
13486         Tests for module 'fmod'.
13487         * modules/fmod-tests: New file.
13488         * tests/test-fmod.c: New file.
13489
13490         Tests for module 'fabs'.
13491         * modules/fabs-tests: New file.
13492         * tests/test-fabs.c: New file.
13493
13494         Tests for module 'exp'.
13495         * modules/exp-tests: New file.
13496         * tests/test-exp.c: New file.
13497
13498         Tests for module 'erfc'.
13499         * modules/erfc-tests: New file.
13500         * tests/test-erfc.c: New file.
13501
13502         Tests for module 'erf'.
13503         * modules/erf-tests: New file.
13504         * tests/test-erf.c: New file.
13505
13506         Tests for module 'cosh'.
13507         * modules/cosh-tests: New file.
13508         * tests/test-cosh.c: New file.
13509
13510         Tests for module 'cos'.
13511         * modules/cos-tests: New file.
13512         * tests/test-cos.c: New file.
13513
13514         Tests for module 'copysign'.
13515         * modules/copysign-tests: New file.
13516         * tests/test-copysign.c: New file.
13517
13518         Tests for module 'cbrt'.
13519         * modules/cbrt-tests: New file.
13520         * tests/test-cbrt.c: New file.
13521
13522         Tests for module 'atan2'.
13523         * modules/atan2-tests: New file.
13524         * tests/test-atan2.c: New file.
13525
13526         Tests for module 'atan'.
13527         * modules/atan-tests: New file.
13528         * tests/test-atan.c: New file.
13529
13530         Tests for module 'asin'.
13531         * modules/asin-tests: New file.
13532         * tests/test-asin.c: New file.
13533
13534         Tests for module 'acos'.
13535         * modules/acos-tests: New file.
13536         * tests/test-acos.c: New file.
13537
13538 2010-01-24  Bruno Haible  <bruno@clisp.org>
13539
13540         Fix tests for common <math.h> functions.
13541         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
13542         code snippet that references the function pointer, rather than merely
13543         calling the function. Substitute the FUNC_LIBM variable.
13544         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
13545         * modules/acos (configure.ac): Likewise.
13546         * modules/asin (configure.ac): Likewise.
13547         * modules/atan (configure.ac): Likewise.
13548         * modules/atan2 (configure.ac): Likewise.
13549         * modules/cbrt (configure.ac): Likewise.
13550         * modules/copysign (configure.ac): Likewise.
13551         * modules/cos (configure.ac): Likewise.
13552         * modules/cosh (configure.ac): Likewise.
13553         * modules/erf (configure.ac): Likewise.
13554         * modules/erfc (configure.ac): Likewise.
13555         * modules/exp (configure.ac): Likewise.
13556         * modules/fabs (configure.ac): Likewise.
13557         * modules/fmod (configure.ac): Likewise.
13558         * modules/hypot (configure.ac): Likewise.
13559         * modules/j0 (configure.ac): Likewise.
13560         * modules/j1 (configure.ac): Likewise.
13561         * modules/jn (configure.ac): Likewise.
13562         * modules/ldexp (configure.ac): Likewise.
13563         * modules/lgamma (configure.ac): Likewise.
13564         * modules/log (configure.ac): Likewise.
13565         * modules/log10 (configure.ac): Likewise.
13566         * modules/log1p (configure.ac): Likewise.
13567         * modules/logb (configure.ac): Likewise.
13568         * modules/modf (configure.ac): Likewise.
13569         * modules/nextafter (configure.ac): Likewise.
13570         * modules/pow (configure.ac): Likewise.
13571         * modules/remainder (configure.ac): Likewise.
13572         * modules/rint (configure.ac): Likewise.
13573         * modules/sin (configure.ac): Likewise.
13574         * modules/sinh (configure.ac): Likewise.
13575         * modules/tan (configure.ac): Likewise.
13576         * modules/tanh (configure.ac): Likewise.
13577         * modules/y0 (configure.ac): Likewise.
13578         * modules/y1 (configure.ac): Likewise.
13579         * modules/yn (configure.ac): Likewise.
13580
13581 2010-01-24  Bruno Haible  <bruno@clisp.org>
13582
13583         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
13584         * tests/test-acosl.c (x): New variable.
13585         (main): Store argument in x and fetch it from x.
13586         * tests/test-asinl.c (x): New variable.
13587         (main): Store argument in x and fetch it from x.
13588         * tests/test-atanl.c (x): New variable.
13589         (main): Store argument in x and fetch it from x.
13590         * tests/test-cosl.c (x): New variable.
13591         (main): Store argument in x and fetch it from x.
13592         * tests/test-expl.c (x): New variable.
13593         (main): Store argument in x and fetch it from x.
13594         * tests/test-logl.c (x): New variable.
13595         (main): Store argument in x and fetch it from x.
13596         * tests/test-sinl.c (x): New variable.
13597         (main): Store argument in x and fetch it from x.
13598         * tests/test-sqrtl.c (x): New variable.
13599         (main): Store argument in x and fetch it from x.
13600         * tests/test-tanl.c (x): New variable.
13601         (main): Store argument in x and fetch it from x.
13602
13603 2010-01-24  Bruno Haible  <bruno@clisp.org>
13604
13605         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
13606         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
13607         assignments to the initial TESTS_ENVIRONMENT.
13608         * doc/gnulib.texi (Unit test modules): Document it.
13609         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
13610         TESTS_ENVIRONMENT.
13611         * modules/btowc-tests (Makefile.am): Likewise.
13612         * modules/c-stack-tests (Makefile.am): Likewise.
13613         * modules/c-strcase-tests (Makefile.am): Likewise.
13614         * modules/copy-file-tests (Makefile.am): Likewise.
13615         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
13616         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
13617         * modules/mbrtowc-tests (Makefile.am): Likewise.
13618         * modules/mbscasecmp-tests (Makefile.am): Likewise.
13619         * modules/mbscasestr-tests (Makefile.am): Likewise.
13620         * modules/mbschr-tests (Makefile.am): Likewise.
13621         * modules/mbscspn-tests (Makefile.am): Likewise.
13622         * modules/mbsinit-tests (Makefile.am): Likewise.
13623         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
13624         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
13625         * modules/mbspbrk-tests (Makefile.am): Likewise.
13626         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
13627         * modules/mbsrchr-tests (Makefile.am): Likewise.
13628         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
13629         * modules/mbsspn-tests (Makefile.am): Likewise.
13630         * modules/mbsstr-tests (Makefile.am): Likewise.
13631         * modules/nl_langinfo-tests (Makefile.am): Likewise.
13632         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
13633         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
13634         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
13635         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
13636         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
13637         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
13638         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
13639         * modules/wcrtomb-tests (Makefile.am): Likewise.
13640         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
13641         * modules/wcsrtombs-tests (Makefile.am): Likewise.
13642         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
13643         assignments from TESTS_ENVIRONMENT.
13644         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
13645         augmentation.
13646         * modules/argp-version-etc-tests (Makefile.am): Likewise.
13647         * modules/atexit-tests (Makefile.am): Likewise.
13648         * modules/binary-io-tests (Makefile.am): Likewise.
13649         * modules/closein-tests (Makefile.am): Likewise.
13650         * modules/dprintf-posix-tests (Makefile.am): Likewise.
13651         * modules/exclude-tests (Makefile.am): Likewise.
13652         * modules/fflush-tests (Makefile.am): Likewise.
13653         * modules/fpending-tests (Makefile.am): Likewise.
13654         * modules/fprintf-posix-tests (Makefile.am): Likewise.
13655         * modules/freadahead-tests (Makefile.am): Likewise.
13656         * modules/freadptr-tests (Makefile.am): Likewise.
13657         * modules/freadseek-tests (Makefile.am): Likewise.
13658         * modules/fseek-tests (Makefile.am): Likewise.
13659         * modules/fseeko-tests (Makefile.am): Likewise.
13660         * modules/ftell-tests (Makefile.am): Likewise.
13661         * modules/ftello-tests (Makefile.am): Likewise.
13662         * modules/idpriv-drop-tests (Makefile.am): Likewise.
13663         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
13664         * modules/lseek-tests (Makefile.am): Likewise.
13665         * modules/parse-duration-tests (Makefile.am): Likewise.
13666         * modules/perror-tests (Makefile.am): Likewise.
13667         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
13668         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
13669         * modules/pipe-tests (Makefile.am): Likewise.
13670         * modules/pread-tests (Makefile.am): Likewise.
13671         * modules/printf-posix-tests (Makefile.am): Likewise.
13672         * modules/select-tests (Makefile.am): Likewise.
13673         * modules/sigpipe-tests (Makefile.am): Likewise.
13674         * modules/tsearch-tests (Makefile.am): Likewise.
13675         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
13676         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
13677         * modules/uniname/uniname-tests (Makefile.am): Likewise.
13678         * modules/uniwidth/width-tests (Makefile.am): Likewise.
13679         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
13680         * modules/version-etc-tests (Makefile.am): Likewise.
13681         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
13682         * modules/vprintf-posix-tests (Makefile.am): Likewise.
13683         * modules/xalloc-die-tests (Makefile.am): Likewise.
13684         * modules/xprintf-posix-tests (Makefile.am): Likewise.
13685         * modules/xstrtoimax-tests (Makefile.am): Likewise.
13686         * modules/xstrtol-tests (Makefile.am): Likewise.
13687         * modules/xstrtoumax-tests (Makefile.am): Likewise.
13688         * modules/yesno-tests (Makefile.am): Likewise.
13689         Suggested by Jim Meyering.
13690
13691 2010-01-24  Bruno Haible  <bruno@clisp.org>
13692
13693         More documentation.
13694         * doc/gnulib.texi (Writing modules): New chapter.
13695         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
13696         the new chapter.
13697
13698 2010-01-24  Jim Meyering  <meyering@redhat.com>
13699
13700         maint.mk: do not prepend "./" after filtering
13701         * top/maint.mk (_prepend_srcdir_prefix): New variable
13702         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
13703         "./" when $(srcdir) is ".".
13704
13705         define STREQ(a,b) consistently, removing useless parentheses
13706         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
13707         since the only risk is that "a" or "b" contains an unparenthesized
13708         comma, but if either did that, STREQ would have 3 or more arguments.
13709         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
13710         * lib/fts.c (STREQ): Remove unnecessary parentheses.
13711         * lib/hash-triple.c (STREQ): Likewise.
13712         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
13713         * lib/getugroups.c (STREQ): Likewise.
13714
13715 2010-01-23  Jim Meyering  <meyering@redhat.com>
13716
13717         maint.mk: fix syntax-check in a non-srcdir build directory
13718         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
13719         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
13720
13721 2010-01-22  Jim Meyering  <meyering@redhat.com>
13722
13723         userspec: add unit tests
13724         * tests/test-userspec.c: New file.
13725         * modules/userspec-tests: Likewise.
13726
13727 2010-01-21  Jim Meyering  <meyering@redhat.com>
13728
13729         maint.mk: handle source file names containing "." robustly
13730         * top/maint.mk (_dot_escaped_srcdir): Define.
13731         (VC_LIST): Use it in LHS of sed substitution.
13732
13733 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
13734
13735         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
13736         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
13737         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
13738         from a non-srcdir build.
13739
13740 2010-01-20  Eric Blake  <ebb9@byu.net>
13741
13742         warn-on-use: use instead of link-warning
13743         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
13744         * modules/unistd (Depends-on, Makefile.am): Likewise.
13745         * modules/arpa_inet (Depends-on): Replace link-warning with
13746         warn-on-use.
13747         (Makefile.am): Update rules accordingly.
13748         * modules/ctype (Depends-on, Makefile.am): Likewise.
13749         * modules/dirent (Depends-on, Makefile.am): Likewise.
13750         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
13751         * modules/inttypes (Depends-on, Makefile.am): Likewise.
13752         * modules/langinfo (Depends-on, Makefile.am): Likewise.
13753         * modules/locale (Depends-on, Makefile.am): Likewise.
13754         * modules/math (Depends-on, Makefile.am): Likewise.
13755         * modules/search (Depends-on, Makefile.am): Likewise.
13756         * modules/signal (Depends-on, Makefile.am): Likewise.
13757         * modules/spawn (Depends-on, Makefile.am): Likewise.
13758         * modules/stdlib (Depends-on, Makefile.am): Likewise.
13759         * modules/string (Depends-on, Makefile.am): Likewise.
13760         * modules/strings (Depends-on, Makefile.am): Likewise.
13761         * modules/sys_file (Depends-on, Makefile.am): Likewise.
13762         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
13763         * modules/sys_select (Depends-on, Makefile.am): Likewise.
13764         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
13765         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
13766         * modules/sys_times (Depends-on, Makefile.am): Likewise.
13767         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
13768         * modules/wchar (Depends-on, Makefile.am): Likewise.
13769         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
13770         should be poisoned.
13771         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
13772         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
13773         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
13774         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
13775         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13776         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13777         * m4/math_h.m4 (gl_MATH_H): Likewise.
13778         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
13779         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13780         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13781         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
13782         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
13783         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
13784         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
13785         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
13786         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13787         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13788         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13789         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13790         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13791         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13792         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13793         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13794         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
13795         GL_LINK_WARNING.
13796         * lib/ctype.in.h: Likewise.
13797         * lib/dirent.in.h: Likewise.
13798         * lib/fcntl.in.h: Likewise.
13799         * lib/inttypes.in.h: Likewise.
13800         * lib/langinfo.in.h: Likewise.
13801         * lib/locale.in.h: Likewise.
13802         * lib/math.in.h: Likewise.
13803         * lib/search.in.h: Likewise.
13804         * lib/signal.in.h: Likewise.
13805         * lib/spawn.in.h: Likewise.
13806         * lib/stdio.in.h: Likewise.
13807         * lib/stdlib.in.h: Likewise.
13808         * lib/string.in.h: Likewise.
13809         * lib/strings.in.h: Likewise.
13810         * lib/sys_file.in.h: Likewise.
13811         * lib/sys_ioctl.in.h: Likewise.
13812         * lib/sys_select.in.h: Likewise.
13813         * lib/sys_socket.in.h: Likewise.
13814         * lib/sys_stat.in.h: Likewise.
13815         * lib/sys_times.in.h: Likewise.
13816         * lib/sys_utsname.in.h: Likewise.
13817         * lib/unistd.in.h: Likewise.
13818         * lib/wchar.in.h: Likewise.
13819
13820 2010-01-20  Bruno Haible  <bruno@clisp.org>
13821
13822         Avoid duplicate -lm.
13823         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
13824         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
13825         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
13826         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
13827         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
13828         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
13829         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
13830         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
13831         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
13832         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
13833         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
13834         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13835         Reported by Paolo Bonzini.
13836
13837 2010-01-19  Bruno Haible  <bruno@clisp.org>
13838
13839         langinfo, nl_langinfo: Relicense under LGPLv2+.
13840         * modules/langinfo (License): Change to LGPLv2+.
13841         * modules/nl_langinfo (License): Likewise.
13842         Patch by David Lutterkort <lutter@redhat.com>.
13843
13844 2010-01-19  Bruno Haible  <bruno@clisp.org>
13845
13846         Avoid compilation error with cc on OSF/1 5.1.
13847         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
13848         statement, not before.
13849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13850
13851 2010-01-18  Bruno Haible  <bruno@clisp.org>
13852
13853         Avoid a link error due to the __printf__ symbol.
13854         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
13855         and 2.6.x.
13856         (__format__, __printf__): Remove definitions.
13857         * lib/argp-fmtstream.h: Likewise.
13858         * lib/argp.h: Likewise.
13859         * lib/error.h: Likewise.
13860         * lib/vasnprintf.h: Likewise.
13861         * lib/xprintf.h: Likewise.
13862         * lib/xvasprintf.h: Likewise.
13863         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13864
13865 2010-01-18  Bruno Haible  <bruno@clisp.org>
13866
13867         Tests for module 'tanl'.
13868         * modules/tanl-tests: New file.
13869         * tests/test-tanl.c: New file.
13870
13871         Tests for module 'sqrtl'.
13872         * modules/sqrtl-tests: New file.
13873         * tests/test-sqrtl.c: New file.
13874
13875         Tests for module 'sinl'.
13876         * modules/sinl-tests: New file.
13877         * tests/test-sinl.c: New file.
13878
13879         Tests for module 'logl'.
13880         * modules/logl-tests: New file.
13881         * tests/test-logl.c: New file.
13882
13883         Tests for module 'expl'.
13884         * modules/expl-tests: New file.
13885         * tests/test-expl.c: New file.
13886
13887         Tests for module 'cosl'.
13888         * modules/cosl-tests: New file.
13889         * tests/test-cosl.c: New file.
13890
13891         Tests for module 'atanl'.
13892         * modules/atanl-tests: New file.
13893         * tests/test-atanl.c: New file.
13894
13895         Tests for module 'asinl'.
13896         * modules/asinl-tests: New file.
13897         * tests/test-asinl.c: New file.
13898
13899         Tests for module 'acosl'.
13900         * modules/acosl-tests: New file.
13901         * tests/test-acosl.c: New file.
13902
13903         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
13904         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
13905         tanl): Use the standard gnulib idiom.
13906         * lib/cosl.c: Don't include trigl.c and sincosl.c.
13907         * lib/sinl.c: Likewise.
13908         * lib/tanl.c: Don't include trigl.c.
13909         (kernel_tanl): Make static.
13910         * lib/sincosl.c: Include trigl.h first.
13911         * lib/trigl.c: Likewise.
13912         * m4/acosl.m4: New file.
13913         * m4/asinl.m4: New file.
13914         * m4/atanl.m4: New file.
13915         * m4/cosl.m4: New file.
13916         * m4/expl.m4: New file.
13917         * m4/logl.m4: New file.
13918         * m4/sinl.m4: New file.
13919         * m4/sqrtl.m4: New file.
13920         * m4/tanl.m4: New file.
13921         * m4/mathl.m4: Remove file.
13922         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
13923         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
13924         Don't initialize GNULIB_MATHL.
13925         * modules/acosl: New file.
13926         * modules/asinl: New file.
13927         * modules/atanl: New file.
13928         * modules/cosl: New file.
13929         * modules/expl: New file.
13930         * modules/logl: New file.
13931         * modules/sinl: New file.
13932         * modules/sqrtl: New file.
13933         * modules/tanl: New file.
13934         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
13935         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
13936         substitute GNULIB_MATHL.
13937         * modules/mathl: Rewritten.
13938         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
13939         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
13940         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
13941         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
13942         * doc/posix-functions/expl.texi: Mention the 'expl' module.
13943         * doc/posix-functions/logl.texi: Mention the 'logl' module.
13944         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
13945         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
13946         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
13947
13948 2010-01-18  Bruno Haible  <bruno@clisp.org>
13949
13950         sqrt: Make gl_FUNC_SQRT requirable.
13951         * m4/sqrt.m4: New file.
13952         * modules/sqrt (Files): Add it.
13953         (configure.ac): Invoke gl_FUNC_SQRT.
13954
13955 2010-01-18  Bruno Haible  <bruno@clisp.org>
13956
13957         New modules for common <math.h> functions.
13958         * m4/mathfunc.m4: New file.
13959         * modules/acos: New file.
13960         * modules/asin: New file.
13961         * modules/atan: New file.
13962         * modules/atan2: New file.
13963         * modules/cbrt: New file.
13964         * modules/copysign: New file.
13965         * modules/cos: New file.
13966         * modules/cosh: New file.
13967         * modules/erf: New file.
13968         * modules/erfc: New file.
13969         * modules/exp: New file.
13970         * modules/fabs: New file.
13971         * modules/fmod: New file.
13972         * modules/hypot: New file.
13973         * modules/j0: New file.
13974         * modules/j1: New file.
13975         * modules/jn: New file.
13976         * modules/ldexp: New file.
13977         * modules/lgamma: New file.
13978         * modules/log: New file.
13979         * modules/log10: New file.
13980         * modules/log1p: New file.
13981         * modules/logb: New file.
13982         * modules/modf: New file.
13983         * modules/nextafter: New file.
13984         * modules/pow: New file.
13985         * modules/remainder: New file.
13986         * modules/rint: New file.
13987         * modules/sin: New file.
13988         * modules/sinh: New file.
13989         * modules/sqrt: New file.
13990         * modules/tan: New file.
13991         * modules/tanh: New file.
13992         * modules/y0: New file.
13993         * modules/y1: New file.
13994         * modules/yn: New file.
13995         * doc/posix-functions/acos.texi: Mention the 'acos' module.
13996         * doc/posix-functions/asin.texi: Mention the 'asin' module.
13997         * doc/posix-functions/atan.texi: Mention the 'atan' module.
13998         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
13999         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
14000         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
14001         * doc/posix-functions/cos.texi: Mention the 'cos' module.
14002         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
14003         * doc/posix-functions/erf.texi: Mention the 'erf' module.
14004         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
14005         * doc/posix-functions/exp.texi: Mention the 'exp' module.
14006         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
14007         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
14008         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
14009         * doc/posix-functions/j0.texi: Mention the 'j0' module.
14010         * doc/posix-functions/j1.texi: Mention the 'j1' module.
14011         * doc/posix-functions/jn.texi: Mention the 'jn' module.
14012         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
14013         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
14014         * doc/posix-functions/log.texi: Mention the 'log' module.
14015         * doc/posix-functions/log10.texi: Mention the 'log10' module.
14016         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
14017         * doc/posix-functions/logb.texi: Mention the 'logb' module.
14018         * doc/posix-functions/modf.texi: Mention the 'modf' module.
14019         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
14020         * doc/posix-functions/pow.texi: Mention the 'pow' module.
14021         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
14022         * doc/posix-functions/rint.texi: Mention the 'rint' module.
14023         * doc/posix-functions/sin.texi: Mention the 'sin' module.
14024         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
14025         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
14026         * doc/posix-functions/tan.texi: Mention the 'tan' module.
14027         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
14028         * doc/posix-functions/y0.texi: Mention the 'y0' module.
14029         * doc/posix-functions/y1.texi: Mention the 'y1' module.
14030         * doc/posix-functions/yn.texi: Mention the 'yn' module.
14031
14032 2010-01-18  Jim Meyering  <meyering@redhat.com>
14033
14034         ignore-value: relax license to LGPLv2+
14035         * modules/ignore-value (License): Relax to LGPLv2+.
14036
14037         getdate: don't leak when TZ contains two or more '"'s
14038         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
14039         double quote in TZ after the first one.
14040
14041         readtokens: do not leak internal token_lengths buffer
14042         * lib/readtokens.c (readtokens): Free the local, lengths,
14043         when the supplied "token_lengths" parameter is NULL.
14044
14045 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14046
14047         Fix a couple of missing LIBTHREAD link failures on AIX.
14048         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
14049         $(LIBTHREAD).
14050         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
14051
14052         Link test-poll against INET_PTON_LIB.
14053         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
14054         for inet_pton on Solaris 10.
14055
14056 2010-01-17  Bruno Haible  <bruno@clisp.org>
14057
14058         unistdio/*-sprintf: Fix typo in module description.
14059         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
14060         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
14061         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
14062         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
14063         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
14064         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
14065         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
14066         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14067
14068 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14069
14070         gnulib-tool: fix filelist for AIX, HP-UX ksh.
14071         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
14072         variables in shell case patterns, for AIX and HP-UX ksh.
14073
14074         Split large sed scripts, for HP-UX sed.
14075         * modules/stdio: Split sed scripts around 50 sed commands,
14076         to avoid HP-UX limit of 99 commands, in the near future.
14077         * modules/string: Likewise.
14078         * modules/unistd: Likewise.
14079
14080         gnulib-tool: avoid writing in the current directory.
14081         * gnulib-tool (func_emit_lib_Makefile_am)
14082         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
14083         not in the current directory, so concurrent gnulib-tool
14084         instances do not interfere.
14085
14086 2010-01-16  Jim Meyering  <meyering@redhat.com>
14087
14088         doc: update users.txt
14089         * users.txt: Add grep.
14090         (diffutils, gzip): Update URLs.
14091
14092 2010-01-12  Bruno Haible  <bruno@clisp.org>
14093
14094         posix_spawn: Avoid test failure on Cygwin.
14095         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
14096         characters.
14097         Reported by Simon Josefsson.
14098
14099 2010-01-12  Bruno Haible  <bruno@clisp.org>
14100
14101         * tests/test-cond.c (main): When skipping the test, show the reason.
14102
14103 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14104
14105         * lib/striconv.c (str_cd_iconv): Avoid if before free.
14106
14107 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14108
14109         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
14110         VC_LIST_ALWAYS_EXCLUDE_REGEX.
14111
14112 2010-01-12  Eric Blake  <ebb9@byu.net>
14113
14114         build: guarantee AS_VAR_IF
14115         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
14116         (gl_AS_VAR_IF): Move...
14117         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
14118         Reported by Simon Josefsson.
14119
14120 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14121
14122         * lib/stdio.in.h: Fix typo.
14123
14124 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14125
14126         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
14127         libgpg-error.
14128
14129 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14130
14131         * tests/test-xalloc-die.sh: Use $EXEEXT.
14132
14133 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14134             Bruno Haible  <bruno@clisp.org>
14135
14136         getlogin, getlogin_r: Avoid test failure.
14137         * tests/test-getlogin.c: Include <stdio.h>.
14138         (main): Skip the test when the function fails because stdin is not a
14139         tty.
14140         * tests/test-getlogin_r.c: Include <stdio.h>.
14141         (main): Skip the test when the function fails because stdin is not a
14142         tty.
14143
14144 2010-01-11  Eric Blake  <ebb9@byu.net>
14145
14146         tests: avoid more large file warnings
14147         * tests/test-fflush.c: Avoid warning about ftell use.
14148         * tests/test-fseek.c: Avoid warning about fseek use.
14149
14150 2010-01-10  Bruno Haible  <bruno@clisp.org>
14151
14152         nproc: Work better on Linux when /proc and /sys are not mounted.
14153         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
14154         as lower bound when, on glibc/Linux systems,
14155         sysconf (_SC_NPROCESSORS_CONF) returns 1.
14156         Suggested by Pádraig Brady <P@draigbrady.com>.
14157         Reported by Dmitry V. Levin <ldv@altlinux.org>.
14158
14159         nproc: Refactor.
14160         * lib/nproc.c (num_processors_via_affinity_mask): New function,
14161         extracted from num_processors.
14162         (num_processors): Call it.
14163
14164 2010-01-11  Jim Meyering  <meyering@redhat.com>
14165
14166         utimecmp: avoid new warning from upcoming gcc-4.5.0
14167         * lib/utimecmp.c (BILLION): Define using #define rather than an
14168         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
14169
14170 2010-01-11  Eric Blake  <ebb9@byu.net>
14171
14172         math: add portability warnings for classification macros
14173         * modules/math (Depends-on): Add warn-on-use.
14174         (Makefile.am): Provide new substitutions.
14175         * m4/math_h.m4 (gl_MATH_H): Require inline.
14176         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
14177         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
14178         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
14179         implement warnings.
14180
14181         unistd: warn on use of environ without module
14182         * modules/unistd (Depends-on): Add warn-on-use.
14183         (Makefile.am): Provide new substitutions.
14184         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
14185         * lib/unistd.in.h (environ): Wrap with a warning helper function.
14186
14187         stdio: warn on suspicious uses
14188         * modules/stdio (Depends-on): Add warn-on-use.
14189         (Makefile.am): Provide new substitutions.
14190         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
14191         fseeko.
14192         * lib/stdio.in.h (gets): Always warn on use.
14193         (fseek, ftell): Adjust when warnings are issued, and honor
14194         _GL_NO_LARGE_FILES as a way to silence the warning.
14195         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
14196         any warning about large file offsets.
14197         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
14198         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
14199         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
14200         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
14201         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
14202         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
14203         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
14204         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
14205
14206         warn-on-use: new module
14207         * modules/warn-on-use: New file.
14208         * build-aux/warn-on-use.h: Likewise.
14209         * m4/warn-on-use.m4: Likewise.
14210         * MODULES.html.sh (Support for building): Mention it.
14211
14212 2010-01-10  Bruno Haible  <bruno@clisp.org>
14213
14214         Tests for module 'unistr/u32-strdup'.
14215         * modules/unistr/u32-strdup-tests: New file.
14216         * tests/unistr/test-u32-strdup.c: New file.
14217
14218         Tests for module 'unistr/u16-strdup'.
14219         * modules/unistr/u16-strdup-tests: New file.
14220         * tests/unistr/test-u16-strdup.c: New file.
14221
14222         Tests for module 'unistr/u8-strdup'.
14223         * modules/unistr/u8-strdup-tests: New file.
14224         * tests/unistr/test-u8-strdup.c: New file.
14225         * tests/unistr/test-strdup.h: New file.
14226
14227         Tests for module 'unistr/u32-strncmp'.
14228         * modules/unistr/u32-strncmp-tests: New file.
14229         * tests/unistr/test-u32-strncmp.c: New file.
14230
14231         Tests for module 'unistr/u16-strncmp'.
14232         * modules/unistr/u16-strncmp-tests: New file.
14233         * tests/unistr/test-u16-strncmp.c: New file.
14234
14235         Tests for module 'unistr/u8-strncmp'.
14236         * modules/unistr/u8-strncmp-tests: New file.
14237         * tests/unistr/test-u8-strncmp.c: New file.
14238         * tests/unistr/test-strncmp.h: New file.
14239
14240         Tests for module 'unistr/u32-strcoll'.
14241         * modules/unistr/u32-strcoll-tests: New file.
14242         * tests/unistr/test-u32-strcoll.c: New file.
14243
14244         Tests for module 'unistr/u16-strcoll'.
14245         * modules/unistr/u16-strcoll-tests: New file.
14246         * tests/unistr/test-u16-strcoll.c: New file.
14247
14248         Tests for module 'unistr/u8-strcoll'.
14249         * modules/unistr/u8-strcoll-tests: New file.
14250         * tests/unistr/test-u8-strcoll.c: New file.
14251
14252         Tests for module 'unistr/u32-strcmp'.
14253         * modules/unistr/u32-strcmp-tests: New file.
14254         * tests/unistr/test-u32-strcmp.c: New file.
14255         * tests/unistr/test-u32-strcmp.h: New file.
14256
14257         Tests for module 'unistr/u16-strcmp'.
14258         * modules/unistr/u16-strcmp-tests: New file.
14259         * tests/unistr/test-u16-strcmp.c: New file.
14260         * tests/unistr/test-u16-strcmp.h: New file.
14261
14262         Tests for module 'unistr/u8-strcmp'.
14263         * modules/unistr/u8-strcmp-tests: New file.
14264         * tests/unistr/test-u8-strcmp.c: New file.
14265         * tests/unistr/test-u8-strcmp.h: New file.
14266         * tests/unistr/test-strcmp.h: New file.
14267
14268         Tests for module 'unistr/u32-strncat'.
14269         * modules/unistr/u32-strncat-tests: New file.
14270         * tests/unistr/test-u32-strncat.c: New file.
14271
14272         Tests for module 'unistr/u16-strncat'.
14273         * modules/unistr/u16-strncat-tests: New file.
14274         * tests/unistr/test-u16-strncat.c: New file.
14275
14276         Tests for module 'unistr/u8-strncat'.
14277         * modules/unistr/u8-strncat-tests: New file.
14278         * tests/unistr/test-u8-strncat.c: New file.
14279         * tests/unistr/test-strncat.h: New file.
14280
14281         Tests for module 'unistr/u32-strcat'.
14282         * modules/unistr/u32-strcat-tests: New file.
14283         * tests/unistr/test-u32-strcat.c: New file.
14284
14285         Tests for module 'unistr/u16-strcat'.
14286         * modules/unistr/u16-strcat-tests: New file.
14287         * tests/unistr/test-u16-strcat.c: New file.
14288
14289         Tests for module 'unistr/u8-strcat'.
14290         * modules/unistr/u8-strcat-tests: New file.
14291         * tests/unistr/test-u8-strcat.c: New file.
14292         * tests/unistr/test-strcat.h: New file.
14293
14294         Tests for module 'unistr/u32-stpncpy'.
14295         * modules/unistr/u32-stpncpy-tests: New file.
14296         * tests/unistr/test-u32-stpncpy.c: New file.
14297
14298         Tests for module 'unistr/u16-stpncpy'.
14299         * modules/unistr/u16-stpncpy-tests: New file.
14300         * tests/unistr/test-u16-stpncpy.c: New file.
14301
14302         Tests for module 'unistr/u8-stpncpy'.
14303         * modules/unistr/u8-stpncpy-tests: New file.
14304         * tests/unistr/test-u8-stpncpy.c: New file.
14305         * tests/unistr/test-stpncpy.h: New file.
14306
14307         Tests for module 'unistr/u32-strncpy'.
14308         * modules/unistr/u32-strncpy-tests: New file.
14309         * tests/unistr/test-u32-strncpy.c: New file.
14310
14311         Tests for module 'unistr/u16-strncpy'.
14312         * modules/unistr/u16-strncpy-tests: New file.
14313         * tests/unistr/test-u16-strncpy.c: New file.
14314
14315         Tests for module 'unistr/u8-strncpy'.
14316         * modules/unistr/u8-strncpy-tests: New file.
14317         * tests/unistr/test-u8-strncpy.c: New file.
14318         * tests/unistr/test-strncpy.h: New file.
14319
14320         Tests for module 'unistr/u32-stpcpy'.
14321         * modules/unistr/u32-stpcpy-tests: New file.
14322         * tests/unistr/test-u32-stpcpy.c: New file.
14323
14324         Tests for module 'unistr/u16-stpcpy'.
14325         * modules/unistr/u16-stpcpy-tests: New file.
14326         * tests/unistr/test-u16-stpcpy.c: New file.
14327
14328         Tests for module 'unistr/u8-stpcpy'.
14329         * modules/unistr/u8-stpcpy-tests: New file.
14330         * tests/unistr/test-u8-stpcpy.c: New file.
14331         * tests/unistr/test-stpcpy.h: New file.
14332
14333         Tests for module 'unistr/u32-strcpy'.
14334         * modules/unistr/u32-strcpy-tests: New file.
14335         * tests/unistr/test-u32-strcpy.c: New file.
14336
14337         Tests for module 'unistr/u16-strcpy'.
14338         * modules/unistr/u16-strcpy-tests: New file.
14339         * tests/unistr/test-u16-strcpy.c: New file.
14340
14341         Tests for module 'unistr/u8-strcpy'.
14342         * modules/unistr/u8-strcpy-tests: New file.
14343         * tests/unistr/test-u8-strcpy.c: New file.
14344         * tests/unistr/test-strcpy.h: New file.
14345
14346         Tests for module 'unistr/u32-strnlen'.
14347         * modules/unistr/u32-strnlen-tests: New file.
14348         * tests/unistr/test-u32-strnlen.c: New file.
14349
14350         Tests for module 'unistr/u16-strnlen'.
14351         * modules/unistr/u16-strnlen-tests: New file.
14352         * tests/unistr/test-u16-strnlen.c: New file.
14353
14354         Tests for module 'unistr/u8-strnlen'.
14355         * modules/unistr/u8-strnlen-tests: New file.
14356         * tests/unistr/test-u8-strnlen.c: New file.
14357         * tests/unistr/test-strnlen.h: New file.
14358
14359         Tests for module 'unistr/u32-strlen'.
14360         * modules/unistr/u32-strlen-tests: New file.
14361         * tests/unistr/test-u32-strlen.c: New file.
14362
14363         Tests for module 'unistr/u16-strlen'.
14364         * modules/unistr/u16-strlen-tests: New file.
14365         * tests/unistr/test-u16-strlen.c: New file.
14366
14367         Tests for module 'unistr/u8-strlen'.
14368         * modules/unistr/u8-strlen-tests: New file.
14369         * tests/unistr/test-u8-strlen.c: New file.
14370
14371         Tests for module 'unistr/u32-prev'.
14372         * modules/unistr/u32-prev-tests: New file.
14373         * tests/unistr/test-u32-prev.c: New file.
14374
14375         Tests for module 'unistr/u16-prev'.
14376         * modules/unistr/u16-prev-tests: New file.
14377         * tests/unistr/test-u16-prev.c: New file.
14378
14379         Tests for module 'unistr/u8-prev'.
14380         * modules/unistr/u8-prev-tests: New file.
14381         * tests/unistr/test-u8-prev.c: New file.
14382
14383         Tests for module 'unistr/u32-next'.
14384         * modules/unistr/u32-next-tests: New file.
14385         * tests/unistr/test-u32-next.c: New file.
14386
14387         Tests for module 'unistr/u16-next'.
14388         * modules/unistr/u16-next-tests: New file.
14389         * tests/unistr/test-u16-next.c: New file.
14390
14391         Tests for module 'unistr/u8-next'.
14392         * modules/unistr/u8-next-tests: New file.
14393         * tests/unistr/test-u8-next.c: New file.
14394
14395         Tests for module 'unistr/u32-strmbtouc'.
14396         * modules/unistr/u32-strmbtouc-tests: New file.
14397         * tests/unistr/test-u32-strmbtouc.c: New file.
14398
14399         Tests for module 'unistr/u16-strmbtouc'.
14400         * modules/unistr/u16-strmbtouc-tests: New file.
14401         * tests/unistr/test-u16-strmbtouc.c: New file.
14402
14403         Tests for module 'unistr/u8-strmbtouc'.
14404         * modules/unistr/u8-strmbtouc-tests: New file.
14405         * tests/unistr/test-u8-strmbtouc.c: New file.
14406
14407         Tests for module 'unistr/u32-strmblen'.
14408         * modules/unistr/u32-strmblen-tests: New file.
14409         * tests/unistr/test-u32-strmblen.c: New file.
14410
14411         Tests for module 'unistr/u16-strmblen'.
14412         * modules/unistr/u16-strmblen-tests: New file.
14413         * tests/unistr/test-u16-strmblen.c: New file.
14414
14415         Tests for module 'unistr/u8-strmblen'.
14416         * modules/unistr/u8-strmblen-tests: New file.
14417         * tests/unistr/test-u8-strmblen.c: New file.
14418
14419         Tests for module 'unistr/u32-cpy-alloc'.
14420         * modules/unistr/u32-cpy-alloc-tests: New file.
14421         * tests/unistr/test-u32-cpy-alloc.c: New file.
14422
14423         Tests for module 'unistr/u16-cpy-alloc'.
14424         * modules/unistr/u16-cpy-alloc-tests: New file.
14425         * tests/unistr/test-u16-cpy-alloc.c: New file.
14426
14427         Tests for module 'unistr/u8-cpy-alloc'.
14428         * modules/unistr/u8-cpy-alloc-tests: New file.
14429         * tests/unistr/test-u8-cpy-alloc.c: New file.
14430         * tests/unistr/test-cpy-alloc.h: New file.
14431
14432         Tests for module 'unistr/u32-mbsnlen'.
14433         * modules/unistr/u32-mbsnlen-tests: New file.
14434         * tests/unistr/test-u32-mbsnlen.c: New file.
14435
14436         Tests for module 'unistr/u16-mbsnlen'.
14437         * modules/unistr/u16-mbsnlen-tests: New file.
14438         * tests/unistr/test-u16-mbsnlen.c: New file.
14439
14440         Tests for module 'unistr/u8-mbsnlen'.
14441         * modules/unistr/u8-mbsnlen-tests: New file.
14442         * tests/unistr/test-u8-mbsnlen.c: New file.
14443
14444         Tests for module 'unistr/u32-chr'.
14445         * modules/unistr/u32-chr-tests: New file.
14446         * tests/unistr/test-u32-chr.c: New file.
14447
14448         Tests for module 'unistr/u16-chr'.
14449         * modules/unistr/u16-chr-tests: New file.
14450         * tests/unistr/test-u16-chr.c: New file.
14451
14452         Tests for module 'unistr/u8-chr'.
14453         * modules/unistr/u8-chr-tests: New file.
14454         * tests/unistr/test-u8-chr.c: New file.
14455         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
14456
14457         Tests for module 'unistr/u32-cmp2'.
14458         * modules/unistr/u32-cmp2-tests: New file.
14459         * tests/unistr/test-u32-cmp2.c: New file.
14460
14461         Tests for module 'unistr/u16-cmp2'.
14462         * modules/unistr/u16-cmp2-tests: New file.
14463         * tests/unistr/test-u16-cmp2.c: New file.
14464
14465         Tests for module 'unistr/u8-cmp2'.
14466         * modules/unistr/u8-cmp2-tests: New file.
14467         * tests/unistr/test-u8-cmp2.c: New file.
14468         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
14469
14470         Tests for module 'unistr/u32-cmp'.
14471         * modules/unistr/u32-cmp-tests: New file.
14472         * tests/unistr/test-u32-cmp.c: New file.
14473
14474         Tests for module 'unistr/u16-cmp'.
14475         * modules/unistr/u16-cmp-tests: New file.
14476         * tests/unistr/test-u16-cmp.c: New file.
14477
14478         Tests for module 'unistr/u8-cmp'.
14479         * modules/unistr/u8-cmp-tests: New file.
14480         * tests/unistr/test-u8-cmp.c: New file.
14481         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
14482
14483         Tests for module 'unistr/u32-set'.
14484         * modules/unistr/u32-set-tests: New file.
14485         * tests/unistr/test-u32-set.c: New file.
14486
14487         Tests for module 'unistr/u16-set'.
14488         * modules/unistr/u16-set-tests: New file.
14489         * tests/unistr/test-u16-set.c: New file.
14490
14491         Tests for module 'unistr/u8-set'.
14492         * modules/unistr/u8-set-tests: New file.
14493         * tests/unistr/test-u8-set.c: New file.
14494         * tests/unistr/test-set.h: New file.
14495
14496         Tests for module 'unistr/u32-move'.
14497         * modules/unistr/u32-move-tests: New file.
14498         * tests/unistr/test-u32-move.c: New file.
14499
14500         Tests for module 'unistr/u16-move'.
14501         * modules/unistr/u16-move-tests: New file.
14502         * tests/unistr/test-u16-move.c: New file.
14503
14504         Tests for module 'unistr/u8-move'.
14505         * modules/unistr/u8-move-tests: New file.
14506         * tests/unistr/test-u8-move.c: New file.
14507         * tests/unistr/test-move.h: New file.
14508
14509         Tests for module 'unistr/u32-cpy'.
14510         * modules/unistr/u32-cpy-tests: New file.
14511         * tests/unistr/test-u32-cpy.c: New file.
14512
14513         Tests for module 'unistr/u16-cpy'.
14514         * modules/unistr/u16-cpy-tests: New file.
14515         * tests/unistr/test-u16-cpy.c: New file.
14516
14517         Tests for module 'unistr/u8-cpy'.
14518         * modules/unistr/u8-cpy-tests: New file.
14519         * tests/unistr/test-u8-cpy.c: New file.
14520         * tests/unistr/test-cpy.h: New file.
14521
14522 2010-01-09  Bruno Haible  <bruno@clisp.org>
14523
14524         Tests for module 'unistr/u32-uctomb'.
14525         * modules/unistr/u32-uctomb-tests: New file.
14526         * tests/unistr/test-u32-uctomb.c: New file.
14527
14528         Tests for module 'unistr/u16-uctomb'.
14529         * modules/unistr/u16-uctomb-tests: New file.
14530         * tests/unistr/test-u16-uctomb.c: New file.
14531
14532         Tests for module 'unistr/u8-uctomb'.
14533         * modules/unistr/u8-uctomb-tests: New file.
14534         * tests/unistr/test-u8-uctomb.c: New file.
14535
14536         Tests for module 'unistr/u32-mbtoucr'.
14537         * modules/unistr/u32-mbtoucr-tests: New file.
14538         * tests/unistr/test-u32-mbtoucr.c: New file.
14539
14540         Tests for module 'unistr/u16-mbtoucr'.
14541         * modules/unistr/u16-mbtoucr-tests: New file.
14542         * tests/unistr/test-u16-mbtoucr.c: New file.
14543
14544         Tests for module 'unistr/u8-mbtoucr'.
14545         * modules/unistr/u8-mbtoucr-tests: New file.
14546         * tests/unistr/test-u8-mbtoucr.c: New file.
14547
14548         Tests for module 'unistr/u32-mbtouc'.
14549         * modules/unistr/u32-mbtouc-tests: New file.
14550         * tests/unistr/test-u32-mbtouc.c: New file.
14551
14552         Tests for module 'unistr/u16-mbtouc'.
14553         * modules/unistr/u16-mbtouc-tests: New file.
14554         * tests/unistr/test-u16-mbtouc.c: New file.
14555
14556         Tests for module 'unistr/u8-mbtouc'.
14557         * modules/unistr/u8-mbtouc-tests: New file.
14558         * tests/unistr/test-u8-mbtouc.c: New file.
14559
14560         Tests for module 'unistr/u32-mbtouc-unsafe'.
14561         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
14562         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
14563         * tests/unistr/test-u32-mbtouc.h: New file.
14564
14565         Tests for module 'unistr/u16-mbtouc-unsafe'.
14566         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
14567         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
14568         * tests/unistr/test-u16-mbtouc.h: New file.
14569
14570         Tests for module 'unistr/u8-mbtouc-unsafe'.
14571         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
14572         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
14573         * tests/unistr/test-u8-mbtouc.h: New file.
14574
14575         Tests for module 'unistr/u32-mblen'.
14576         * modules/unistr/u32-mblen-tests: New file.
14577         * tests/unistr/test-u32-mblen.c: New file.
14578
14579         Tests for module 'unistr/u16-mblen'.
14580         * modules/unistr/u16-mblen-tests: New file.
14581         * tests/unistr/test-u16-mblen.c: New file.
14582
14583         Tests for module 'unistr/u8-mblen'.
14584         * modules/unistr/u8-mblen-tests: New file.
14585         * tests/unistr/test-u8-mblen.c: New file.
14586
14587         Tests for module 'unistr/u32-to-u16'.
14588         * modules/unistr/u32-to-u16-tests: New file.
14589         * tests/unistr/test-u32-to-u16.c: New file.
14590
14591         Tests for module 'unistr/u32-to-u8'.
14592         * modules/unistr/u32-to-u8-tests: New file.
14593         * tests/unistr/test-u32-to-u8.c: New file.
14594
14595         Tests for module 'unistr/u16-to-u32'.
14596         * modules/unistr/u16-to-u32-tests: New file.
14597         * tests/unistr/test-u16-to-u32.c: New file.
14598
14599         Tests for module 'unistr/u16-to-u8'.
14600         * modules/unistr/u16-to-u8-tests: New file.
14601         * tests/unistr/test-u16-to-u8.c: New file.
14602
14603         Tests for module 'unistr/u8-to-u32'.
14604         * modules/unistr/u8-to-u32-tests: New file.
14605         * tests/unistr/test-u8-to-u32.c: New file.
14606
14607         Tests for module 'unistr/u8-to-u16'.
14608         * modules/unistr/u8-to-u16-tests: New file.
14609         * tests/unistr/test-u8-to-u16.c: New file.
14610
14611         Tests for module 'unistr/u32-check'.
14612         * modules/unistr/u32-check-tests: New file.
14613         * tests/unistr/test-u32-check.c: New file.
14614
14615         Tests for module 'unistr/u16-check'.
14616         * modules/unistr/u16-check-tests: New file.
14617         * tests/unistr/test-u16-check.c: New file.
14618
14619         Tests for module 'unistr/u8-check'.
14620         * modules/unistr/u8-check-tests: New file.
14621         * tests/unistr/test-u8-check.c: New file.
14622
14623         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
14624         (category_equals): New function.
14625         (main): Add more tests.
14626         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
14627
14628         * tests/unictype/test-bidi_byname.c (main): Add more tests.
14629
14630 2010-01-10  Bruno Haible  <bruno@clisp.org>
14631
14632         unistr/u*-strcoll: Try harder to distinguish different strings.
14633         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
14634         compare s1 and s2 to see if they are different.
14635
14636 2010-01-10  Bruno Haible  <bruno@clisp.org>
14637
14638         unistr/u*-stpncpy: Fix the return value.
14639         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
14640         description of the return value consistent with stpncpy in glibc.
14641         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
14642         written non-NUL unit.
14643
14644 2010-01-10  Bruno Haible  <bruno@clisp.org>
14645
14646         unistr/u*-next: Add missing dependencies.
14647         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
14648         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
14649         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
14650
14651 2010-01-10  Bruno Haible  <bruno@clisp.org>
14652
14653         unistr/u8-mbsnlen: Fix return value for incomplete character.
14654         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
14655         u8_mblen.
14656         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
14657         Remove unistr/u8-mblen.
14658         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
14659         u16_mblen.
14660         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
14661         Remove unistr/u16-mblen.
14662
14663 2010-01-10  Bruno Haible  <bruno@clisp.org>
14664
14665         wchar: Fix compilation error when <wchar.h> is used from coreutils.
14666         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
14667         Reported by Brian Gough <bjg@gnu.org> and
14668         Chris Clayton <chris2553@googlemail.com> via
14669         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
14670
14671 2010-01-09  Bruno Haible  <bruno@clisp.org>
14672
14673         unistr/u16-to-u32: Reject invalid input.
14674         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
14675         u16_mbtouc.
14676         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
14677         Remove unistr/u16-mbtouc.
14678
14679         unistr/u16-to-u8: Reject invalid input.
14680         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
14681         u16_mbtouc.
14682         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
14683         Remove unistr/u16-mbtouc.
14684
14685         unistr/u8-to-u32: Reject invalid input.
14686         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
14687         u8_mbtouc.
14688         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
14689         Remove unistr/u8-mbtouc.
14690
14691         unistr/u8-to-u16: Reject invalid input.
14692         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
14693         u8_mbtouc.
14694         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
14695         Remove unistr/u8-mbtouc.
14696
14697 2010-01-09  Bruno Haible  <bruno@clisp.org>
14698
14699         Tests for module 'getlogin'.
14700         * modules/getlogin-tests: New file.
14701         * tests/test-getlogin.c: New file.
14702
14703         New module 'getlogin'.
14704         * lib/unistd.in.h (getlogin): New declaration.
14705         * lib/getlogin.c: New file.
14706         * m4/getlogin.m4: New file.
14707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
14708         HAVE_GETLOGIN.
14709         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
14710         HAVE_GETLOGIN.
14711         * modules/getlogin: New file.
14712         * doc/posix-functions/getlogin.texi: Mention the new module.
14713         Reported by John W. Eaton <jwe@gnu.org>.
14714
14715 2010-01-09  Bruno Haible  <bruno@clisp.org>
14716
14717         getlogin_r: Support for native Windows.
14718         * lib/getlogin_r.c: Include <windows.h>
14719         (getlogin_r): Implement for native Windows.
14720         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
14721         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
14722         via John W. Eaton <jwe@gnu.org>.
14723
14724 2010-01-09  Bruno Haible  <bruno@clisp.org>
14725
14726         getlogin_r: Small fixes.
14727         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
14728         succeeds.
14729         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
14730         before testing whether getlogin_r is declared. No need to set
14731         HAVE_DECL_GETLOGIN_R to 1.
14732         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
14733
14734 2010-01-09  Bruno Haible  <bruno@clisp.org>
14735
14736         * lib/unistd.in.h (getlogin_r): Add comment.
14737
14738 2010-01-09  Bruno Haible  <bruno@clisp.org>
14739
14740         Tests for module 'getlogin_r'.
14741         * modules/getlogin_r-tests: New file.
14742         * tests/test-getlogin_r.c: New file.
14743
14744 2010-01-09  Jim Meyering  <meyering@redhat.com>
14745
14746         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
14747         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
14748         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
14749
14750 2010-01-08  Simon Josefsson  <simon@josefsson.org>
14751
14752         * lib/dup2.c (rpl_dup2): Improve comment.
14753
14754 2010-01-08  Eric Blake  <ebb9@byu.net>
14755
14756         maint.mk: allow packages to add makefile @@ exceptions
14757         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
14758         (sc_makefile_check): Rename...
14759         (sc_makefile_at_at_check): ...to this, and use hook.
14760
14761         dup2: work around mingw bug
14762         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
14763         Reported by Simon Josefsson.
14764
14765 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
14766
14767         glob: Fix C++ compilation.
14768         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
14769         C++.
14770
14771 2010-01-07  Bruno Haible  <bruno@clisp.org>
14772
14773         Fix indentation of wctype.in.h, broken since 2007-01-06.
14774         * lib/wctype.in.h: Fix indentation of preprocessor directives.
14775
14776 2010-01-07  Bruno Haible  <bruno@clisp.org>
14777
14778         mbslen: Avoid collision with system function.
14779         * lib/string.in.h [MirBSD]: Include <wchar.h>.
14780         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
14781         * m4/mbslen.m4: New file.
14782         * modules/mbslen (Files): Add it.
14783         (configure.ac): Invoke gl_MBSLEN.
14784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
14785         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
14786         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
14787         via Ian Beckwith <ianb@erislabs.net>.
14788
14789 2010-01-07  Bruno Haible  <bruno@clisp.org>
14790
14791         dirent: Document the last fix.
14792         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
14793
14794 2010-01-07  Bruno Haible  <bruno@clisp.org>
14795
14796         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
14797         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
14798         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
14799         va_list are defined.
14800         * doc/posix-headers/stdio.texi: Document the bug of missing types.
14801         Reported by Eric Blake.
14802
14803 2010-01-07  Bruno Haible  <bruno@clisp.org>
14804
14805         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
14806         * modules/xlist (Depends-on): Add 'list',
14807         * modules/xoset (Depends-on): Add 'oset'.
14808         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14809
14810 2010-01-07  Bruno Haible  <bruno@clisp.org>
14811
14812         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
14813         * doc/posix-functions/strncasecmp.texi: Likewise.
14814
14815 2010-01-07  Bruno Haible  <bruno@clisp.org>
14816
14817         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
14818
14819 2010-01-07  John W. Eaton  <jwe@octave.org>
14820
14821         wctype: allow C++ use
14822         * lib/wctype.in.h: Add extern "C" block for C++.
14823
14824 2010-01-06  Eric Blake  <ebb9@byu.net>
14825
14826         maint.mk: detect incorrect GFDL usage
14827         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
14828
14829 2010-01-06  Jim Meyering  <meyering@redhat.com>
14830         and Eric Blake  <ebb9@byu.net>
14831
14832         maint.mk: ignore multi-line copyright in NEWS
14833         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
14834
14835 2010-01-06  Eric Blake  <ebb9@byu.net>
14836
14837         select: add missing dependency
14838         * modules/select-tests (Depends-on): Move sockets dependency...
14839         * modules/select (Depends-on): ...here.
14840         Reported by Ian Beckwith.
14841
14842         doc: regenerate INSTALL
14843         * doc/INSTALL: Reflect recent autoconf update.
14844         * doc/INSTALL.ISO: Likewise.
14845         * doc/INSTALL.UTF-8: Likewise.
14846
14847         pread: fix compilation on glibc
14848         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
14849         Reported by Ralf Wildenhues.
14850
14851         dirent: fix test failure
14852         * lib/dirent.in.h (includes): Guarantee ino_t.
14853         Reported by Ralf Wildenhues.
14854
14855 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
14856
14857         linkat, renameat: avoid bad free
14858         * lib/at-func2.c (at_func2): Fix typo.
14859         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
14860
14861 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14862
14863         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
14864         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
14865         to avoid failure of symlink test later.
14866
14867 2010-01-06  Eric Blake  <ebb9@byu.net>
14868
14869         stdio, unistd: guarantee ssize_t
14870         * lib/unistd.in.h (includes): Ensure that types required by POSIX
14871         2008 are exposed when needed.
14872         * lib/stdio.in.h (includes): Likewise.
14873         Reported by Ralf Wildenhues.
14874
14875 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
14876
14877         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
14878         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
14879         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
14880
14881 2010-01-06  Jim Meyering  <meyering@redhat.com>
14882
14883         readtokens: this module *does* require xalloc.h
14884         It uses only functions that were omitted by the old syntax-check rule.
14885         * lib/readtokens.c: Include "xalloc.h" once again.
14886         * modules/readtokens (Depends-on): Add xalloc.
14887         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
14888
14889 2010-01-05  Eric Blake  <ebb9@byu.net>
14890
14891         maint: support 'make announcement' from a VPATH build
14892         * top/maint.mk (announcement): Look for correct NEWS file.
14893
14894 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
14895
14896         utimens (fdutimens): ignore a negative FD, per contract
14897         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
14898         when we have a valid file descriptor.  Otherwise, using a brand
14899         new glibc (with just-patched futimens that now fails with EBADF)
14900         would cause this function to fail with ENOSYS.
14901         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
14902         See also http://bugzilla.redhat.com/552320.
14903
14904 2010-01-05  Eric Blake  <ebb9@byu.net>
14905
14906         strcase: document what it provides
14907         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
14908         gnulib module.
14909         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
14910         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
14911
14912 2010-01-05  Jim Meyering  <meyering@redhat.com>
14913
14914         maint: remove useless inclusions of "xalloc.h"
14915         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
14916         * lib/readtokens.c: Likewise.
14917         * lib/same.c: Likewise.
14918         * modules/getloadavg (Depends-on): Remove xalloc.
14919         * modules/readtokens: Likewise.
14920         * modules/same: Likewise.
14921
14922         maint.mk: include 4 more function names in alloca.h-checking regexp
14923         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
14924         regexp.  Before, we would give a false-positive (saying alloca.h
14925         is included unnecessarily) when the only uses involved omitted symbols.
14926
14927         xalloc.h: use consistent formatting
14928         * lib/xalloc.h: Move declarations to start in the first column.
14929
14930 2010-01-05  Eric Blake  <ebb9@byu.net>
14931
14932         mkdir: avoid xalloc
14933         * lib/mkdir.c (includes): Drop unused header.
14934         Reported by John W. Eaton.
14935
14936 2010-01-04  Jim Meyering  <meyering@redhat.com>
14937
14938         nl_langinfo: avoid configure-time syntax error
14939         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
14940         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
14941         the empty string.  Don't let that provoke a shell syntax error.
14942
14943         regcomp, regexec, fnmatch: avoid array bounds read error
14944         * lib/regcomp.c (build_equiv_class): From glibc:
14945         Use only the low 24 bits of a findidx return value as an index
14946         into the weights array.  Patch by Ulrich Drepper:
14947         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
14948         * lib/regexec.c (check_node_accept_bytes): Likewise.
14949         * lib/fnmatch_loop.c (FCT): Likewise.
14950
14951         regcomp: skip collseq lookup when there are no rules
14952         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
14953         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
14954
14955         regcomp: recognize ill-formed { } expressions
14956         * lib/regcomp.c (parse_dup_op): From glibc:
14957         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
14958
14959         regcomp: fix typo in comment
14960         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
14961         s/satisfy/satisfies/.
14962
14963         regcomp: sync from glibc: remove dead store
14964         * lib/regcomp.c (duplicate_node_closure): Remove useless
14965         search_duplicated_node call and dead store.
14966
14967         regcomp: sync from glibc; always use nl_langinfo
14968         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
14969         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
14970         * modules/regex (Depends-on): Add nl_langinfo.
14971
14972 2010-01-04  Eric Blake  <ebb9@byu.net>
14973
14974         fdopendir: fix configure test
14975         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
14976
14977 2010-01-01  Bruno Haible  <bruno@clisp.org>
14978
14979         wchar: Remove unused configure check.
14980         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
14981
14982 2010-01-01  Eric Blake  <ebb9@byu.net>
14983
14984         headers: make check of system header explicit
14985         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
14986         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
14987         ourselves.
14988         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14989         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14990         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
14991         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
14992         internals.
14993         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
14994         missing.
14995         Suggested by Bruno Haible.
14996
14997 2010-01-01  Jim Meyering  <meyering@redhat.com>
14998
14999         ChangeLog: tweak to eliminate unnecessary copyright line
15000         * ChangeLog: Remove a copyright line that was mistakenly updated
15001         by today's update-copyright run.  Reported by Eric Blake.
15002
15003         test-update-copyright: don't let envvar setting cause test failure
15004         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
15005
15006 2010-01-01  Bruno Haible  <bruno@clisp.org>
15007
15008         localename: Avoid gcc warning.
15009         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
15010         function if it is not used.
15011
15012 2010-01-01  Jim Meyering  <meyering@redhat.com>
15013
15014         update nearly all FSF copyright year lists to include 2010
15015         Use the same procedure as for 2009, outlined in
15016         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
15017
15018         version-etc: set COPYRIGHT_YEAR to 2010
15019         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
15020
15021 2009-12-31  Eric Blake  <ebb9@byu.net>
15022
15023         doc: correct availability of cygwin 1.5.x getopt
15024         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
15025         variables.
15026         * doc/posix-functions/opterr.texi (opterr): Likewise.
15027         * doc/posix-functions/optind.texi (optind): Likewise.
15028         * doc/posix-functions/optopt.texi (optopt): Likewise.
15029         * doc/posix-functions/tzname.texi (tzname): Likewise.
15030
15031         openat: update maintainer
15032         * modules/openat (Maintainer): Add myself.
15033
15034         utimens: avoid shadowing warning
15035         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
15036         buffers into one, to avoid shadowing, as well as avoiding a
15037         redundant stat.
15038         Reported by Jim Meyering.
15039
15040         test-dup2: avoid compiler warning
15041         * tests/test-dup2.c (is_inheritable): Only define if used.
15042
15043 2010-01-01  Bruno Haible  <bruno@clisp.org>
15044
15045         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
15046         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
15047         defined, use wctomb instead of wcrtomb.
15048
15049 2010-01-01  Bruno Haible  <bruno@clisp.org>
15050
15051         iconv: Reject native Solaris iconv.
15052         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
15053         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
15054
15055 2009-12-31  Bruno Haible  <bruno@clisp.org>
15056
15057         * tests/test-signal.c (main): Remove test of 'SIG'.
15058
15059 2009-12-31  Bruno Haible  <bruno@clisp.org>
15060
15061         spawn: Fix incomplete fix.
15062         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
15063         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
15064         warnings for GNULIB_POSIXCHECK again.
15065         Reported by Eric Blake.
15066
15067 2009-12-31  Bruno Haible  <bruno@clisp.org>
15068
15069         Avoid namespace pollution on glibc systems.
15070         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
15071         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
15072         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
15073         glibc systems.
15074
15075 2009-12-31  Bruno Haible  <bruno@clisp.org>
15076
15077         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
15078         (gl_REPLACE_WCHAR_H): Turn into a no-op.
15079         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
15080         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15081         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15082         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15083         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15084
15085 2009-12-31  Bruno Haible  <bruno@clisp.org>
15086
15087         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15088         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
15089         afterwards.
15090
15091 2009-12-31  Bruno Haible  <bruno@clisp.org>
15092
15093         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
15094         SYS_UTSNAME_H.
15095
15096 2009-12-31  Bruno Haible  <bruno@clisp.org>
15097
15098         spawn: Fix misapplied patch.
15099         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
15100         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
15101         warnings for GNULIB_POSIXCHECK.
15102
15103 2009-12-31  Bruno Haible  <bruno@clisp.org>
15104
15105         times: Update after sys_times changed.
15106         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
15107         * modules/times (Files): Add it.
15108         (configure.ac): Invoke gl_FUNC_TIMES.
15109
15110 2009-12-31  Bruno Haible  <bruno@clisp.org>
15111
15112         Use AC_C_INLINE where necessary.
15113         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
15114         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15115         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
15116         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
15117         * m4/mbfile.m4 (gl_MBFILE): Likewise.
15118         * m4/mbiter.m4 (gl_MBITER): Likewise.
15119         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
15120         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15121         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
15122         * modules/u64 (configure.ac): Likewise.
15123
15124 2009-12-31  Bruno Haible  <bruno@clisp.org>
15125
15126         Use AC_C_INLINE instead of module 'inline' where possible.
15127         * modules/inline (Description): Clarify purpose.
15128         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
15129         * modules/count-one-bits (Depends-on): Remove inline.
15130         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
15131         * modules/openat (Depends-on): Remove inline.
15132         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
15133         instead of depending on module 'inline'.
15134         * modules/filevercmp (Depends-on, configure.ac): Likewise.
15135         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
15136         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
15137         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
15138         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
15139         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
15140         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
15141         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
15142         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
15143         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
15144         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
15145         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
15146         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
15147         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
15148         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
15149         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
15150         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
15151         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
15152         Likewise.
15153         * modules/unictype/property-ascii-hex-digit (Depends-on,
15154         configure.ac): Likewise.
15155         * modules/unictype/property-bidi-arabic-digit (Depends-on,
15156         configure.ac): Likewise.
15157         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
15158         configure.ac): Likewise.
15159         * modules/unictype/property-bidi-block-separator (Depends-on,
15160         configure.ac): Likewise.
15161         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
15162         configure.ac): Likewise.
15163         * modules/unictype/property-bidi-common-separator (Depends-on,
15164         configure.ac): Likewise.
15165         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
15166         Likewise.
15167         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
15168         configure.ac): Likewise.
15169         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
15170         configure.ac): Likewise.
15171         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
15172         configure.ac): Likewise.
15173         * modules/unictype/property-bidi-european-digit (Depends-on,
15174         configure.ac): Likewise.
15175         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
15176         configure.ac): Likewise.
15177         * modules/unictype/property-bidi-left-to-right (Depends-on,
15178         configure.ac): Likewise.
15179         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
15180         configure.ac): Likewise.
15181         * modules/unictype/property-bidi-other-neutral (Depends-on,
15182         configure.ac): Likewise.
15183         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
15184         Likewise.
15185         * modules/unictype/property-bidi-segment-separator (Depends-on,
15186         configure.ac): Likewise.
15187         * modules/unictype/property-bidi-whitespace (Depends-on,
15188         configure.ac): Likewise.
15189         * modules/unictype/property-combining (Depends-on, configure.ac):
15190         Likewise.
15191         * modules/unictype/property-composite (Depends-on, configure.ac):
15192         Likewise.
15193         * modules/unictype/property-currency-symbol (Depends-on,
15194         configure.ac): Likewise.
15195         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
15196         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
15197         Likewise.
15198         * modules/unictype/property-default-ignorable-code-point (Depends-on,
15199         configure.ac): Likewise.
15200         * modules/unictype/property-deprecated (Depends-on, configure.ac):
15201         Likewise.
15202         * modules/unictype/property-diacritic (Depends-on, configure.ac):
15203         Likewise.
15204         * modules/unictype/property-extender (Depends-on, configure.ac):
15205         Likewise.
15206         * modules/unictype/property-format-control (Depends-on, configure.ac):
15207         Likewise.
15208         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
15209         Likewise.
15210         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
15211         Likewise.
15212         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
15213         Likewise.
15214         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
15215         Likewise.
15216         * modules/unictype/property-hyphen (Depends-on, configure.ac):
15217         Likewise.
15218         * modules/unictype/property-id-continue (Depends-on, configure.ac):
15219         Likewise.
15220         * modules/unictype/property-id-start (Depends-on, configure.ac):
15221         Likewise.
15222         * modules/unictype/property-ideographic (Depends-on, configure.ac):
15223         Likewise.
15224         * modules/unictype/property-ids-binary-operator (Depends-on,
15225         configure.ac): Likewise.
15226         * modules/unictype/property-ids-trinary-operator (Depends-on,
15227         configure.ac): Likewise.
15228         * modules/unictype/property-ignorable-control (Depends-on,
15229         configure.ac): Likewise.
15230         * modules/unictype/property-iso-control (Depends-on, configure.ac):
15231         Likewise.
15232         * modules/unictype/property-join-control (Depends-on, configure.ac):
15233         Likewise.
15234         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
15235         Likewise.
15236         * modules/unictype/property-line-separator (Depends-on, configure.ac):
15237         Likewise.
15238         * modules/unictype/property-logical-order-exception (Depends-on,
15239         configure.ac): Likewise.
15240         * modules/unictype/property-lowercase (Depends-on, configure.ac):
15241         Likewise.
15242         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
15243         * modules/unictype/property-non-break (Depends-on, configure.ac):
15244         Likewise.
15245         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
15246         Likewise.
15247         * modules/unictype/property-numeric (Depends-on, configure.ac):
15248         Likewise.
15249         * modules/unictype/property-other-alphabetic (Depends-on,
15250         configure.ac): Likewise.
15251         * modules/unictype/property-other-default-ignorable-code-point
15252         (Depends-on, configure.ac): Likewise.
15253         * modules/unictype/property-other-grapheme-extend (Depends-on,
15254         configure.ac): Likewise.
15255         * modules/unictype/property-other-id-continue (Depends-on,
15256         configure.ac): Likewise.
15257         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
15258         Likewise.
15259         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
15260         Likewise.
15261         * modules/unictype/property-other-math (Depends-on, configure.ac):
15262         Likewise.
15263         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
15264         Likewise.
15265         * modules/unictype/property-paired-punctuation (Depends-on,
15266         configure.ac): Likewise.
15267         * modules/unictype/property-paragraph-separator (Depends-on,
15268         configure.ac): Likewise.
15269         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
15270         Likewise.
15271         * modules/unictype/property-pattern-white-space (Depends-on,
15272         configure.ac): Likewise.
15273         * modules/unictype/property-private-use (Depends-on, configure.ac):
15274         Likewise.
15275         * modules/unictype/property-punctuation (Depends-on, configure.ac):
15276         Likewise.
15277         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
15278         Likewise.
15279         * modules/unictype/property-radical (Depends-on, configure.ac):
15280         Likewise.
15281         * modules/unictype/property-sentence-terminal (Depends-on,
15282         configure.ac): Likewise.
15283         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
15284         Likewise.
15285         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
15286         * modules/unictype/property-terminal-punctuation (Depends-on,
15287         configure.ac): Likewise.
15288         * modules/unictype/property-titlecase (Depends-on, configure.ac):
15289         Likewise.
15290         * modules/unictype/property-unassigned-code-value (Depends-on,
15291         configure.ac): Likewise.
15292         * modules/unictype/property-unified-ideograph (Depends-on,
15293         configure.ac): Likewise.
15294         * modules/unictype/property-uppercase (Depends-on, configure.ac):
15295         Likewise.
15296         * modules/unictype/property-variation-selector (Depends-on,
15297         configure.ac): Likewise.
15298         * modules/unictype/property-white-space (Depends-on, configure.ac):
15299         Likewise.
15300         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
15301         Likewise.
15302         * modules/unictype/property-xid-start (Depends-on, configure.ac):
15303         Likewise.
15304         * modules/unictype/property-zero-width (Depends-on, configure.ac):
15305         Likewise.
15306         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
15307         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
15308         Likewise.
15309
15310 2009-12-31  Bruno Haible  <bruno@clisp.org>
15311
15312         Remove unnecessary AC_C_INLINE invocation.
15313         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
15314         since 2009-08-21.
15315
15316 2009-12-31  Jim Meyering  <meyering@redhat.com>
15317
15318         maint.mk: don't require explicit gpg_key_ID in cfg.mk
15319         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
15320         With this change, we can all remove the gpg_key_ID = ... definition
15321         from our respective cfg.mk files.
15322
15323         maint.mk: create announcement template in ~/, not in /tmp
15324         * top/maint.mk (emit_upload_commands): Adjust.
15325         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
15326         Remove temporary file, .ci-msg.
15327
15328 2009-12-31  Eric Blake  <ebb9@byu.net>
15329
15330         link-warning: always build headers with link warnings
15331         * modules/arpa_inet (Makefile.am): Always build replacement
15332         header.
15333         * modules/ctype (Makefile.am): Likewise.
15334         * modules/dirent (Makefile.am): Likewise.
15335         * modules/inttypes (Makefile.am): Likewise.
15336         * modules/langinfo (Makefile.am): Likewise.
15337         * modules/locale (Makefile.am): Likewise.
15338         * modules/spawn (Makefile.am): Likewise.
15339         * modules/sys_file (Makefile.am): Likewise.
15340         * modules/sys_ioctl (Makefile.am): Likewise.
15341         * modules/sys_select (Makefile.am): Likewise.
15342         * modules/sys_socket (Makefile.am): Likewise.
15343         * modules/sys_times (Makefile.am): Likewise.
15344         * modules/sys_utsname (Makefile.am): Likewise.
15345         * modules/sys_wait (Makefile.am): Likewise.
15346         * modules/wchar (Makefile.am): Likewise.
15347         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
15348         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
15349         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
15350         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
15351         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
15352         Likewise.
15353         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15354         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15355         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
15356         Likewise.
15357         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
15358         Likewise.
15359         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
15360         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
15361         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
15362         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15363         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15364         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
15365         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
15366         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
15367         (gl_WCHAR_H_DEFAULTS): Likewise.
15368
15369 2009-12-31  Eric Blake  <ebb9@byu.net>
15370
15371         signal, spawn: use link warnings
15372         * lib/signal.in.h (sigset_t): Make unconditional.
15373         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
15374         (sigpending, sigprocmask, sigaction): Add link warnings.
15375         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
15376         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
15377         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
15378         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
15379         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
15380         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
15381         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
15382         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
15383         (posix_spawn_file_actions_destroy)
15384         (posix_spawn_file_actions_addopen)
15385         (posix_spawn_file_actions_addclose)
15386         (posix_spawn_file_actions_adddup2): Likewise.
15387         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
15388         * tests/test-signal.c (main): Enhance test.
15389
15390         spawn: improve wrapper support
15391         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
15392         (gl_SPAWN_H_DEFAULTS): New defaults.
15393         * modules/spawn (Makefile.am): Substitute them.
15394         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
15395         Only declare if missing or broken.
15396
15397         sys_times, sys_utsname: use include_next
15398         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
15399         header.
15400         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
15401         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
15402         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
15403         * modules/sys_times (Depends-on): Add include_next.
15404         (Makefile.am): Substitute additional values.
15405         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15406         * lib/sys_times.in.h (includes): Include native header, if
15407         available.
15408         * lib/sys_utsname.in.h (includes): Likewise.
15409         * tests/test-sys_times.c (main): Enhance test.
15410
15411         fdutimensat: revert prior patch
15412         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
15413         utimens.h.
15414         Reported by Bruno Haible.
15415
15416 2009-12-30  Eric Blake  <ebb9@byu.net>
15417
15418         sys_wait: drop link-warning dependency
15419         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
15420         link-warning efforts.
15421         * lib/sys_wait.in.h: Likewise.
15422
15423         fdutimensat: remove bogus dependency
15424         * modules/fdutimensat (Depends-on): Drop inline.
15425
15426         unistd: fix typo
15427         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
15428
15429 2009-12-30  Bruno Haible  <bruno@clisp.org>
15430
15431         Fix compilation error with Solaris cc.
15432         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
15433         * lib/unicase/u16-is-invariant.c: Likewise.
15434         * lib/unicase/u32-is-invariant.c: Likewise.
15435         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
15436
15437 2009-12-30  Bruno Haible  <bruno@clisp.org>
15438
15439         Fix test crash.
15440         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
15441         locales.
15442         Reported by Simon Josefsson <simon@josefsson.org>.
15443
15444 2009-12-30  Bruno Haible  <bruno@clisp.org>
15445
15446         Fix compilation error on most platforms.
15447         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
15448         Reported by Simon Josefsson <simon@josefsson.org>
15449         and Nelson H. F. Beebe <beebe@math.utah.edu>.
15450
15451 2009-12-30  Eric Blake  <ebb9@byu.net>
15452
15453         futimens, utimensat: work around ntfs-3g bug
15454         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
15455         a ctime bug is present, and expand workaround to cover ntfs-3g.
15456         * lib/utimens.c (fdutimens, lutimens): Likewise.
15457         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
15458         (validate_timespec): Adjust return value.
15459         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
15460         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15461         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
15462
15463 2009-12-29  Eric Blake  <ebb9@byu.net>
15464
15465         link-warning: make usage consistent
15466         * modules/ctype (Depends-on): Add link-warning.
15467         (Makefile.am): Update rules accordingly.
15468         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15469         * modules/locale (Depends-on, Makefile.am): Likewise.
15470         * modules/sys_file (Makefile.am): Likewise.
15471         * modules/getopt-posix (Makefile.am): Delete unused link warning
15472         efforts.
15473         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
15474         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
15475         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
15476         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
15477
15478         stdio: remove unused variables
15479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
15480         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
15481         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15482
15483         tests: test more substitute headers
15484         * modules/ctype-tests: New file.
15485         * modules/dirent-tests: Likewise.
15486         * modules/spawn-tests: Likewise.
15487         * modules/sys_file-tests: Likewise.
15488         * modules/sys_ioctl-tests: Likewise.
15489         * modules/sys_wait-tests: Likewise.
15490         * tests/test-ctype.c: Likewise.
15491         * tests/test-dirent.c: Likewise.
15492         * tests/test-spawn.c: Likewise.
15493         * tests/test-sys_file.c: Likewise.
15494         * tests/test-sys_ioctl.c: Likewise.
15495         * tests/test-sys_wait.c: Likewise.
15496         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
15497         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
15498         whether or not flock is in use.
15499
15500         tests: remove License section from module
15501         * modules/arpa_inet-tests: Remove unneeded section.
15502         * modules/byteswap-tests: Likewise.
15503         * modules/ceilf-tests: Likewise.
15504         * modules/ceill-tests: Likewise.
15505         * modules/crypto/des-tests: Likewise.
15506         * modules/crypto/gc-arcfour-tests: Likewise.
15507         * modules/crypto/gc-arctwo-tests: Likewise.
15508         * modules/crypto/gc-des-tests: Likewise.
15509         * modules/crypto/gc-hmac-md5-tests: Likewise.
15510         * modules/crypto/gc-hmac-sha1-tests: Likewise.
15511         * modules/crypto/gc-md2-tests: Likewise.
15512         * modules/crypto/gc-md4-tests: Likewise.
15513         * modules/crypto/gc-md5-tests: Likewise.
15514         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
15515         * modules/crypto/gc-rijndael-tests: Likewise.
15516         * modules/crypto/gc-sha1-tests: Likewise.
15517         * modules/crypto/gc-tests: Likewise.
15518         * modules/crypto/md2-tests: Likewise.
15519         * modules/crypto/md4-tests: Likewise.
15520         * modules/fcntl-h-tests: Likewise.
15521         * modules/floorf-tests: Likewise.
15522         * modules/floorl-tests: Likewise.
15523         * modules/frexp-nolibm-tests: Likewise.
15524         * modules/frexp-tests: Likewise.
15525         * modules/frexpl-nolibm-tests: Likewise.
15526         * modules/frexpl-tests: Likewise.
15527         * modules/getaddrinfo-tests: Likewise.
15528         * modules/inttypes-tests: Likewise.
15529         * modules/isfinite-tests: Likewise.
15530         * modules/isinf-tests: Likewise.
15531         * modules/ldexpl-tests: Likewise.
15532         * modules/locale-tests: Likewise.
15533         * modules/math-tests: Likewise.
15534         * modules/netdb-tests: Likewise.
15535         * modules/netinet_in-tests: Likewise.
15536         * modules/printf-frexp-tests: Likewise.
15537         * modules/printf-frexpl-tests: Likewise.
15538         * modules/priv-set-tests: Likewise.
15539         * modules/random_r-tests: Likewise.
15540         * modules/round-tests: Likewise.
15541         * modules/roundf-tests: Likewise.
15542         * modules/roundl-tests: Likewise.
15543         * modules/search-tests: Likewise.
15544         * modules/select-tests: Likewise.
15545         * modules/signal-tests: Likewise.
15546         * modules/stdbool-tests: Likewise.
15547         * modules/stddef-tests: Likewise.
15548         * modules/stdint-tests: Likewise.
15549         * modules/stdio-tests: Likewise.
15550         * modules/stdlib-tests: Likewise.
15551         * modules/string-tests: Likewise.
15552         * modules/strings-tests: Likewise.
15553         * modules/sys_select-tests: Likewise.
15554         * modules/sys_socket-tests: Likewise.
15555         * modules/sys_stat-tests: Likewise.
15556         * modules/sys_time-tests: Likewise.
15557         * modules/sys_utsname-tests: Likewise.
15558         * modules/sysexits-tests: Likewise.
15559         * modules/time-tests: Likewise.
15560         * modules/trunc-tests: Likewise.
15561         * modules/truncf-tests: Likewise.
15562         * modules/truncl-tests: Likewise.
15563         * modules/tsearch-tests: Likewise.
15564         * modules/unistd-tests: Likewise.
15565         * modules/wchar-tests: Likewise.
15566         * modules/wctype-tests: Likewise.
15567
15568         tests: fix license on several tests
15569         * tests/test-des.c: Update to GPLv3+.
15570         * tests/test-flock.c: Likewise.
15571         * tests/test-fsync.c: Likewise.
15572         * tests/test-futimens.h: Likewise.
15573         * tests/test-gc-arcfour.c: Likewise.
15574         * tests/test-gc-arctwo.c: Likewise.
15575         * tests/test-gc-des.c: Likewise.
15576         * tests/test-gc-hmac-md5.c: Likewise.
15577         * tests/test-gc-hmac-sha1.c: Likewise.
15578         * tests/test-gc-md2.c: Likewise.
15579         * tests/test-gc-md4.c: Likewise.
15580         * tests/test-gc-md5.c: Likewise.
15581         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15582         * tests/test-gc-rijndael.c: Likewise.
15583         * tests/test-gc-sha1.c: Likewise.
15584         * tests/test-gc.c: Likewise.
15585         * tests/test-getcwd.c: Likewise.
15586         * tests/test-link.c: Likewise.
15587         * tests/test-link.h: Likewise.
15588         * tests/test-lutimens.h: Likewise.
15589         * tests/test-md2.c: Likewise.
15590         * tests/test-md4.c: Likewise.
15591         * tests/test-mkdir.h: Likewise.
15592         * tests/test-rename.c: Likewise.
15593         * tests/test-rename.h: Likewise.
15594         * tests/test-safe-alloc.c: Likewise.
15595         * tests/test-utimens-common.h: Likewise.
15596         * tests/test-utimens.h: Likewise.
15597
15598         maint: sync license texts
15599         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
15600         * doc/gpl-3.0.texi: Revert copyright year update.
15601         * doc/lgpl-3.0.texi: Likewise.
15602
15603 2009-12-29  Jim Meyering  <meyering@redhat.com>
15604
15605         update nearly all FSF copyright year lists to include 2009
15606         The files named by the following are exempted:
15607             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
15608               test -f "$dst" && { echo "$dst"; continue; }
15609               test -d "$dst" || continue
15610               echo "$dst"/$(basename "$src")
15611             done > exempt
15612             git ls-files tests/unictype >> exempt
15613         In the remaining files, convert to all-interval notation if
15614         - there is already at least one year interval like 2000-2003
15615         - the file is maintained by me
15616         - the file is in lib/uni*/, where that style already prevails
15617         Otherwise, use update-copyright's default.
15618
15619 2009-12-29  Simon Josefsson  <simon@josefsson.org>
15620         and Eric Blake  <ebb9@byu.net>
15621
15622         tests: don't require debug system() to pass
15623         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
15624         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15625         * tests/test-unlink.h (test_unlink_func): Likewise.
15626         * tests/test-fstatat.c (main): ...into callers.
15627         * tests/test-lstat.c (main): Likewise.
15628         * tests/test-rmdir.c (main): Likewise.
15629         * tests/test-unlink.c (main): Likewise.
15630         * tests/test-unlinkat.c (main): Likewise.
15631         * tests/test-areadlink-with-size.c (main): Don't require a
15632         debug-only system call to pass, aiding cross-testing to mingw.
15633         * tests/test-areadlink.c (main): Likewise.
15634         * tests/test-areadlinkat-with-size.c (main): Likewise.
15635         * tests/test-areadlinkat.c (main): Likewise.
15636         * tests/test-canonicalize-lgpl.c (main): Likewise.
15637         * tests/test-canonicalize.c (main): Likewise.
15638         * tests/test-chown.c (main): Likewise.
15639         * tests/test-fchownat.c (main): Likewise.
15640         * tests/test-lchown.c (main): Likewise.
15641         * tests/test-fdutimensat.c (main): Likewise.
15642         * tests/test-futimens.c (main): Likewise.
15643         * tests/test-link.c (main): Likewise.
15644         * tests/test-linkat.c (main): Likewise.
15645         * tests/test-mkdir.c (main): Likewise.
15646         * tests/test-mkdirat.c (main): Likewise.
15647         * tests/test-mkfifo.c (main): Likewise.
15648         * tests/test-mkfifoat.c (main): Likewise.
15649         * tests/test-mknod.c (main): Likewise.
15650         * tests/test-readlink.c (main): Likewise.
15651         * tests/test-remove.c (main): Likewise.
15652         * tests/test-rename.c (main): Likewise.
15653         * tests/test-renameat.c (main): Likewise.
15654         * tests/test-symlink.c (main): Likewise.
15655         * tests/test-symlinkat.c (main): Likewise.
15656         * tests/test-utimens.c (main): Likewise.
15657         * tests/test-utimensat.c (main): Likewise.
15658
15659 2009-12-29  Simon Josefsson  <simon@josefsson.org>
15660
15661         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
15662         on $(UNUSED_PARAMETER_H) to avoid build failure.
15663
15664 2009-12-28  Jim Meyering  <meyering@redhat.com>
15665
15666         update-copyright: you may specify a max. line length other than 72
15667         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
15668
15669         maint: use consistent FSF copyright line syntax
15670         * lib/posixtm.c: Add missing comma in FSF copyright line.
15671         * lib/posixtm.h: Likewise.
15672         * lib/getugroups.c: Add missing ", Inc.".
15673
15674         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
15675         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
15676         FSF copyright line.  Remove trailing blanks.
15677
15678 2009-12-28  Eric Blake  <ebb9@byu.net>
15679
15680         test-dup2: reduce dependencies
15681         * modules/cloexec (Configure.ac): Set witness.
15682         * modules/dup2-tests (Depends-on): Drop cloexec.
15683         * tests/test-dup2.c (main): Skip portion of test if cloexec module
15684         not present.
15685         Suggested by Bruno Haible.
15686
15687 2009-12-26  Bruno Haible  <bruno@clisp.org>
15688
15689         Remove an unneeded dependency.
15690         * modules/fseterr (Depends-on): Remove dup2.
15691
15692 2009-12-26  Eric Blake  <ebb9@byu.net>
15693
15694         tests: use macros.h in more places
15695         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
15696         (ASSERT_STREAM): Provide default of stderr.
15697         * tests/test-dirent-safer.c: Include macros.h, using alternate
15698         stream for assertions.
15699         * tests/test-dup-safer.c: Likewise.
15700         * tests/test-freopen-safer.c: Likewise.
15701         * tests/test-getopt.c: Likewise.
15702         * tests/test-openat-safer.c: Likewise.
15703         * tests/test-pipe.c: Likewise.
15704         * tests/test-popen-safer.c: Likewise.
15705         * modules/dirent-safer-tests (Files): Include macros.h.
15706         * modules/unistd-safer-tests (Files): Likewise.
15707         * modules/freopen-safer-tests (Files): Likewise.
15708         * modules/getopt-posix-tests (Files): Likewise.
15709         * modules/openat-safer-tests (Files): Likewise.
15710         * modules/pipe-tests (Files): Likewise.
15711
15712 2009-12-26  Bruno Haible  <bruno@clisp.org>
15713
15714         javacomp: Portability fix.
15715         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
15716         that it also works on Solaris.
15717
15718 2009-12-26  Bruno Haible  <bruno@clisp.org>
15719
15720         localename: Fix storage allocation of gl_locale_name_thread's result.
15721         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
15722         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
15723         all platforms that have 'uselocale'.
15724         (gl_locale_name_thread_unsafe): New function, extracted from
15725         gl_locale_name_thread.
15726         (gl_locale_name_thread): Call struniq on all platforms that have
15727         'uselocale'.
15728         * tests/test-localename.c (test_locale_name_thread): Check that the
15729         resulting strings are permanently allocated.
15730         * modules/localename-tests (Depends-on): Add strdup.
15731
15732 2009-12-26  Bruno Haible  <bruno@clisp.org>
15733
15734         * tests/test-localename.c (categories): Fill in the strings.
15735
15736 2009-12-26  Jim Meyering  <meyering@redhat.com>
15737
15738         isdir: complete the removal of m4/isdir.m4
15739         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
15740
15741         isdir: clean up, since at least grep still uses it
15742         * lib/isdir.c: Include "isdir.h".
15743         (S_ISDIR): Remove now-unneeded definition.
15744         * modules/isdir (Files): Add lib/isdir.h.
15745         * lib/isdir.h: New file, with declaration.
15746         * m4/isdir.m4: Remove file -- unneeded.
15747
15748 2009-12-25  Bruno Haible  <bruno@clisp.org>
15749
15750         selinux-h: Make generated .h files standalone.
15751         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
15752         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
15753         * lib/se-selinux.in.h: Likewise.
15754         * modules/selinux-h (Depends-on): Add unused-parameter.
15755         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
15756         selinux/selinux.h and selinux/context.h.
15757         Suggested by Eric Blake.
15758
15759 2009-12-25  Bruno Haible  <bruno@clisp.org>
15760
15761         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
15762         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
15763         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
15764         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
15765         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
15766
15767 2009-12-24  Bruno Haible  <bruno@clisp.org>
15768
15769         openat: Fix warning.
15770         * lib/openat-proc.c: Include <unistd.h>.
15771
15772 2009-12-24  Bruno Haible  <bruno@clisp.org>
15773
15774         New module 'unused-parameter'.
15775         * build-aux/unused-parameter.h: New file, extracted from earlier
15776         gnulib-common.m4.
15777         * modules/unused-parameter: New file.
15778         * lib/unistr.h: Include unused-parameter.h.
15779         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
15780         _GL_UNUSED.
15781         * modules/unistr/base (Depends-on): Add unused-parameter.
15782
15783 2009-12-24  Bruno Haible  <bruno@clisp.org>
15784
15785         Add missing dependencies to 'extensions' module.
15786         * m4/extensions.m4: Add comment.
15787         * modules/accept4 (Depends-on): Add extensions.
15788         * modules/dup3 (Depends-on): Likewise.
15789         * modules/fcntl (Depends-on): Likewise.
15790         * modules/futimens (Depends-on): Likewise.
15791         * modules/mknod (Depends-on): Likewise.
15792         * modules/pipe2 (Depends-on): Likewise.
15793         * modules/stat-time (Depends-on): Likewise.
15794         * modules/strcasestr-simple (Depends-on): Likewise.
15795         * modules/strsignal (Depends-on): Likewise.
15796         * modules/utimensat (Depends-on): Likewise.
15797         * modules/localcharset (Depends-on): Likewise. Needed because of
15798         gl_FCNTL_O_FLAGS.
15799         * modules/wcrtomb (Depends-on): Likewise. Needed because of
15800         AC_TYPE_MBSTATE_T.
15801         * modules/wcsnrtombs (Depends-on): Likewise.
15802         * modules/wcsrtombs (Depends-on): Likewise.
15803
15804 2009-12-24  Bruno Haible  <bruno@clisp.org>
15805
15806         binary-io: Avoid gcc warning due to SET_BINARY.
15807         * lib/binary-io.h (SET_BINARY): Cast the result to void.
15808         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
15809
15810 2009-12-24  Bruno Haible  <bruno@clisp.org>
15811
15812         Avoid future namespace pollution on glibc systems.
15813         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
15814         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
15815         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
15816         glibc systems.
15817
15818 2009-12-24  Bruno Haible  <bruno@clisp.org>
15819
15820         Refactor common macros used in tests.
15821         * tests/macros.h: New file.
15822         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
15823         and/or <stdlib.h>, if appropriate.
15824         (ASSERT, SIZEOF): Remove macros.
15825         * tests/test-areadlink-with-size.c: Likewise.
15826         * tests/test-areadlinkat.c: Likewise.
15827         * tests/test-areadlinkat-with-size.c: Likewise.
15828         * tests/test-argmatch.c: Likewise.
15829         * tests/test-argv-iter.c: Likewise.
15830         * tests/test-array-mergesort.c: Likewise.
15831         * tests/test-array_list.c: Likewise.
15832         * tests/test-array_oset.c: Likewise.
15833         * tests/test-avltree_list.c: Likewise.
15834         * tests/test-avltree_oset.c: Likewise.
15835         * tests/test-avltreehash_list.c: Likewise.
15836         * tests/test-base64.c: Likewise.
15837         * tests/test-binary-io.c: Likewise.
15838         * tests/test-bitrotate.c: Likewise.
15839         * tests/test-btowc.c: Likewise.
15840         * tests/test-byteswap.c: Likewise.
15841         * tests/test-c-ctype.c: Likewise.
15842         * tests/test-c-stack.c: Likewise.
15843         * tests/test-c-strcasecmp.c: Likewise.
15844         * tests/test-c-strcasestr.c: Likewise.
15845         * tests/test-c-strncasecmp.c: Likewise.
15846         * tests/test-c-strstr.c: Likewise.
15847         * tests/test-canonicalize-lgpl.c: Likewise.
15848         * tests/test-canonicalize.c: Likewise.
15849         * tests/test-carray_list.c: Likewise.
15850         * tests/test-ceilf1.c: Likewise.
15851         * tests/test-ceilf2.c: Likewise.
15852         * tests/test-ceill.c: Likewise.
15853         * tests/test-chown.c: Likewise.
15854         * tests/test-cloexec.c: Likewise.
15855         * tests/test-copy-acl.c: Likewise.
15856         * tests/test-copy-file.c: Likewise.
15857         * tests/test-count-one-bits.c: Likewise.
15858         * tests/test-dprintf-posix.c: Likewise.
15859         * tests/test-dup2.c: Likewise.
15860         * tests/test-dup3.c: Likewise.
15861         * tests/test-duplocale.c: Likewise.
15862         * tests/test-fbufmode.c: Likewise.
15863         * tests/test-fchdir.c: Likewise.
15864         * tests/test-fchownat.c: Likewise.
15865         * tests/test-fcntl-safer.c: Likewise.
15866         * tests/test-fcntl.c: Likewise.
15867         * tests/test-fdopendir.c: Likewise.
15868         * tests/test-fdutimensat.c: Likewise.
15869         * tests/test-fflush2.c: Likewise.
15870         * tests/test-file-has-acl.c: Likewise.
15871         * tests/test-filevercmp.c: Likewise.
15872         * tests/test-flock.c: Likewise.
15873         * tests/test-floorf1.c: Likewise.
15874         * tests/test-floorf2.c: Likewise.
15875         * tests/test-floorl.c: Likewise.
15876         * tests/test-fnmatch.c: Likewise.
15877         * tests/test-fopen.h: Likewise.
15878         * tests/test-fpending.c: Likewise.
15879         * tests/test-fprintf-posix.c: Likewise.
15880         * tests/test-fpurge.c: Likewise.
15881         * tests/test-freadable.c: Likewise.
15882         * tests/test-freadahead.c: Likewise.
15883         * tests/test-freading.c: Likewise.
15884         * tests/test-freadptr.c: Likewise.
15885         * tests/test-freadptr2.c: Likewise.
15886         * tests/test-freadseek.c: Likewise.
15887         * tests/test-freopen.c: Likewise.
15888         * tests/test-frexp.c: Likewise.
15889         * tests/test-frexpl.c: Likewise.
15890         * tests/test-fseek.c: Likewise.
15891         * tests/test-fseeko.c: Likewise.
15892         * tests/test-fstatat.c: Likewise.
15893         * tests/test-fstrcmp.c: Likewise.
15894         * tests/test-fsync.c: Likewise.
15895         * tests/test-ftell.c: Likewise.
15896         * tests/test-ftello.c: Likewise.
15897         * tests/test-func.c: Likewise.
15898         * tests/test-futimens.c: Likewise.
15899         * tests/test-fwritable.c: Likewise.
15900         * tests/test-fwriting.c: Likewise.
15901         * tests/test-getcwd.c: Likewise.
15902         * tests/test-getdate.c: Likewise.
15903         * tests/test-getdelim.c: Likewise.
15904         * tests/test-getdtablesize.c: Likewise.
15905         * tests/test-getgroups.c: Likewise.
15906         * tests/test-getline.c: Likewise.
15907         * tests/test-getndelim2.c: Likewise.
15908         * tests/test-glob.c: Likewise.
15909         * tests/test-hash.c: Likewise.
15910         * tests/test-i-ring.c: Likewise.
15911         * tests/test-iconv-utf.c: Likewise.
15912         * tests/test-iconv.c: Likewise.
15913         * tests/test-idpriv-drop.c: Likewise.
15914         * tests/test-idpriv-droptemp.c: Likewise.
15915         * tests/test-inet_ntop.c: Likewise.
15916         * tests/test-inet_pton.c: Likewise.
15917         * tests/test-isblank.c: Likewise.
15918         * tests/test-isfinite.c: Likewise.
15919         * tests/test-isinf.c: Likewise.
15920         * tests/test-isnan.c: Likewise.
15921         * tests/test-isnand.h: Likewise.
15922         * tests/test-isnanf.h: Likewise.
15923         * tests/test-isnanl.h: Likewise.
15924         * tests/test-lchown.c: Likewise.
15925         * tests/test-ldexpl.c: Likewise.
15926         * tests/test-link.c: Likewise.
15927         * tests/test-linkat.c: Likewise.
15928         * tests/test-linked_list.c: Likewise.
15929         * tests/test-linkedhash_list.c: Likewise.
15930         * tests/test-localename.c: Likewise.
15931         * tests/test-lseek.c: Likewise.
15932         * tests/test-lstat.c: Likewise.
15933         * tests/test-mbmemcasecmp.c: Likewise.
15934         * tests/test-mbmemcasecoll.c: Likewise.
15935         * tests/test-mbrtowc.c: Likewise.
15936         * tests/test-mbscasecmp.c: Likewise.
15937         * tests/test-mbscasestr1.c: Likewise.
15938         * tests/test-mbscasestr2.c: Likewise.
15939         * tests/test-mbscasestr3.c: Likewise.
15940         * tests/test-mbscasestr4.c: Likewise.
15941         * tests/test-mbschr.c: Likewise.
15942         * tests/test-mbscspn.c: Likewise.
15943         * tests/test-mbsinit.c: Likewise.
15944         * tests/test-mbsncasecmp.c: Likewise.
15945         * tests/test-mbsnrtowcs.c: Likewise.
15946         * tests/test-mbspbrk.c: Likewise.
15947         * tests/test-mbspcasecmp.c: Likewise.
15948         * tests/test-mbsrchr.c: Likewise.
15949         * tests/test-mbsrtowcs.c: Likewise.
15950         * tests/test-mbsspn.c: Likewise.
15951         * tests/test-mbsstr1.c: Likewise.
15952         * tests/test-mbsstr2.c: Likewise.
15953         * tests/test-mbsstr3.c: Likewise.
15954         * tests/test-memchr.c: Likewise.
15955         * tests/test-memchr2.c: Likewise.
15956         * tests/test-memcmp.c: Likewise.
15957         * tests/test-memmem.c: Likewise.
15958         * tests/test-memrchr.c: Likewise.
15959         * tests/test-mkdir.c: Likewise.
15960         * tests/test-mkdirat.c: Likewise.
15961         * tests/test-mkfifo.c: Likewise.
15962         * tests/test-mkfifoat.c: Likewise.
15963         * tests/test-mknod.c: Likewise.
15964         * tests/test-nanosleep.c: Likewise.
15965         * tests/test-nl_langinfo.c: Likewise.
15966         * tests/test-obstack-printf.c: Likewise.
15967         * tests/test-open.c: Likewise.
15968         * tests/test-openat.c: Likewise.
15969         * tests/test-pipe-filter-gi1.c: Likewise.
15970         * tests/test-pipe-filter-gi2-main.c: Likewise.
15971         * tests/test-pipe-filter-ii1.c: Likewise.
15972         * tests/test-pipe-filter-ii2-main.c: Likewise.
15973         * tests/test-pipe2.c: Likewise.
15974         * tests/test-popen.h: Likewise.
15975         * tests/test-posixtm.c: Likewise.
15976         * tests/test-pread.c: Likewise.
15977         * tests/test-printf-frexp.c: Likewise.
15978         * tests/test-printf-frexpl.c: Likewise.
15979         * tests/test-printf-posix.c: Likewise.
15980         * tests/test-priv-set.c: Likewise.
15981         * tests/test-quotearg.c: Likewise.
15982         * tests/test-random_r.c: Likewise.
15983         * tests/test-rawmemchr.c: Likewise.
15984         * tests/test-rbtree_list.c: Likewise.
15985         * tests/test-rbtree_oset.c: Likewise.
15986         * tests/test-rbtreehash_list.c: Likewise.
15987         * tests/test-readlink.c: Likewise.
15988         * tests/test-remove.c: Likewise.
15989         * tests/test-rename.c: Likewise.
15990         * tests/test-renameat.c: Likewise.
15991         * tests/test-rmdir.c: Likewise.
15992         * tests/test-round1.c: Likewise.
15993         * tests/test-roundf1.c: Likewise.
15994         * tests/test-roundl.c: Likewise.
15995         * tests/test-safe-alloc.c: Likewise.
15996         * tests/test-sameacls.c: Likewise.
15997         * tests/test-set-mode-acl.c: Likewise.
15998         * tests/test-setenv.c: Likewise.
15999         * tests/test-sigaction.c: Likewise.
16000         * tests/test-signbit.c: Likewise.
16001         * tests/test-sleep.c: Likewise.
16002         * tests/test-snprintf-posix.c: Likewise.
16003         * tests/test-snprintf.c: Likewise.
16004         * tests/test-sprintf-posix.c: Likewise.
16005         * tests/test-stat-time.c: Likewise.
16006         * tests/test-stat.c: Likewise.
16007         * tests/test-strcasestr.c: Likewise.
16008         * tests/test-strchrnul.c: Likewise.
16009         * tests/test-strerror.c: Likewise.
16010         * tests/test-striconv.c: Likewise.
16011         * tests/test-striconveh.c: Likewise.
16012         * tests/test-striconveha.c: Likewise.
16013         * tests/test-strsignal.c: Likewise.
16014         * tests/test-strstr.c: Likewise.
16015         * tests/test-strtod.c: Likewise.
16016         * tests/test-strverscmp.c: Likewise.
16017         * tests/test-symlink.c: Likewise.
16018         * tests/test-symlinkat.c: Likewise.
16019         * tests/test-trunc1.c: Likewise.
16020         * tests/test-trunc2.c: Likewise.
16021         * tests/test-truncf1.c: Likewise.
16022         * tests/test-truncf2.c: Likewise.
16023         * tests/test-truncl.c: Likewise.
16024         * tests/test-uname.c: Likewise.
16025         * tests/test-unlink.c: Likewise.
16026         * tests/test-unlinkat.c: Likewise.
16027         * tests/test-unsetenv.c: Likewise.
16028         * tests/test-usleep.c: Likewise.
16029         * tests/test-utimens.c: Likewise.
16030         * tests/test-utimensat.c: Likewise.
16031         * tests/test-vasnprintf-posix.c: Likewise.
16032         * tests/test-vasnprintf-posix2.c: Likewise.
16033         * tests/test-vasnprintf.c: Likewise.
16034         * tests/test-vasprintf-posix.c: Likewise.
16035         * tests/test-vasprintf.c: Likewise.
16036         * tests/test-vdprintf-posix.c: Likewise.
16037         * tests/test-vfprintf-posix.c: Likewise.
16038         * tests/test-vprintf-posix.c: Likewise.
16039         * tests/test-vsnprintf-posix.c: Likewise.
16040         * tests/test-vsnprintf.c: Likewise.
16041         * tests/test-vsprintf-posix.c: Likewise.
16042         * tests/test-wcrtomb.c: Likewise.
16043         * tests/test-wcsnrtombs.c: Likewise.
16044         * tests/test-wcsrtombs.c: Likewise.
16045         * tests/test-wctype.c: Likewise.
16046         * tests/test-wcwidth.c: Likewise.
16047         * tests/test-xfprintf-posix.c: Likewise.
16048         * tests/test-xmemdup0.c: Likewise.
16049         * tests/test-xprintf-posix.c: Likewise.
16050         * tests/test-xvasprintf.c: Likewise.
16051         * tests/unicase/test-locale-language.c: Likewise.
16052         * tests/unicase/test-mapping-part1.h: Likewise.
16053         * tests/unicase/test-predicate-part1.h: Likewise.
16054         * tests/unicase/test-u8-casecmp.c: Likewise.
16055         * tests/unicase/test-u8-casecoll.c: Likewise.
16056         * tests/unicase/test-u8-casefold.c: Likewise.
16057         * tests/unicase/test-u8-is-cased.c: Likewise.
16058         * tests/unicase/test-u8-is-casefolded.c: Likewise.
16059         * tests/unicase/test-u8-is-lowercase.c: Likewise.
16060         * tests/unicase/test-u8-is-titlecase.c: Likewise.
16061         * tests/unicase/test-u8-is-uppercase.c: Likewise.
16062         * tests/unicase/test-u8-tolower.c: Likewise.
16063         * tests/unicase/test-u8-totitle.c: Likewise.
16064         * tests/unicase/test-u8-toupper.c: Likewise.
16065         * tests/unicase/test-u16-casecmp.c: Likewise.
16066         * tests/unicase/test-u16-casecoll.c: Likewise.
16067         * tests/unicase/test-u16-casefold.c: Likewise.
16068         * tests/unicase/test-u16-is-cased.c: Likewise.
16069         * tests/unicase/test-u16-is-casefolded.c: Likewise.
16070         * tests/unicase/test-u16-is-lowercase.c: Likewise.
16071         * tests/unicase/test-u16-is-titlecase.c: Likewise.
16072         * tests/unicase/test-u16-is-uppercase.c: Likewise.
16073         * tests/unicase/test-u16-tolower.c: Likewise.
16074         * tests/unicase/test-u16-totitle.c: Likewise.
16075         * tests/unicase/test-u16-toupper.c: Likewise.
16076         * tests/unicase/test-u32-casecmp.c: Likewise.
16077         * tests/unicase/test-u32-casecoll.c: Likewise.
16078         * tests/unicase/test-u32-casefold.c: Likewise.
16079         * tests/unicase/test-u32-is-cased.c: Likewise.
16080         * tests/unicase/test-u32-is-casefolded.c: Likewise.
16081         * tests/unicase/test-u32-is-lowercase.c: Likewise.
16082         * tests/unicase/test-u32-is-titlecase.c: Likewise.
16083         * tests/unicase/test-u32-is-uppercase.c: Likewise.
16084         * tests/unicase/test-u32-tolower.c: Likewise.
16085         * tests/unicase/test-u32-totitle.c: Likewise.
16086         * tests/unicase/test-u32-toupper.c: Likewise.
16087         * tests/unicase/test-ulc-casecmp.c: Likewise.
16088         * tests/unicase/test-ulc-casecoll.c: Likewise.
16089         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
16090         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
16091         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
16092         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
16093         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
16094         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
16095         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
16096         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
16097         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
16098         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
16099         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
16100         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
16101         * tests/unictype/test-bidi_byname.c: Likewise.
16102         * tests/unictype/test-bidi_name.c: Likewise.
16103         * tests/unictype/test-bidi_of.c: Likewise.
16104         * tests/unictype/test-bidi_test.c: Likewise.
16105         * tests/unictype/test-block_list.c: Likewise.
16106         * tests/unictype/test-block_of.c: Likewise.
16107         * tests/unictype/test-block_test.c: Likewise.
16108         * tests/unictype/test-categ_and.c: Likewise.
16109         * tests/unictype/test-categ_and_not.c: Likewise.
16110         * tests/unictype/test-categ_byname.c: Likewise.
16111         * tests/unictype/test-categ_name.c: Likewise.
16112         * tests/unictype/test-categ_none.c: Likewise.
16113         * tests/unictype/test-categ_of.c: Likewise.
16114         * tests/unictype/test-categ_or.c: Likewise.
16115         * tests/unictype/test-categ_test_withtable.c: Likewise.
16116         * tests/unictype/test-combining.c: Likewise.
16117         * tests/unictype/test-decdigit.c: Likewise.
16118         * tests/unictype/test-digit.c: Likewise.
16119         * tests/unictype/test-mirror.c: Likewise.
16120         * tests/unictype/test-numeric.c: Likewise.
16121         * tests/unictype/test-pr_byname.c: Likewise.
16122         * tests/unictype/test-pr_test.c: Likewise.
16123         * tests/unictype/test-predicate-part1.h: Likewise.
16124         * tests/unictype/test-scripts.c: Likewise.
16125         * tests/unictype/test-sy_c_ident.c: Likewise.
16126         * tests/unictype/test-sy_java_ident.c: Likewise.
16127         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
16128         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
16129         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
16130         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
16131         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
16132         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
16133         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
16134         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
16135         * tests/uninorm/test-canonical-decomposition.c: Likewise.
16136         * tests/uninorm/test-compat-decomposition.c: Likewise.
16137         * tests/uninorm/test-composition.c: Likewise.
16138         * tests/uninorm/test-decomposing-form.c: Likewise.
16139         * tests/uninorm/test-decomposition.c: Likewise.
16140         * tests/uninorm/test-u8-nfc.c: Likewise.
16141         * tests/uninorm/test-u8-nfd.c: Likewise.
16142         * tests/uninorm/test-u8-nfkc.c: Likewise.
16143         * tests/uninorm/test-u8-nfkd.c: Likewise.
16144         * tests/uninorm/test-u8-normcmp.c: Likewise.
16145         * tests/uninorm/test-u8-normcoll.c: Likewise.
16146         * tests/uninorm/test-u16-nfc.c: Likewise.
16147         * tests/uninorm/test-u16-nfd.c: Likewise.
16148         * tests/uninorm/test-u16-nfkc.c: Likewise.
16149         * tests/uninorm/test-u16-nfkd.c: Likewise.
16150         * tests/uninorm/test-u16-normcmp.c: Likewise.
16151         * tests/uninorm/test-u16-normcoll.c: Likewise.
16152         * tests/uninorm/test-u32-nfc.c: Likewise.
16153         * tests/uninorm/test-u32-nfd.c: Likewise.
16154         * tests/uninorm/test-u32-nfkc.c: Likewise.
16155         * tests/uninorm/test-u32-nfkd.c: Likewise.
16156         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16157         * tests/uninorm/test-u32-normcmp.c: Likewise.
16158         * tests/uninorm/test-u32-normcoll.c: Likewise.
16159         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
16160         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
16161         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
16162         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
16163         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
16164         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
16165         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
16166         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
16167         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
16168         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
16169         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
16170         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
16171         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
16172         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
16173         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
16174         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
16175         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
16176         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
16177         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
16178         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
16179         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
16180         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
16181         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
16182         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
16183         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
16184         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
16185         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
16186         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
16187         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
16188         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
16189         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
16190         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
16191         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
16192         * tests/uniwidth/test-u8-strwidth.c: Likewise.
16193         * tests/uniwidth/test-u8-width.c: Likewise.
16194         * tests/uniwidth/test-u16-strwidth.c: Likewise.
16195         * tests/uniwidth/test-u16-width.c: Likewise.
16196         * tests/uniwidth/test-u32-strwidth.c: Likewise.
16197         * tests/uniwidth/test-u32-width.c: Likewise.
16198         * tests/uniwidth/test-uc_width.c: Likewise.
16199         * tests/uniwidth/test-uc_width2.c: Likewise.
16200         * modules/acl-tests (Files): Add tests/macros.h.
16201         * modules/areadlink-tests (Files): Likewise.
16202         * modules/areadlink-with-size-tests (Files): Likewise.
16203         * modules/areadlinkat-tests (Files): Likewise.
16204         * modules/areadlinkat-with-size-tests (Files): Likewise.
16205         * modules/argmatch-tests (Files): Likewise.
16206         * modules/argv-iter-tests (Files): Likewise.
16207         * modules/array-list-tests (Files): Likewise.
16208         * modules/array-mergesort-tests (Files): Likewise.
16209         * modules/array-oset-tests (Files): Likewise.
16210         * modules/avltree-list-tests (Files): Likewise.
16211         * modules/avltree-oset-tests (Files): Likewise.
16212         * modules/avltreehash-list-tests (Files): Likewise.
16213         * modules/base64-tests (Files): Likewise.
16214         * modules/binary-io-tests (Files): Likewise.
16215         * modules/bitrotate-tests (Files): Likewise.
16216         * modules/btowc-tests (Files): Likewise.
16217         * modules/byteswap-tests (Files): Likewise.
16218         * modules/c-ctype-tests (Files): Likewise.
16219         * modules/c-stack-tests (Files): Likewise.
16220         * modules/c-strcase-tests (Files): Likewise.
16221         * modules/c-strcasestr-tests (Files): Likewise.
16222         * modules/c-strstr-tests (Files): Likewise.
16223         * modules/canonicalize-lgpl-tests (Files): Likewise.
16224         * modules/canonicalize-tests (Files): Likewise.
16225         * modules/carray-list-tests (Files): Likewise.
16226         * modules/ceilf-tests (Files): Likewise.
16227         * modules/ceill-tests (Files): Likewise.
16228         * modules/chown-tests (Files): Likewise.
16229         * modules/cloexec-tests (Files): Likewise.
16230         * modules/copy-file-tests (Files): Likewise.
16231         * modules/count-one-bits-tests (Files): Likewise.
16232         * modules/dprintf-posix-tests (Files): Likewise.
16233         * modules/dup2-tests (Files): Likewise.
16234         * modules/dup3-tests (Files): Likewise.
16235         * modules/duplocale-tests (Files): Likewise.
16236         * modules/fbufmode-tests (Files): Likewise.
16237         * modules/fchdir-tests (Files): Likewise.
16238         * modules/fcntl-safer-tests (Files): Likewise.
16239         * modules/fcntl-tests (Files): Likewise.
16240         * modules/fdopendir-tests (Files): Likewise.
16241         * modules/fdutimensat-tests (Files): Likewise.
16242         * modules/fflush-tests (Files): Likewise.
16243         * modules/filevercmp-tests (Files): Likewise.
16244         * modules/flock-tests (Files): Likewise.
16245         * modules/floorf-tests (Files): Likewise.
16246         * modules/floorl-tests (Files): Likewise.
16247         * modules/fnmatch-tests (Files): Likewise.
16248         * modules/fopen-safer-tests (Files): Likewise.
16249         * modules/fopen-tests (Files): Likewise.
16250         * modules/fpending-tests (Files): Likewise.
16251         * modules/fprintf-posix-tests (Files): Likewise.
16252         * modules/fpurge-tests (Files): Likewise.
16253         * modules/freadable-tests (Files): Likewise.
16254         * modules/freadahead-tests (Files): Likewise.
16255         * modules/freading-tests (Files): Likewise.
16256         * modules/freadptr-tests (Files): Likewise.
16257         * modules/freadseek-tests (Files): Likewise.
16258         * modules/freopen-tests (Files): Likewise.
16259         * modules/frexp-nolibm-tests (Files): Likewise.
16260         * modules/frexp-tests (Files): Likewise.
16261         * modules/frexpl-nolibm-tests (Files): Likewise.
16262         * modules/frexpl-tests (Files): Likewise.
16263         * modules/fseek-tests (Files): Likewise.
16264         * modules/fseeko-tests (Files): Likewise.
16265         * modules/fstrcmp-tests (Files): Likewise.
16266         * modules/fsync-tests (Files): Likewise.
16267         * modules/ftell-tests (Files): Likewise.
16268         * modules/ftello-tests (Files): Likewise.
16269         * modules/func-tests (Files): Likewise.
16270         * modules/futimens-tests (Files): Likewise.
16271         * modules/fwritable-tests (Files): Likewise.
16272         * modules/fwriting-tests (Files): Likewise.
16273         * modules/getcwd-tests (Files): Likewise.
16274         * modules/getdate-tests (Files): Likewise.
16275         * modules/getdelim-tests (Files): Likewise.
16276         * modules/getdtablesize-tests (Files): Likewise.
16277         * modules/getgroups-tests (Files): Likewise.
16278         * modules/getline-tests (Files): Likewise.
16279         * modules/getndelim2-tests (Files): Likewise.
16280         * modules/glob-tests (Files): Likewise.
16281         * modules/hash-tests (Files): Likewise.
16282         * modules/i-ring-tests (Files): Likewise.
16283         * modules/iconv-tests (Files): Likewise.
16284         * modules/iconv_open-utf-tests (Files): Likewise.
16285         * modules/idpriv-drop-tests (Files): Likewise.
16286         * modules/idpriv-droptemp-tests (Files): Likewise.
16287         * modules/inet_ntop-tests (Files): Likewise.
16288         * modules/inet_pton-tests (Files): Likewise.
16289         * modules/isblank-tests (Files): Likewise.
16290         * modules/isfinite-tests (Files): Likewise.
16291         * modules/isinf-tests (Files): Likewise.
16292         * modules/isnan-tests (Files): Likewise.
16293         * modules/isnand-nolibm-tests (Files): Likewise.
16294         * modules/isnand-tests (Files): Likewise.
16295         * modules/isnanf-nolibm-tests (Files): Likewise.
16296         * modules/isnanf-tests (Files): Likewise.
16297         * modules/isnanl-nolibm-tests (Files): Likewise.
16298         * modules/isnanl-tests (Files): Likewise.
16299         * modules/lchown-tests (Files): Likewise.
16300         * modules/ldexpl-tests (Files): Likewise.
16301         * modules/link-tests (Files): Likewise.
16302         * modules/linkat-tests (Files): Likewise.
16303         * modules/linked-list-tests (Files): Likewise.
16304         * modules/linkedhash-list-tests (Files): Likewise.
16305         * modules/localename-tests (Files): Likewise.
16306         * modules/lseek-tests (Files): Likewise.
16307         * modules/lstat-tests (Files): Likewise.
16308         * modules/mbmemcasecmp-tests (Files): Likewise.
16309         * modules/mbmemcasecoll-tests (Files): Likewise.
16310         * modules/mbrtowc-tests (Files): Likewise.
16311         * modules/mbscasecmp-tests (Files): Likewise.
16312         * modules/mbscasestr-tests (Files): Likewise.
16313         * modules/mbschr-tests (Files): Likewise.
16314         * modules/mbscspn-tests (Files): Likewise.
16315         * modules/mbsinit-tests (Files): Likewise.
16316         * modules/mbsncasecmp-tests (Files): Likewise.
16317         * modules/mbsnrtowcs-tests (Files): Likewise.
16318         * modules/mbspbrk-tests (Files): Likewise.
16319         * modules/mbspcasecmp-tests (Files): Likewise.
16320         * modules/mbsrchr-tests (Files): Likewise.
16321         * modules/mbsrtowcs-tests (Files): Likewise.
16322         * modules/mbsspn-tests (Files): Likewise.
16323         * modules/mbsstr-tests (Files): Likewise.
16324         * modules/memchr-tests (Files): Likewise.
16325         * modules/memchr2-tests (Files): Likewise.
16326         * modules/memcmp-tests (Files): Likewise.
16327         * modules/memmem-tests (Files): Likewise.
16328         * modules/memrchr-tests (Files): Likewise.
16329         * modules/mkdir-tests (Files): Likewise.
16330         * modules/mkfifo-tests (Files): Likewise.
16331         * modules/mkfifoat-tests (Files): Likewise.
16332         * modules/mknod-tests (Files): Likewise.
16333         * modules/nanosleep-tests (Files): Likewise.
16334         * modules/nl_langinfo-tests (Files): Likewise.
16335         * modules/obstack-printf-tests (Files): Likewise.
16336         * modules/open-tests (Files): Likewise.
16337         * modules/openat-tests (Files): Likewise.
16338         * modules/pipe-filter-gi-tests (Files): Likewise.
16339         * modules/pipe-filter-ii-tests (Files): Likewise.
16340         * modules/pipe2-tests (Files): Likewise.
16341         * modules/popen-safer-tests (Files): Likewise.
16342         * modules/popen-tests (Files): Likewise.
16343         * modules/posixtm-tests (Files): Likewise.
16344         * modules/pread-tests (Files): Likewise.
16345         * modules/printf-frexp-tests (Files): Likewise.
16346         * modules/printf-frexpl-tests (Files): Likewise.
16347         * modules/printf-posix-tests (Files): Likewise.
16348         * modules/priv-set-tests (Files): Likewise.
16349         * modules/quotearg-tests (Files): Likewise.
16350         * modules/random_r-tests (Files): Likewise.
16351         * modules/rawmemchr-tests (Files): Likewise.
16352         * modules/rbtree-list-tests (Files): Likewise.
16353         * modules/rbtree-oset-tests (Files): Likewise.
16354         * modules/rbtreehash-list-tests (Files): Likewise.
16355         * modules/readlink-tests (Files): Likewise.
16356         * modules/remove-tests (Files): Likewise.
16357         * modules/rename-tests (Files): Likewise.
16358         * modules/renameat-tests (Files): Likewise.
16359         * modules/rmdir-tests (Files): Likewise.
16360         * modules/round-tests (Files): Likewise.
16361         * modules/roundf-tests (Files): Likewise.
16362         * modules/roundl-tests (Files): Likewise.
16363         * modules/safe-alloc-tests (Files): Likewise.
16364         * modules/setenv-tests (Files): Likewise.
16365         * modules/sigaction-tests (Files): Likewise.
16366         * modules/signbit-tests (Files): Likewise.
16367         * modules/sleep-tests (Files): Likewise.
16368         * modules/snprintf-posix-tests (Files): Likewise.
16369         * modules/snprintf-tests (Files): Likewise.
16370         * modules/sprintf-posix-tests (Files): Likewise.
16371         * modules/stat-tests (Files): Likewise.
16372         * modules/stat-time-tests (Files): Likewise.
16373         * modules/strcasestr-tests (Files): Likewise.
16374         * modules/strchrnul-tests (Files): Likewise.
16375         * modules/strerror-tests (Files): Likewise.
16376         * modules/striconv-tests (Files): Likewise.
16377         * modules/striconveh-tests (Files): Likewise.
16378         * modules/striconveha-tests (Files): Likewise.
16379         * modules/strsignal-tests (Files): Likewise.
16380         * modules/strstr-tests (Files): Likewise.
16381         * modules/strtod-tests (Files): Likewise.
16382         * modules/strverscmp-tests (Files): Likewise.
16383         * modules/symlink-tests (Files): Likewise.
16384         * modules/symlinkat-tests (Files): Likewise.
16385         * modules/trunc-tests (Files): Likewise.
16386         * modules/truncf-tests (Files): Likewise.
16387         * modules/truncl-tests (Files): Likewise.
16388         * modules/uname-tests (Files): Likewise.
16389         * modules/unicase/cased-tests (Files): Likewise.
16390         * modules/unicase/ignorable-tests (Files): Likewise.
16391         * modules/unicase/locale-language-tests (Files): Likewise.
16392         * modules/unicase/tolower-tests (Files): Likewise.
16393         * modules/unicase/totitle-tests (Files): Likewise.
16394         * modules/unicase/toupper-tests (Files): Likewise.
16395         * modules/unicase/u8-casecmp-tests (Files): Likewise.
16396         * modules/unicase/u8-casecoll-tests (Files): Likewise.
16397         * modules/unicase/u8-casefold-tests (Files): Likewise.
16398         * modules/unicase/u8-is-cased-tests (Files): Likewise.
16399         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
16400         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
16401         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
16402         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
16403         * modules/unicase/u8-tolower-tests (Files): Likewise.
16404         * modules/unicase/u8-totitle-tests (Files): Likewise.
16405         * modules/unicase/u8-toupper-tests (Files): Likewise.
16406         * modules/unicase/u16-casecmp-tests (Files): Likewise.
16407         * modules/unicase/u16-casecoll-tests (Files): Likewise.
16408         * modules/unicase/u16-casefold-tests (Files): Likewise.
16409         * modules/unicase/u16-is-cased-tests (Files): Likewise.
16410         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
16411         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
16412         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
16413         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
16414         * modules/unicase/u16-tolower-tests (Files): Likewise.
16415         * modules/unicase/u16-totitle-tests (Files): Likewise.
16416         * modules/unicase/u16-toupper-tests (Files): Likewise.
16417         * modules/unicase/u32-casecmp-tests (Files): Likewise.
16418         * modules/unicase/u32-casecoll-tests (Files): Likewise.
16419         * modules/unicase/u32-casefold-tests (Files): Likewise.
16420         * modules/unicase/u32-is-cased-tests (Files): Likewise.
16421         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
16422         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
16423         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
16424         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
16425         * modules/unicase/u32-tolower-tests (Files): Likewise.
16426         * modules/unicase/u32-totitle-tests (Files): Likewise.
16427         * modules/unicase/u32-toupper-tests (Files): Likewise.
16428         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
16429         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
16430         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
16431         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
16432         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
16433         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
16434         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
16435         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
16436         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
16437         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
16438         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
16439         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
16440         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
16441         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
16442         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
16443         * modules/unictype/bidicategory-name-tests (Files): Likewise.
16444         * modules/unictype/bidicategory-of-tests (Files): Likewise.
16445         * modules/unictype/bidicategory-test-tests (Files): Likewise.
16446         * modules/unictype/block-list-tests (Files): Likewise.
16447         * modules/unictype/block-of-tests (Files): Likewise.
16448         * modules/unictype/block-test-tests (Files): Likewise.
16449         * modules/unictype/category-C-tests (Files): Likewise.
16450         * modules/unictype/category-Cc-tests (Files): Likewise.
16451         * modules/unictype/category-Cf-tests (Files): Likewise.
16452         * modules/unictype/category-Cn-tests (Files): Likewise.
16453         * modules/unictype/category-Co-tests (Files): Likewise.
16454         * modules/unictype/category-Cs-tests (Files): Likewise.
16455         * modules/unictype/category-L-tests (Files): Likewise.
16456         * modules/unictype/category-Ll-tests (Files): Likewise.
16457         * modules/unictype/category-Lm-tests (Files): Likewise.
16458         * modules/unictype/category-Lo-tests (Files): Likewise.
16459         * modules/unictype/category-Lt-tests (Files): Likewise.
16460         * modules/unictype/category-Lu-tests (Files): Likewise.
16461         * modules/unictype/category-M-tests (Files): Likewise.
16462         * modules/unictype/category-Mc-tests (Files): Likewise.
16463         * modules/unictype/category-Me-tests (Files): Likewise.
16464         * modules/unictype/category-Mn-tests (Files): Likewise.
16465         * modules/unictype/category-N-tests (Files): Likewise.
16466         * modules/unictype/category-Nd-tests (Files): Likewise.
16467         * modules/unictype/category-Nl-tests (Files): Likewise.
16468         * modules/unictype/category-No-tests (Files): Likewise.
16469         * modules/unictype/category-P-tests (Files): Likewise.
16470         * modules/unictype/category-Pc-tests (Files): Likewise.
16471         * modules/unictype/category-Pd-tests (Files): Likewise.
16472         * modules/unictype/category-Pe-tests (Files): Likewise.
16473         * modules/unictype/category-Pf-tests (Files): Likewise.
16474         * modules/unictype/category-Pi-tests (Files): Likewise.
16475         * modules/unictype/category-Po-tests (Files): Likewise.
16476         * modules/unictype/category-Ps-tests (Files): Likewise.
16477         * modules/unictype/category-S-tests (Files): Likewise.
16478         * modules/unictype/category-Sc-tests (Files): Likewise.
16479         * modules/unictype/category-Sk-tests (Files): Likewise.
16480         * modules/unictype/category-Sm-tests (Files): Likewise.
16481         * modules/unictype/category-So-tests (Files): Likewise.
16482         * modules/unictype/category-Z-tests (Files): Likewise.
16483         * modules/unictype/category-Zl-tests (Files): Likewise.
16484         * modules/unictype/category-Zp-tests (Files): Likewise.
16485         * modules/unictype/category-Zs-tests (Files): Likewise.
16486         * modules/unictype/category-and-not-tests (Files): Likewise.
16487         * modules/unictype/category-and-tests (Files): Likewise.
16488         * modules/unictype/category-byname-tests (Files): Likewise.
16489         * modules/unictype/category-name-tests (Files): Likewise.
16490         * modules/unictype/category-none-tests (Files): Likewise.
16491         * modules/unictype/category-of-tests (Files): Likewise.
16492         * modules/unictype/category-or-tests (Files): Likewise.
16493         * modules/unictype/category-test-withtable-tests (Files): Likewise.
16494         * modules/unictype/combining-class-tests (Files): Likewise.
16495         * modules/unictype/ctype-alnum-tests (Files): Likewise.
16496         * modules/unictype/ctype-alpha-tests (Files): Likewise.
16497         * modules/unictype/ctype-blank-tests (Files): Likewise.
16498         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
16499         * modules/unictype/ctype-digit-tests (Files): Likewise.
16500         * modules/unictype/ctype-graph-tests (Files): Likewise.
16501         * modules/unictype/ctype-lower-tests (Files): Likewise.
16502         * modules/unictype/ctype-print-tests (Files): Likewise.
16503         * modules/unictype/ctype-punct-tests (Files): Likewise.
16504         * modules/unictype/ctype-space-tests (Files): Likewise.
16505         * modules/unictype/ctype-upper-tests (Files): Likewise.
16506         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
16507         * modules/unictype/decimal-digit-tests (Files): Likewise.
16508         * modules/unictype/digit-tests (Files): Likewise.
16509         * modules/unictype/mirror-tests (Files): Likewise.
16510         * modules/unictype/numeric-tests (Files): Likewise.
16511         * modules/unictype/property-alphabetic-tests (Files): Likewise.
16512         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
16513         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
16514         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
16515         Likewise.
16516         * modules/unictype/property-bidi-block-separator-tests (Files):
16517         Likewise.
16518         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
16519         Likewise.
16520         * modules/unictype/property-bidi-common-separator-tests (Files):
16521         Likewise.
16522         * modules/unictype/property-bidi-control-tests (Files): Likewise.
16523         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
16524         Likewise.
16525         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
16526         Likewise.
16527         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
16528         Likewise.
16529         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
16530         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
16531         Likewise.
16532         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
16533         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
16534         Likewise.
16535         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
16536         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
16537         * modules/unictype/property-bidi-segment-separator-tests (Files):
16538         Likewise.
16539         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
16540         * modules/unictype/property-byname-tests (Files): Likewise.
16541         * modules/unictype/property-combining-tests (Files): Likewise.
16542         * modules/unictype/property-composite-tests (Files): Likewise.
16543         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
16544         * modules/unictype/property-dash-tests (Files): Likewise.
16545         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
16546         * modules/unictype/property-default-ignorable-code-point-tests (Files):
16547         Likewise.
16548         * modules/unictype/property-deprecated-tests (Files): Likewise.
16549         * modules/unictype/property-diacritic-tests (Files): Likewise.
16550         * modules/unictype/property-extender-tests (Files): Likewise.
16551         * modules/unictype/property-format-control-tests (Files): Likewise.
16552         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
16553         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
16554         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
16555         * modules/unictype/property-hex-digit-tests (Files): Likewise.
16556         * modules/unictype/property-hyphen-tests (Files): Likewise.
16557         * modules/unictype/property-id-continue-tests (Files): Likewise.
16558         * modules/unictype/property-id-start-tests (Files): Likewise.
16559         * modules/unictype/property-ideographic-tests (Files): Likewise.
16560         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
16561         * modules/unictype/property-ids-trinary-operator-tests (Files):
16562         Likewise.
16563         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
16564         * modules/unictype/property-iso-control-tests (Files): Likewise.
16565         * modules/unictype/property-join-control-tests (Files): Likewise.
16566         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
16567         * modules/unictype/property-line-separator-tests (Files): Likewise.
16568         * modules/unictype/property-logical-order-exception-tests (Files):
16569         Likewise.
16570         * modules/unictype/property-lowercase-tests (Files): Likewise.
16571         * modules/unictype/property-math-tests (Files): Likewise.
16572         * modules/unictype/property-non-break-tests (Files): Likewise.
16573         * modules/unictype/property-not-a-character-tests (Files): Likewise.
16574         * modules/unictype/property-numeric-tests (Files): Likewise.
16575         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
16576         * modules/unictype/property-other-default-ignorable-code-point-tests
16577         (Files): Likewise.
16578         * modules/unictype/property-other-grapheme-extend-tests (Files):
16579         Likewise.
16580         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
16581         * modules/unictype/property-other-id-start-tests (Files): Likewise.
16582         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
16583         * modules/unictype/property-other-math-tests (Files): Likewise.
16584         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
16585         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
16586         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
16587         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
16588         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
16589         * modules/unictype/property-private-use-tests (Files): Likewise.
16590         * modules/unictype/property-punctuation-tests (Files): Likewise.
16591         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
16592         * modules/unictype/property-radical-tests (Files): Likewise.
16593         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
16594         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
16595         * modules/unictype/property-space-tests (Files): Likewise.
16596         * modules/unictype/property-terminal-punctuation-tests (Files):
16597         Likewise.
16598         * modules/unictype/property-test-tests (Files): Likewise.
16599         * modules/unictype/property-titlecase-tests (Files): Likewise.
16600         * modules/unictype/property-unassigned-code-value-tests (Files):
16601         Likewise.
16602         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
16603         * modules/unictype/property-uppercase-tests (Files): Likewise.
16604         * modules/unictype/property-variation-selector-tests (Files): Likewise.
16605         * modules/unictype/property-white-space-tests (Files): Likewise.
16606         * modules/unictype/property-xid-continue-tests (Files): Likewise.
16607         * modules/unictype/property-xid-start-tests (Files): Likewise.
16608         * modules/unictype/property-zero-width-tests (Files): Likewise.
16609         * modules/unictype/scripts-tests (Files): Likewise.
16610         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
16611         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
16612         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
16613         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
16614         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
16615         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
16616         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
16617         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
16618         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
16619         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
16620         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
16621         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
16622         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
16623         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
16624         * modules/uninorm/composition-tests (Files): Likewise.
16625         * modules/uninorm/decomposing-form-tests (Files): Likewise.
16626         * modules/uninorm/decomposition-tests (Files): Likewise.
16627         * modules/uninorm/filter-tests (Files): Likewise.
16628         * modules/uninorm/nfc-tests (Files): Likewise.
16629         * modules/uninorm/nfd-tests (Files): Likewise.
16630         * modules/uninorm/nfkc-tests (Files): Likewise.
16631         * modules/uninorm/nfkd-tests (Files): Likewise.
16632         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
16633         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
16634         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
16635         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
16636         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
16637         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
16638         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
16639         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
16640         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
16641         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
16642         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
16643         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
16644         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
16645         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
16646         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
16647         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
16648         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
16649         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
16650         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
16651         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
16652         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
16653         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
16654         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
16655         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
16656         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
16657         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
16658         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
16659         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
16660         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
16661         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
16662         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
16663         * modules/uniwidth/u8-width-tests (Files): Likewise.
16664         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
16665         * modules/uniwidth/u16-width-tests (Files): Likewise.
16666         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
16667         * modules/uniwidth/u32-width-tests (Files): Likewise.
16668         * modules/uniwidth/width-tests (Files): Likewise.
16669         * modules/unlink-tests (Files): Likewise.
16670         * modules/unsetenv-tests (Files): Likewise.
16671         * modules/usleep-tests (Files): Likewise.
16672         * modules/utimens-tests (Files): Likewise.
16673         * modules/utimensat-tests (Files): Likewise.
16674         * modules/vasnprintf-posix-tests (Files): Likewise.
16675         * modules/vasnprintf-tests (Files): Likewise.
16676         * modules/vasprintf-posix-tests (Files): Likewise.
16677         * modules/vasprintf-tests (Files): Likewise.
16678         * modules/vdprintf-posix-tests (Files): Likewise.
16679         * modules/vfprintf-posix-tests (Files): Likewise.
16680         * modules/vprintf-posix-tests (Files): Likewise.
16681         * modules/vsnprintf-posix-tests (Files): Likewise.
16682         * modules/vsnprintf-tests (Files): Likewise.
16683         * modules/vsprintf-posix-tests (Files): Likewise.
16684         * modules/wcrtomb-tests (Files): Likewise.
16685         * modules/wcsnrtombs-tests (Files): Likewise.
16686         * modules/wcsrtombs-tests (Files): Likewise.
16687         * modules/wctype-tests (Files): Likewise.
16688         * modules/wcwidth-tests (Files): Likewise.
16689         * modules/xmemdup0-tests (Files): Likewise.
16690         * modules/xprintf-posix-tests (Files): Likewise.
16691         * modules/xvasprintf-tests (Files): Likewise.
16692
16693 2009-12-24  Eric Blake  <ebb9@byu.net>
16694
16695         test-nanosleep: fix typo
16696         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
16697         patch.
16698         Reported by Bruno Haible.
16699
16700 2009-12-24  Bruno Haible  <bruno@clisp.org>
16701
16702         Reduce namespace pollution on glibc systems.
16703         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
16704         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
16705         systems.
16706         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
16707         <getopt.h> on glibc systems.
16708         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
16709         systems.
16710         * lib/fcntl.c: Include <unistd.h> here instead.
16711
16712 2009-12-24  Bruno Haible  <bruno@clisp.org>
16713
16714         * lib/stdlib.in.h (includes): Fix typo in today's commit.
16715
16716 2009-12-24  Eric Blake  <ebb9@byu.net>
16717
16718         tests: add signature checks
16719         * tests/signature.h (SIGNATURE_CHECK): New file.
16720         * modules/atexit-tests (Files): Use it.
16721         * modules/btowc-tests (Files): Likewise.
16722         * modules/canonicalize-lgpl-tests (Files): Likewise.
16723         * modules/ceilf-tests (Files): Likewise.
16724         * modules/ceill-tests (Files): Likewise.
16725         * modules/chown-tests (Files): Likewise.
16726         * modules/dprintf-posix-tests (Files): Likewise.
16727         * modules/dup2-tests (Files): Likewise.
16728         * modules/dup3-tests (Files): Likewise.
16729         * modules/duplocale-tests (Files): Likewise.
16730         * modules/fchdir-tests (Files): Likewise.
16731         * modules/fcntl-tests (Files): Likewise.
16732         * modules/fdopendir-tests (Files): Likewise.
16733         * modules/fflush-tests (Files): Likewise.
16734         * modules/flock-tests (Files): Likewise.
16735         * modules/floorf-tests (Files): Likewise.
16736         * modules/floorl-tests (Files): Likewise.
16737         * modules/fnmatch-tests (Files): Likewise.
16738         * modules/fopen-tests (Files): Likewise.
16739         * modules/fprintf-posix-tests (Files): Likewise.
16740         * modules/freopen-tests (Files): Likewise.
16741         * modules/frexp-nolibm-tests (Files): Likewise.
16742         * modules/frexp-tests (Files): Likewise.
16743         * modules/frexpl-nolibm-tests (Files): Likewise.
16744         * modules/frexpl-tests (Files): Likewise.
16745         * modules/fseek-tests (Files): Likewise.
16746         * modules/fseeko-tests (Files): Likewise.
16747         * modules/fsync-tests (Files): Likewise.
16748         * modules/ftell-tests (Files): Likewise.
16749         * modules/ftello-tests (Files): Likewise.
16750         * modules/futimens-tests (Files): Likewise.
16751         * modules/getaddrinfo-tests (Files): Likewise.
16752         * modules/getcwd-tests (Files): Likewise.
16753         * modules/getdelim-tests (Files): Likewise.
16754         * modules/getdtablesize-tests (Files): Likewise.
16755         * modules/getgroups-tests (Files): Likewise.
16756         * modules/gethostname-tests (Files): Likewise.
16757         * modules/getline-tests (Files): Likewise.
16758         * modules/getopt-posix-tests (Files): Likewise.
16759         * modules/gettimeofday-tests (Files): Likewise.
16760         * modules/glob-tests (Files): Likewise.
16761         * modules/iconv-tests (Files): Likewise.
16762         * modules/inet_ntop-tests (Files): Likewise.
16763         * modules/inet_pton-tests (Files): Likewise.
16764         * modules/isblank-tests (Files): Likewise.
16765         * modules/lchown-tests (Files): Likewise.
16766         * modules/ldexpl-tests (Files): Likewise.
16767         * modules/link-tests (Files): Likewise.
16768         * modules/linkat-tests (Files): Likewise.
16769         * modules/lseek-tests (Files): Likewise.
16770         * modules/lstat-tests (Files): Likewise.
16771         * modules/mbrtowc-tests (Files): Likewise.
16772         * modules/mbsinit-tests (Files): Likewise.
16773         * modules/mbsnrtowcs-tests (Files): Likewise.
16774         * modules/mbsrtowcs-tests (Files): Likewise.
16775         * modules/memchr-tests (Files): Likewise.
16776         * modules/memcmp-tests (Files): Likewise.
16777         * modules/memmem-tests (Files): Likewise.
16778         * modules/memrchr-tests (Files): Likewise.
16779         * modules/mkdir-tests (Files): Likewise.
16780         * modules/mkfifo-tests (Files): Likewise.
16781         * modules/mkfifoat-tests (Files): Likewise.
16782         * modules/mknod-tests (Files): Likewise.
16783         * modules/nanosleep-tests (Files): Likewise.
16784         * modules/nl_langinfo-tests (Files): Likewise.
16785         * modules/obstack-printf-tests (Files): Likewise.
16786         * modules/open-tests (Files): Likewise.
16787         * modules/openat-tests (Files): Likewise.
16788         * modules/perror-tests (Files): Likewise.
16789         * modules/pipe2-tests (Files): Likewise.
16790         * modules/poll-tests (Files): Likewise.
16791         * modules/popen-tests (Files): Likewise.
16792         * modules/posix_spawn-tests (Files): Likewise.
16793         * modules/posix_spawnp-tests (Files): Likewise.
16794         * modules/pread-tests (Files): Likewise.
16795         * modules/printf-posix-tests (Files): Likewise.
16796         * modules/pty-tests (Files): Likewise.
16797         * modules/random_r-tests (Files): Likewise.
16798         * modules/rawmemchr-tests (Files): Likewise.
16799         * modules/readlink-tests (Files): Likewise.
16800         * modules/remove-tests (Files): Likewise.
16801         * modules/rename-tests (Files): Likewise.
16802         * modules/renameat-tests (Files): Likewise.
16803         * modules/rmdir-tests (Files): Likewise.
16804         * modules/round-tests (Files): Likewise.
16805         * modules/roundf-tests (Files): Likewise.
16806         * modules/roundl-tests (Files): Likewise.
16807         * modules/select-tests (Files): Likewise.
16808         * modules/setenv-tests (Files): Likewise.
16809         * modules/sigaction-tests (Files): Likewise.
16810         * modules/sleep-tests (Files): Likewise.
16811         * modules/snprintf-posix-tests (Files): Likewise.
16812         * modules/snprintf-tests (Files): Likewise.
16813         * modules/sprintf-posix-tests (Files): Likewise.
16814         * modules/stat-tests (Files): Likewise.
16815         * modules/strcasestr-tests (Files): Likewise.
16816         * modules/strchrnul-tests (Files): Likewise.
16817         * modules/strerror-tests (Files): Likewise.
16818         * modules/strsignal-tests (Files): Likewise.
16819         * modules/strstr-tests (Files): Likewise.
16820         * modules/strtod-tests (Files): Likewise.
16821         * modules/strverscmp-tests (Files): Likewise.
16822         * modules/symlink-tests (Files): Likewise.
16823         * modules/symlinkat-tests (Files): Likewise.
16824         * modules/times-tests (Files): Likewise.
16825         * modules/trunc-tests (Files): Likewise.
16826         * modules/truncf-tests (Files): Likewise.
16827         * modules/truncl-tests (Files): Likewise.
16828         * modules/tsearch-tests (Files): Likewise.
16829         * modules/uname-tests (Files): Likewise.
16830         * modules/unlink-tests (Files): Likewise.
16831         * modules/unsetenv-tests (Files): Likewise.
16832         * modules/usleep-tests (Files): Likewise.
16833         * modules/utimensat-tests (Files): Likewise.
16834         * modules/vasprintf-tests (Files): Likewise.
16835         * modules/vdprintf-posix-tests (Files): Likewise.
16836         * modules/vfprintf-posix-tests (Files): Likewise.
16837         * modules/vprintf-posix-tests (Files): Likewise.
16838         * modules/vsnprintf-posix-tests (Files): Likewise.
16839         * modules/vsnprintf-tests (Files): Likewise.
16840         * modules/vsprintf-posix-tests (Files): Likewise.
16841         * modules/wcrtomb-tests (Files): Likewise.
16842         * modules/wcsnrtombs-tests (Files): Likewise.
16843         * modules/wcsrtombs-tests (Files): Likewise.
16844         * modules/wcwidth-tests (Files): Likewise.
16845         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
16846         * tests/test-isinf.c (isinf): Likewise.
16847         * tests/test-isnan.c (isnan): Likewise.
16848         * tests/test-signbit.c (signbit): Likewise.
16849         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
16850         declaration, either as macro or with correct signature.
16851         (select): Ensure function under test is declared with correct
16852         signature in correct header.
16853         * tests/test-atexit.c (atexit): Likewise.
16854         * tests/test-btowc.c (btowc): Likewise.
16855         * tests/test-canonicalize-lgpl.c (realpath)
16856         (canonicalize_file_name): Likewise.
16857         * tests/test-ceilf1.c (ceilf): Likewise.
16858         * tests/test-ceill.c (ceill): Likewise.
16859         * tests/test-chown.c (chown): Likewise.
16860         * tests/test-dprintf-posix.c (dprintf): Likewise.
16861         * tests/test-dup2.c (dup2): Likewise.
16862         * tests/test-dup3.c (dup3): Likewise.
16863         * tests/test-duplocale.c (duplocale): Likewise.
16864         * tests/test-fchdir.c (fchdir): Likewise.
16865         * tests/test-fchownat.c (fchownat): Likewise.
16866         * tests/test-fcntl.c (fcntl): Likewise.
16867         * tests/test-fdopendir.c (fdopendir): Likewise.
16868         * tests/test-fflush.c (fflush): Likewise.
16869         * tests/test-flock.c (flock): Likewise.
16870         * tests/test-floorf1.c (floorf): Likewise.
16871         * tests/test-floorl.c (floorl): Likewise.
16872         * tests/test-fnmatch.c (fnmatch): Likewise.
16873         * tests/test-fopen.c (fopen): Likewise.
16874         * tests/test-fprintf-posix.c (fprintf): Likewise.
16875         * tests/test-freopen.c (freopen): Likewise.
16876         * tests/test-frexp.c (frexp): Likewise.
16877         * tests/test-frexpl.c (frexpl): Likewise.
16878         * tests/test-fseek.c (fseek): Likewise.
16879         * tests/test-fseeko.c (fseeko): Likewise.
16880         * tests/test-fstatat.c (fstatat): Likewise.
16881         * tests/test-fsync.c (fsync): Likewise.
16882         * tests/test-ftell.c (ftell): Likewise.
16883         * tests/test-ftello.c (ftello): Likewise.
16884         * tests/test-futimens.c (futimens): Likewise.
16885         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
16886         (gai_strerror): Likewise.
16887         * tests/test-getcwd.c (getcwd): Likewise.
16888         * tests/test-getdelim.c (getdelim): Likewise.
16889         * tests/test-getdtablesize.c (getdtablesize): Likewise.
16890         * tests/test-getgroups.c (getgroups): Likewise.
16891         * tests/test-gethostname.c (gethostname): Likewise.
16892         * tests/test-getline.c (getline): Likewise.
16893         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
16894         Likewise.
16895         * tests/test-gettimeofday.c (gettimeofday): Likewise.
16896         * tests/test-glob.c (glob, globfree): Likewise.
16897         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
16898         * tests/test-inet_ntop.c (inet_ntop): Likewise.
16899         * tests/test-inet_pton.c (inet_pton): Likewise.
16900         * tests/test-isblank.c (isblank): Likewise.
16901         * tests/test-lchown.c (lchown): Likewise.
16902         * tests/test-ldexpl.c (ldexpl): Likewise.
16903         * tests/test-link.c (link): Likewise.
16904         * tests/test-linkat.c (linkat): Likewise.
16905         * tests/test-lseek.c (lseek): Likewise.
16906         * tests/test-lstat.c (lstat): Likewise.
16907         * tests/test-mbrtowc.c (mbrtowc): Likewise.
16908         * tests/test-mbsinit.c (mbsinit): Likewise.
16909         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
16910         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
16911         * tests/test-memchr.c (memchr): Likewise.
16912         * tests/test-memcmp.c (memcmp): Likewise.
16913         * tests/test-memmem.c (memmem): Likewise.
16914         * tests/test-memrchr.c (memrchr): Likewise.
16915         * tests/test-mkdir.c (mkdir): Likewise.
16916         * tests/test-mkdirat.c (mkdirat): Likewise.
16917         * tests/test-mkfifo.c (mkfifo): Likewise.
16918         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
16919         * tests/test-mknod.c (mknod): Likewise.
16920         * tests/test-nanosleep.c (nanosleep): Likewise.
16921         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
16922         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
16923         Likewise.
16924         * tests/test-open.c (open): Likewise.
16925         * tests/test-openat.c (openat): Likewise.
16926         * tests/test-perror.c (perror): Likewise.
16927         * tests/test-pipe2.c (pipe2): Likewise.
16928         * tests/test-poll.c (poll): Likewise.
16929         * tests/test-popen.c (popen, pclose): Likewise.
16930         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
16931         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
16932         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
16933         (posix_spawn_file_actions_destroy)
16934         (posix_spawn_file_actions_addclose)
16935         (posix_spawn_file_actions_addopen)
16936         (posix_spawn_file_actions_adddup2): Likewise.
16937         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
16938         * tests/test-pread.c (pread): Likewise.
16939         * tests/test-printf-posix.c (printf): Likewise.
16940         * tests/test-pty.c (openpty, forkpty): Likewise.
16941         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
16942         (random_r): Likewise.
16943         * tests/test-rawmemchr.c (rawmemchr): Likewise.
16944         * tests/test-readlink.c (readlink): Likewise.
16945         * tests/test-remove.c (remove): Likewise.
16946         * tests/test-rename.c (rename): Likewise.
16947         * tests/test-renameat.c (renameat): Likewise.
16948         * tests/test-rmdir.c (rmdir): Likewise.
16949         * tests/test-round1.c (round): Likewise.
16950         * tests/test-roundf1.c (roundf): Likewise.
16951         * tests/test-roundl.c (roundl): Likewise.
16952         * tests/test-setenv.c (setenv): Likewise.
16953         * tests/test-sigaction.c (sigaction): Likewise.
16954         * tests/test-sleep.c (sleep): Likewise.
16955         * tests/test-snprintf.c (snprintf): Likewise.
16956         * tests/test-sprintf-posix.c (sprintf): Likewise.
16957         * tests/test-stat.c (stat): Likewise.
16958         * tests/test-stpncpy.c (stpncpy): Likewise.
16959         * tests/test-strcasestr.c (strcasestr): Likewise.
16960         * tests/test-strchrnul.c (strchrnul): Likewise.
16961         * tests/test-strerror.c (strerror): Likewise.
16962         * tests/test-strsignal.c (strsignal): Likewise.
16963         * tests/test-strstr.c (strstr): Likewise.
16964         * tests/test-strtod.c (strtod): Likewise.
16965         * tests/test-strverscmp.c (strverscmp): Likewise.
16966         * tests/test-symlink.c (symlink): Likewise.
16967         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
16968         * tests/test-times.c (times): Likewise.
16969         * tests/test-trunc1.c (trunc): Likewise.
16970         * tests/test-truncf1.c (truncf): Likewise.
16971         * tests/test-truncl.c (truncl): Likewise.
16972         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
16973         Likewise.
16974         * tests/test-uname.c (uname): Likewise.
16975         * tests/test-unlink.c (unlink): Likewise.
16976         * tests/test-unlinkat.c (unlinkat): Likewise.
16977         * tests/test-unsetenv.c (unsetenv): Likewise.
16978         * tests/test-usleep.c (usleep): Likewise.
16979         * tests/test-utimensat.c (utimensat): Likewise.
16980         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
16981         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
16982         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
16983         * tests/test-vprintf-posix.c (vprintf): Likewise.
16984         * tests/test-vsnprintf.c (vsnprintf): Likewise.
16985         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
16986         * tests/test-wcrtomb.c (wcrtomb): Likewise.
16987         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
16988         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
16989         * tests/test-wcwidth.c (wcwidth): Likewise.
16990
16991         build: pull in conditional headers during GNULIB_POSIXCHECK
16992         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
16993         definitions from any conditionally-included headers.
16994         * lib/stdlib.in.h (includes): Likewise.
16995         * lib/unistd.in.h (includes): Likewise.
16996
16997 2009-12-24  Bruno Haible  <bruno@clisp.org>
16998
16999         * tests/test-argv-iter.c: Include header file being tested immediately
17000         after config.h.
17001         * tests/test-base64.c: Likewise.
17002         * tests/test-flock.c: Likewise.
17003         * tests/test-fsync.c: Likewise.
17004         * tests/test-getdate.c: Likewise.
17005         * tests/test-getndelim2.c: Likewise.
17006         * tests/test-isfinite.c: Likewise.
17007         * tests/test-isinf.c: Likewise.
17008         * tests/test-strerror.c: Likewise.
17009         * tests/test-strsignal.c: Likewise.
17010
17011 2009-12-23  Eric Blake  <ebb9@byu.net>
17012
17013         unistd: work around cygwin bug
17014         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
17015         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
17016         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
17017
17018 2009-12-23  Bruno Haible  <bruno@clisp.org>
17019
17020         localename: More tests.
17021         * tests/test-localename.c (SIZEOF): New macro.
17022         (categories): New variable.
17023         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
17024         test_locale_name_default): Add test w.r.t. thread locale.
17025         (test_locale_name_thread): New function.
17026         (main): Invoke it.
17027
17028         localename: Make aware of thread locale.
17029         * lib/localename.h (gl_locale_name_thread): New declaration.
17030         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
17031         behaviour with respect to thread locale.
17032         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
17033         <langinfo.h>, glthread/lock.h.
17034         (SIZE_BITS): New macro.
17035         (string_hash): New function.
17036         (struct hash_node): New type.
17037         (HASH_TABLE_SIZE): New macro.
17038         (struniq_hash_table, struniq_lock): New variables.
17039         (struniq): New function.
17040         (gl_locale_name_thread): New function.
17041         (gl_locale_name): Invoke it.
17042         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
17043         * modules/localename (Depends-on): Add lock.
17044         Reported by Mike Gran <spk121@yahoo.com>.
17045
17046 2009-12-23  Eric Blake  <ebb9@byu.net>
17047
17048         va-args: new module
17049         * modules/va-args: New file.
17050         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
17051         * MODULES.html.sh (Core language properties): Mention it.
17052
17053         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
17054         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
17055         named alias for __attribute__((__unused__)).
17056         * lib/chown.c: Update client.
17057         * lib/fchmodat.c: Likewise.
17058         * lib/fts.c: Likewise.
17059         * lib/getdate.y: Likewise.
17060         * lib/getgroups.c: Likewise.
17061         * lib/getopt.c: Likewise.
17062         * lib/getugroups.c: Likewise.
17063         * lib/mkdir.c: Likewise.
17064         * lib/mkfifo.c: Likewise.
17065         * lib/mkfifoat.c: Likewise.
17066         * lib/mknod.c: Likewise.
17067         * lib/mknodat.c: Likewise.
17068         * lib/readlink.c: Likewise.
17069         * lib/se-context.in.h: Likewise.
17070         * lib/se-selinux.in.h: Likewise.
17071         * lib/sockets.c: Likewise.
17072         * lib/symlink.c: Likewise.
17073         * lib/symlinkat.c: Likewise.
17074         * lib/unicodeio.c: Likewise.
17075         * lib/unistr.h: Likewise.
17076         * tests/test-areadlink.c: Likewise.
17077         * tests/test-areadlinkat.c: Likewise.
17078         * tests/test-filenamecat.c: Likewise.
17079         * tests/test-fseeko.c: Likewise.
17080         * tests/test-ftello.c: Likewise.
17081         * tests/test-getdate.c: Likewise.
17082         * tests/test-getgroups.c: Likewise.
17083         * tests/test-gethostname.c: Likewise.
17084         * tests/test-quotearg.c: Likewise.
17085         * tests/test-version-etc.c: Likewise.
17086         * tests/test-xalloc-die.c: Likewise.
17087         * tests/test-xfprintf-posix.c: Likewise.
17088         * tests/test-xprintf-posix.c: Likewise.
17089         * tests/test-xvasprintf.c: Likewise.
17090
17091         tests: avoid compiler warnings
17092         * tests/test-fcntl.c (main): Delete unused parameters.
17093         * tests/test-freopen-safer.c (main): Likewise.
17094         * tests/test-xalloc-die.c (main): Mark unused parameters.
17095         * tests/test-fseeko.c (main): Likewise.
17096         * tests/test-ftello.c (main): Likewise.
17097         * tests/test-nanosleep.c (main): Avoid declaration warning.
17098         * tests/test-sleep.c (main): Likewise.
17099         * tests/test-unsetenv.c (main): Silence warning about string
17100         literal.
17101         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
17102
17103 2009-12-23  Bruno Haible  <bruno@clisp.org>
17104
17105         * tests/test-localename.c (test_locale_name): New function, extracted
17106         from main. Also test mixed situations.
17107         (test_locale_name_posix, test_locale_name_environ,
17108         test_locale_name_default): New functions.
17109         (main): Invoke them all.
17110         * modules/localename-tests (configure.ac): Test for newlocale.
17111
17112 2009-12-23  Bruno Haible  <bruno@clisp.org>
17113
17114         unistd: Ensure getcwd gets declared before being overridden.
17115         * lib/unistd.in.h: Conditionally include <io.h>.
17116
17117 2009-12-22  Bruno Haible  <bruno@clisp.org>
17118
17119         wchar: Diagnose broken combination of glibc and gcc versions and flags.
17120         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
17121         (gl_WCHAR_H): Invoke it.
17122         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
17123         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
17124         Reported by Karl Berry <karl@freefriends.org>.
17125
17126 2009-12-22  Eric Blake  <ebb9@byu.net>
17127
17128         math, unistd: avoid redundant includes
17129         * lib/math.in.h (isnan): No need to re-include <math.h>.
17130         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
17131
17132         getsubopt: work around cygwin bug
17133         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
17134         avoid conflicting with system getsubopt.
17135         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
17136         bug.
17137
17138         getopt: synchronize from glibc
17139         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
17140         parameter order.  Adjust all callers.
17141         (_getopt_internal_r, main): Adjust quoting in error messages.
17142         Drop considerations for outdated POSIX 1003.2 error message.
17143         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
17144         callers.
17145         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
17146
17147         test-getopt: test stderr behavior
17148         * modules/getopt-posix-tests (Depends-on): Add dup2.
17149         * tests/test-getopt.c (ASSERT): Avoid stderr.
17150         (main): Move stderr to a temporary file.
17151         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
17152         Instead, add parameter to inform caller if output occurred.
17153         (test_getopt): Adjust all existing tests to expect silence, and
17154         add new tests of leading ":".
17155         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
17156         glibc shortcomings with leading "-:" or "+:" in optstring.
17157         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17158         Likewise.
17159         * doc/posix-functions/getopt.texi (getopt): Likewise.
17160
17161         test-getopt: enhance test
17162         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
17163         supports optind=0.
17164         * tests/test-getopt.c (OPTIND_MIN): Move...
17165         * tests/test-getopt.h (OPTIND_MIN): ...here.
17166         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
17167         Require that optind=0 works, since modern BSD supports it in
17168         addition to optreset, and since coreutils expects it.
17169         (test_getopt_long_only): New test.
17170         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
17171         glibc shortcomings with 'W;', and enforcement of optind=0.
17172         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17173         Likewise.
17174
17175 2009-12-21  Bruno Haible  <bruno@clisp.org>
17176
17177         localename: Improvements for MacOS X and Cygwin.
17178         * lib/localename.h (gl_locale_name_environ): New declaration.
17179         * lib/localename.c (gl_locale_name_environ): New function, extracted from
17180         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
17181         (gl_locale_name_posix): Invoke it.
17182         (gl_locale_name_default): Add comments. Use Windows native API also on
17183         Cygwin.
17184
17185 2009-12-21  Bruno Haible  <bruno@clisp.org>
17186
17187         Update list of Win32 locale ids.
17188         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
17189         (LANG_SAMI): Renamed from LANG_SAAMI.
17190         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
17191         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
17192         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
17193         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
17194         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
17195         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
17196         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
17197         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
17198         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
17199         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
17200         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
17201         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
17202         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
17203         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
17204         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
17205         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
17206         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
17207         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
17208         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
17209         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
17210         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
17211         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
17212         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
17213         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
17214         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
17215         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
17216         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
17217         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
17218         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
17219         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
17220         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
17221         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
17222         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
17223         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
17224         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
17225         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
17226         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
17227         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
17228         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
17229         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
17230         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
17231         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
17232         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
17233         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
17234         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
17235         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
17236         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
17237         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
17238         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
17239         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
17240         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
17241         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
17242         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
17243         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
17244         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
17245         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
17246         Add more languages and countries for Sami, Sorbian. Add more countries
17247         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
17248         for Pashto. Change country for Syriac, Tswana.
17249
17250 2009-12-21  Eric Blake  <ebb9@byu.net>
17251
17252         test-utimens: avoid spurious failure
17253         * tests/test-chown.h (nap): Factor...
17254         * tests/nap.h: ...into new file.
17255         * tests/test-lchown.h (nap): Avoid duplication.
17256         * tests/test-utimens-common.h (nap): Use shared implementation,
17257         necessary on file systems with 1-second resolution.
17258         * modules/chown-tests (Files): Include new file.
17259         * modules/fdutimensat-tests (Files): Likewise.
17260         * modules/futimens-tests (Files): Likewise.
17261         * modules/lchown-tests (Files): Likewise.
17262         * modules/openat-tests (Files): Likewise.
17263         * modules/utimens-tests (Files): Likewise.
17264         * modules/utimensat-tests (Files): Likewise.
17265
17266 2009-12-19  Eric Blake  <ebb9@byu.net>
17267
17268         futimens, utimensat: work around Linux bug
17269         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
17270         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17271         * lib/utimensat.c (rpl_utimensat): Work around it.
17272         * lib/futimens.c (rpl_futimens): Adjust comment.
17273
17274         utimens: work around Linux ctime bug
17275         * lib/utimens.c (detect_ctime_bug): New helper function.
17276         (update_timespec): Differentiate between workaround needed for
17277         this bug vs. what is needed for systems that lack utimensat.
17278         (fdutimens, lutimens): Work around bug.
17279
17280         utimens: check for ctime update
17281         * tests/test-utimens-common.h (check_ctime): Define.
17282         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
17283         * tests/test-futimens.h (test_futimens): Likewise.
17284         * tests/test-lutimens.h (test_lutimens): Likewise.
17285         * doc/posix-functions/futimens.texi (futimens): Document the bug.
17286         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17287
17288 2009-12-19  Bruno Haible  <bruno@clisp.org>
17289
17290         dprintf-posix: Check against memory leak fixed on 2009-12-15.
17291         * tests/test-dprintf-posix2.sh: New file.
17292         * tests/test-dprintf-posix2.c: New file.
17293         * modules/dprintf-posix-tests (Files): Add them.
17294         (configure.ac): Check for getrlimit and setrlimit.
17295         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
17296
17297 2009-12-19  Bruno Haible  <bruno@clisp.org>
17298
17299         fprintf-posix: Check against memory leak fixed on 2009-12-15.
17300         * tests/test-fprintf-posix3.sh: New file.
17301         * tests/test-fprintf-posix3.c: New file.
17302         * modules/fprintf-posix-tests (Files): Add them.
17303         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
17304
17305 2009-12-19  Eric Blake  <ebb9@byu.net>
17306
17307         dirfd: fix prototype
17308         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
17309         * lib/dirfd.c (dirfd): Likewise.
17310
17311         canonicalize: reduce memory usage
17312         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
17313         allocation to size.
17314         Reported by Solar Designer <solar@openwall.com>.
17315
17316 2009-12-19  Bruno Haible  <bruno@clisp.org>
17317
17318         New module attribute 'Applicability'.
17319         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
17320         * gnulib-tool: New option --extract-applicability.
17321         (func_usage): Document it.
17322         (sed_extract_prog): Recognize it.
17323         (func_get_applicability): New function.
17324         (func_import): Generalize handling of 'link-warning' module.
17325         * modules/link-warning (Applicability): New section.
17326         * modules/arg-nonnull (Applicability): New section.
17327         Repoted by Simon Josefsson <simon@josefsson.org>.
17328
17329 2009-12-19  Bruno Haible  <bruno@clisp.org>
17330
17331         fflush: tweak
17332         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
17333         * lib/fseeko.c (rpl_fseeko): Likewise.
17334
17335 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
17336
17337         * lib/gl_list.h: Fix typo in comment.
17338
17339 2009-12-16  Eric Blake  <ebb9@byu.net>
17340
17341         fcntl: use to simplify other modules
17342         * modules/cloexec (Depends-on): Add fcntl.
17343         * modules/fchdir (Depends-on): Likewise.
17344         * modules/fd-safer-flag (Depends-on): Likewise.
17345         * modules/unistd-safer (Depends-on): Likewise.
17346         * modules/dup3 (configure.ac): Set module indicator.
17347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
17348         missing.
17349         * lib/fchdir.c (_gl_register_dup): Fix comment.
17350         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
17351         * lib/dup-safer.c (dup_safer): Likewise.
17352         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
17353         * lib/dup3.c (dup3): Likewise.
17354         * tests/test-fchdir.c (main): Enhance test.
17355         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
17356
17357         fcntl: port portions of fcntl to mingw
17358         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
17359         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
17360         replacement for mingw.
17361         * modules/fcntl (Description): Update.
17362         (Depends-on): Add dup2.
17363         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
17364         * modules/fcntl-h (Makefile.am): Substitute it.
17365         * lib/fcntl.in.h (fcntl): Update declaration.
17366         (F_DUPFD, F_GETFD): New macros, when needed.
17367         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17368         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
17369         * tests/test-fcntl.c (check_flags, main): Enhance test for items
17370         we now guarantee.
17371
17372         fcntl: work around cygwin bug in F_DUPFD
17373         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
17374         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
17375         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
17376         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
17377         * doc/posix-functions/fcntl.texi (fcntl): Document it.
17378
17379         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
17380         * modules/fcntl (Files): List new files.
17381         (configure.ac): Run a test.
17382         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
17383         * lib/fcntl.c (rpl_fcntl): Likewise.
17384         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
17385         (gl_FCNTL_H): Always replace fcntl.h.
17386         * modules/fcntl-h (Makefile.am): Substitute witnesses.
17387         * lib/fcntl.in.h (fcntl): Declare replacement.
17388         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
17389         needed, plus a witness.
17390         * doc/posix-functions/fcntl.texi (fcntl): Document this.
17391         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
17392         * tests/test-fcntl.c: New file.
17393         * modules/fcntl-tests: Likewise.
17394
17395         binary-io: avoid potential compilation warning
17396         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
17397         directives.
17398
17399         fflush: avoid compilation error on NetBSD
17400         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
17401         between off_t and fpos_t, since the latter is sometimes a struct.
17402         * lib/fseeko.c (rpl_fseeko): Likewise.
17403         Reported by Alexander Nasonov <alnsn@yandex.ru>.
17404
17405 2009-12-15  Eric Blake  <ebb9@byu.net>
17406
17407         fcntl-h, stdio, sys_ioctl: fix declarations
17408         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
17409         function must not take arguments.
17410         * lib/sys_ioctl.in.h (ioctl): Likewise.
17411         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
17412         (open): Add a link warning.
17413
17414 2009-12-15  Jim Meyering  <meyering@redhat.com>
17415
17416         areadlink, areadlink-with-size: relax license to LGPLv2+
17417         * modules/areadlink (License): Relax to LGPLv2+.
17418         * modules/areadlink-with-size (License): Likewise.
17419
17420 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
17421             Bruno Haible  <bruno@clisp.org>
17422
17423         *printf: Fix memory leak.
17424         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
17425         * lib/vfprintf.c (vfprintf): Likewise.
17426         * lib/dprintf.c (dprintf): Likewise.
17427         * lib/vdprintf.c (vdprintf): Likewise.
17428
17429 2009-12-14  Eric Blake  <ebb9@byu.net>
17430
17431         accept4: adjust module dependencies
17432         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
17433
17434         utimens: one more try at avoiding compiler warning
17435         * lib/utimens.c (lutimens): Lower scope of result.
17436
17437 2009-12-13  Bruno Haible  <bruno@clisp.org>
17438
17439         Move the malloc checking from module 'list' to new module 'xlist'.
17440         * modules/xlist: New file.
17441         * lib/gl_xlist.h: New file.
17442         * lib/gl_xlist.c: New file.
17443         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
17444         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
17445         gl_list_add_last, gl_list_add_before, gl_list_add_after,
17446         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
17447         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
17448         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
17449         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
17450         gl_sortedlist_nx_add): New declarations.
17451         (struct gl_list_implementation): Rename and change methods accordingly.
17452         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
17453         (gl_list_nx_create): Renamed from gl_list_create.
17454         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
17455         (gl_list_nx_set_at): Renamed from gl_list_set_at.
17456         (gl_list_nx_add_first): Renamed from gl_list_add_first.
17457         (gl_list_nx_add_last): Renamed from gl_list_add_last.
17458         (gl_list_nx_add_before): Renamed from gl_list_add_before.
17459         (gl_list_nx_add_after): Renamed from gl_list_add_after.
17460         (gl_list_nx_add_at): Renamed from gl_list_add_at.
17461         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
17462         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
17463         gl_list_create_empty.
17464         (gl_list_nx_create): Renamed from gl_list_create.
17465         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
17466         (gl_list_nx_set_at): Renamed from gl_list_set_at.
17467         (gl_list_nx_add_first): Renamed from gl_list_add_first.
17468         (gl_list_nx_add_last): Renamed from gl_list_add_last.
17469         (gl_list_nx_add_before): Renamed from gl_list_add_before.
17470         (gl_list_nx_add_after): Renamed from gl_list_add_after.
17471         (gl_list_nx_add_at): Renamed from gl_list_add_at.
17472         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
17473         * lib/gl_array_list.c: Don't include xalloc.h.
17474         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
17475         NULL upon out-of-memory.
17476         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
17477         out-of-memory.
17478         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
17479         Change return type to 'int'.
17480         (gl_array_nx_set_at): Renamed from gl_array_set_at.
17481         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
17482         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
17483         upon out-of-memory.
17484         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
17485         upon out-of-memory.
17486         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
17487         upon out-of-memory.
17488         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
17489         upon out-of-memory.
17490         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
17491         out-of-memory.
17492         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
17493         Update.
17494         (gl_array_list_implementation): Update.
17495         * lib/gl_carray_list.c: Don't include xalloc.h.
17496         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
17497         Return NULL upon out-of-memory.
17498         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
17499         out-of-memory.
17500         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
17501         Change return type to 'int'.
17502         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
17503         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
17504         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
17505         upon out-of-memory.
17506         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
17507         upon out-of-memory.
17508         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
17509         out-of-memory.
17510         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
17511         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
17512         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
17513         Update.
17514         (gl_carray_list_implementation): Update.
17515         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
17516         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
17517         gl_linked_create_empty. Return NULL upon out-of-memory.
17518         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
17519         out-of-memory.
17520         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
17521         Change return type to 'int'. Return -1 upon out-of-memory.
17522         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
17523         out-of-memory.
17524         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
17525         upon out-of-memory.
17526         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
17527         upon out-of-memory.
17528         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
17529         NULL upon out-of-memory.
17530         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
17531         upon out-of-memory.
17532         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
17533         out-of-memory.
17534         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
17535         Update.
17536         * lib/gl_linked_list.c: Don't include xalloc.h.
17537         (gl_linked_list_implementation): Update.
17538         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
17539         (add_to_bucket): Change return type to 'int'.
17540         (gl_linkedhash_list_implementation): Update.
17541         * lib/gl_anytree_list1.h (free_subtree): New function.
17542         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
17543         gl_tree_create_empty. Return NULL upon out-of-memory.
17544         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
17545         Change return type to 'int'. Return -1 upon out-of-memory.
17546         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
17547         out-of-memory.
17548         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
17549         (gl_tree_remove_node): New function, moved here from
17550         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
17551         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
17552         Update.
17553         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
17554         malloc, not xmalloc. Return NULL upon out-of-memory.
17555         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
17556         out-of-memory.
17557         (gl_tree_remove_node_from_tree): New function, extracted from
17558         gl_tree_remove_node.
17559         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
17560         upon out-of-memory.
17561         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
17562         out-of-memory.
17563         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
17564         upon out-of-memory.
17565         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
17566         upon out-of-memory.
17567         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
17568         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
17569         not xmalloc. Return NULL upon out-of-memory.
17570         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
17571         out-of-memory.
17572         (gl_tree_remove_node_from_tree): New function, extracted from
17573         gl_tree_remove_node.
17574         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
17575         upon out-of-memory.
17576         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
17577         out-of-memory.
17578         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
17579         upon out-of-memory.
17580         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
17581         upon out-of-memory.
17582         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
17583         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
17584         gl_anytree_list1.h before gl_anyavltree_list2.h.
17585         (gl_avltree_list_implementation): Update.
17586         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
17587         gl_anytree_list1.h before gl_anyavltree_list2.h.
17588         (gl_rbtree_list_implementation): Update.
17589         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
17590         Change return type to 'int'. Return -1 upon out-of-memory. Use
17591         __builtin_expect.
17592         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
17593         (gl_avltreehash_list_implementation): Update.
17594         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
17595         (gl_rbtreehash_list_implementation): Update.
17596         * modules/array-list (Depends-on): Remove xalloc.
17597         * modules/carray-list (Depends-on): Likewise.
17598         * modules/linked-list (Depends-on): Likewise.
17599         * modules/linkedhash-list (Depends-on): Likewise.
17600         * modules/avltree-list (Depends-on): Likewise.
17601         * modules/rbtree-list (Depends-on): Likewise.
17602         * modules/avltreehash-list (Depends-on): Likewise.
17603         * modules/rbtreehash-list (Depends-on): Likewise.
17604
17605         * modules/xsublist: New file.
17606         * lib/gl_xsublist.h: New file.
17607         * lib/gl_xsublist.c: New file.
17608         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
17609         (gl_sublist_nx_create): New declaration.
17610         * lib/gl_sublist.c: Don't include xalloc.h.
17611         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
17612         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
17613         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
17614         Change return type to 'int'. Return -1 upon out-of-memory.
17615         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
17616         upon out-of-memory.
17617         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
17618         NULL upon out-of-memory.
17619         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
17620         upon out-of-memory.
17621         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
17622         NULL upon out-of-memory.
17623         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
17624         NULL upon out-of-memory.
17625         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
17626         upon out-of-memory.
17627         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
17628         (gl_sublist_list_implementation): Update.
17629         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
17630         upon out-of-memory.
17631         * modules/sublist (Depends-on): Remove xalloc.
17632
17633         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
17634         * tests/test-carray_list.c: Likewise.
17635         * tests/test-linked_list.c: Likewise.
17636         * tests/test-linkedhash_list.c: Likewise.
17637         * tests/test-avltree_list.c: Likewise.
17638         * tests/test-rbtree_list.c: Likewise.
17639         * tests/test-avltreehash_list.c: Likewise.
17640         * tests/test-rbtreehash_list.c: Likewise.
17641         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
17642         * modules/carray-list-tests (Makefile.am): Likewise.
17643         * modules/linked-list-tests (Makefile.am): Likewise.
17644         * modules/linkedhash-list-tests (Makefile.am): Likewise.
17645         * modules/avltree-list-tests (Makefile.am): Likewise.
17646         * modules/rbtree-list-tests (Makefile.am): Likewise.
17647         * modules/avltreehash-list-tests (Makefile.am): Likewise.
17648         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
17649
17650         * NEWS: Mention the changes.
17651
17652         * lib/clean-temp.c: Include gl_xlist.h.
17653         * modules/clean-temp (Depends-on): Add xlist.
17654
17655         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
17656         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
17657
17658         * tests/test-array_oset.c: Include gl_xlist.h.
17659         * modules/array-oset-tests (Depends-on): Add xlist.
17660
17661         Reported by José E. Marchesi <jemarch@gnu.org>.
17662
17663 2009-12-13  Bruno Haible  <bruno@clisp.org>
17664
17665         Move the malloc checking from module 'oset' to new module 'xoset'.
17666         * modules/xoset: New file.
17667         * lib/gl_xoset.h: New file.
17668         * lib/gl_xoset.c: New file.
17669         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
17670         declarations.
17671         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
17672         (struct gl_oset_implementation): Rename and change methods accordingly.
17673         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
17674         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
17675         'int'. Mark as __warn_unused_result__.
17676         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
17677         gl_oset_create_empty.
17678         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
17679         'int'.
17680         * lib/gl_array_oset.c: Don't include xalloc.h.
17681         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
17682         malloc, not xmalloc.
17683         (grow): Change return type to 'int'. Don't call xalloc_die.
17684         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
17685         to 'int'.
17686         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
17687         'int'.
17688         (gl_array_oset_implementation): Update.
17689         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
17690         gl_tree_create_empty.
17691         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
17692         'int'.
17693         * lib/gl_avltree_oset.c: Don't include xalloc.h.
17694         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
17695         xmalloc.
17696         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
17697         not xmalloc.
17698         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
17699         xmalloc.
17700         (gl_avltree_oset_implementation): Update.
17701         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
17702         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
17703         xmalloc.
17704         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
17705         not xmalloc.
17706         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
17707         xmalloc.
17708         (gl_rbtree_oset_implementation): Update.
17709         * modules/array-oset (Depends-on): Remove xalloc.
17710         * modules/avltree-oset (Depends-on): Likewise.
17711         * modules/rbtree-oset (Depends-on): Likewise.
17712         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
17713         * tests/test-avltree_oset.c: Likewise.
17714         * tests/test-rbtree_oset.c: Likewise.
17715         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
17716         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
17717         * modules/rbtree-oset-tests (Makefile.am): Likewise.
17718         * NEWS: Mention the change.
17719
17720 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
17721
17722         maint.mk: allow a project to override release-prep commands
17723         * top/maint.mk (alpha, beta, stable): Move release-preparatory
17724         commands into a new rule.
17725         (release-prep): New rule.
17726         (release-prep-hook): New overridable variable.
17727
17728 2009-12-13  Bruno Haible  <bruno@clisp.org>
17729
17730         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
17731
17732 2009-12-13  Jim Meyering  <meyering@redhat.com>
17733
17734         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
17735         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
17736
17737 2009-12-12  Bruno Haible  <bruno@clisp.org>
17738
17739         duplocale: Tweak.
17740         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
17741
17742 2009-12-12  Karl Berry  <karl@gnu.org>
17743
17744         * config/srclist.txt (strtoll.c): tab changes, no more sync.
17745
17746 2009-12-12  Bruno Haible  <bruno@clisp.org>
17747
17748         * m4/po.m4: Undo incorrect untabification.
17749
17750 2009-12-12  Bruno Haible  <bruno@clisp.org>
17751
17752         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
17753         * modules/c-strtod (Depends-on): Add locale.
17754         * modules/c-strtold (Depends-on): Likewise.
17755
17756 2009-12-12  Bruno Haible  <bruno@clisp.org>
17757
17758         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
17759
17760 2009-12-11  Eric Blake  <ebb9@byu.net>
17761
17762         setenv: relax requirement in light of POSIX ruling
17763         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
17764         not NULL.
17765         * tests/test-setenv.c (main): Relax test.
17766         * tests/test-unsetenv.c (main): Likewise.
17767         * doc/posix-functions/setenv.texi (setenv): Document this.
17768         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
17769
17770 2009-12-11  Bruno Haible  <bruno@clisp.org>
17771
17772         New module 'fd-safer-flag'.
17773         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
17774         * lib/dup-safer.c (dup_safer_flag): Remove function.
17775         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
17776         * lib/fd-safer.c (fd_safer_flag): Remove function.
17777         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
17778         * modules/cloexec (configure.ac): Drop indicator macro.
17779         * modules/fd-safer-flag: New file.
17780         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
17781         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
17782         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
17783
17784 2009-12-11  Bruno Haible  <bruno@clisp.org>
17785
17786         Tests for module 'nl_langinfo'.
17787         * modules/nl_langinfo-tests: New file.
17788         * tests/test-nl_langinfo.sh: New file.
17789         * tests/test-nl_langinfo.c: New file.
17790
17791         New module 'nl_langinfo'.
17792         * lib/nl_langinfo.c: New file.
17793         * m4/nl_langinfo.m4: New file.
17794         * modules/nl_langinfo: New file.
17795         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
17796
17797 2009-12-11  Bruno Haible  <bruno@clisp.org>
17798
17799         Tests for module 'langinfo'.
17800         * modules/langinfo-tests: New file.
17801         * tests/test-langinfo.c: New file.
17802
17803         New module 'langinfo'.
17804         * lib/langinfo.in.h: New file.
17805         * m4/langinfo_h.m4: New file.
17806         * modules/langinfo: New file.
17807         * doc/posix-headers/langinfo.texi: Mention the new module.
17808
17809 2009-12-11  Bruno Haible  <bruno@clisp.org>
17810
17811         * lib/config.charset: Untabify.
17812
17813 2009-12-11  Bruno Haible  <bruno@clisp.org>
17814
17815         * modules/unistd-safer (configure.ac): Drop indicator macro.
17816
17817 2009-12-11  Bruno Haible  <bruno@clisp.org>
17818
17819         Move pipe2-safer code to its own file.
17820         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
17821         * lib/pipe-safer.c (pipe2_safer): Remove function.
17822         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
17823         (Makefile.am): Add it to lib_SOURCES.
17824
17825 2009-12-10  Bruno Haible  <bruno@clisp.org>
17826
17827         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
17828
17829 2009-12-10  Bruno Haible  <bruno@clisp.org>
17830
17831         Declare which arguments expect non-NULL values, for GCC and clang.
17832         * build-aux/arg-nonnull.h: New file.
17833         * modules/arg-nonnull: New file.
17834         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
17835         (inet_ntop, inet_pton): Use it.
17836         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
17837         (closedir, dirfd, opendir, scandir, alphasort): Use it.
17838         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
17839         (open, openat): Use it.
17840         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
17841         (fnmatch): Use it.
17842         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
17843         (getopt, getopt_long, getopt_long_only): Use it.
17844         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
17845         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
17846         Use it.
17847         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
17848         (iconv_open): Use it.
17849         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
17850         (strtoimax, strtoumax): Use it.
17851         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
17852         (duplocale): Use it.
17853         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
17854         (frexp, frexpl): Use it.
17855         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
17856         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
17857         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
17858         (tsearch, tfind, tdelete, twalk): Use it.
17859         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
17860         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17861         sigpending): Use it.
17862         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
17863         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17864         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17865         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17866         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17867         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17868         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17869         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17870         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17871         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17872         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17873         Use it.
17874         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
17875         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
17876         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
17877         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
17878         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
17879         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
17880         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
17881         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
17882         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
17883         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
17884         strtoull, unsetenv): Use it.
17885         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
17886         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17887         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17888         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
17889         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
17890         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
17891         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
17892         (strcasecmp, strncasecmp): Use it.
17893         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
17894         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
17895         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
17896         rpl_setsockopt): Use it.
17897         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
17898         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
17899         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
17900         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
17901         (gettimeofday): Use it.
17902         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
17903         (times): Use it.
17904         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
17905         (uname): Use it.
17906         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
17907         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
17908         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
17909         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
17910         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
17911         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
17912         unlinkat, write): Use it.
17913         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
17914         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
17915         * lib/argv-iter.h: Include arg-nonnull.h.
17916         (_ATTRIBUTE_NONNULL_): Remove macro.
17917         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
17918         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
17919         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
17920         optimization.
17921         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
17922         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
17923         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
17924         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
17925         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
17926         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
17927         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
17928         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
17929         * modules/arpa_inet (Depends-on): Add arg-nonnull.
17930         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
17931         * modules/dirent (Depends-on): Add arg-nonnull.
17932         (Makefile.am): Insert arg-nonnull.h into dirent.h.
17933         * modules/fcntl-h (Depends-on): Add arg-nonnull.
17934         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
17935         * modules/fnmatch (Depends-on): Add arg-nonnull.
17936         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
17937         * modules/getopt-posix (Depends-on): Add arg-nonnull.
17938         (Makefile.am): Insert arg-nonnull.h into getopt.h.
17939         * modules/glob (Depends-on): Add arg-nonnull.
17940         (Makefile.am): Insert arg-nonnull.h into glob.h.
17941         * modules/iconv_open (Depends-on): Add arg-nonnull.
17942         (Makefile.am): Insert arg-nonnull.h into iconv.h.
17943         * modules/inttypes (Depends-on): Add arg-nonnull.
17944         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
17945         * modules/locale (Depends-on): Add arg-nonnull.
17946         (Makefile.am): Insert arg-nonnull.h into locale.h.
17947         * modules/math (Depends-on): Add arg-nonnull.
17948         (Makefile.am): Insert arg-nonnull.h into math.h.
17949         * modules/netdb (Depends-on): Add arg-nonnull.
17950         (Makefile.am): Insert arg-nonnull.h into netdb.h.
17951         * modules/search (Depends-on): Add arg-nonnull.
17952         (Makefile.am): Insert arg-nonnull.h into search.h.
17953         * modules/signal (Depends-on): Add arg-nonnull.
17954         (Makefile.am): Insert arg-nonnull.h into signal.h.
17955         * modules/spawn (Depends-on): Add arg-nonnull.
17956         (Makefile.am): Insert arg-nonnull.h into spawn.h.
17957         * modules/stdio (Depends-on): Add arg-nonnull.
17958         (Makefile.am): Insert arg-nonnull.h into stdio.h.
17959         * modules/stdlib (Depends-on): Add arg-nonnull.
17960         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
17961         * modules/string (Depends-on): Add arg-nonnull.
17962         (Makefile.am): Insert arg-nonnull.h into string.h.
17963         * modules/strings (Depends-on): Add arg-nonnull.
17964         (Makefile.am): Insert arg-nonnull.h into strings.h.
17965         * modules/sys_socket (Depends-on): Add arg-nonnull.
17966         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
17967         * modules/sys_stat (Depends-on): Add arg-nonnull.
17968         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
17969         * modules/sys_time (Depends-on): Add arg-nonnull.
17970         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
17971         * modules/sys_times (Depends-on): Add arg-nonnull.
17972         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
17973         * modules/sys_utsname (Depends-on): Add arg-nonnull.
17974         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
17975         * modules/time (Depends-on): Add arg-nonnull.
17976         (Makefile.am): Insert arg-nonnull.h into time.h.
17977         * modules/unistd (Depends-on): Add arg-nonnull.
17978         (Makefile.am): Insert arg-nonnull.h into unistd.h.
17979         * modules/wchar (Depends-on): Add arg-nonnull.
17980         (Makefile.am): Insert arg-nonnull.h into wchar.h.
17981         * modules/argv-iter (Depends-on): Add arg-nonnull.
17982         * tests/test-canonicalize.c (null_ptr): New function.
17983         (main): Use it.
17984         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
17985         (main): Use it.
17986         * tests/test-memmem.c (null_ptr): New function.
17987         (main): Use it.
17988         Reported by Jim Meyering.
17989
17990 2009-12-10  Bruno Haible  <bruno@clisp.org>
17991
17992         Use spaces for indentation, not tabs.
17993         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
17994         * m4/*.m4: Untabify.
17995         * build-aux/*.h: Untabify.
17996         * tests/**/*.[hc]: Untabify.
17997         * README: New section "Indent with spaces, not TABs", based on
17998         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
17999         * NEWS: Mention the change.
18000
18001 2009-12-10  Bruno Haible  <bruno@clisp.org>
18002
18003         pty test: Fix link error.
18004         * modules/pty-tests (Makefile.am): Add the default LDADD value to
18005         test_pty_LDADD.
18006
18007 2009-12-07  Simon Josefsson  <simon@josefsson.org>
18008
18009         * modules/pty: New file.
18010         * modules/pty-tests: New file.
18011         * m4/pty.m4: New file.
18012         * tests/test-pty.c: New file.
18013         * doc/glibc-headers/pty.texi: Modified.
18014         * doc/glibc-functions/forkpty.texi: Modified.
18015         * doc/glibc-functions/openpty.texi: Modified.
18016
18017 2009-12-10  Bruno Haible  <bruno@clisp.org>
18018
18019         Avoid syntax error in C++ mode.
18020         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
18021
18022 2009-12-10  Bruno Haible  <bruno@clisp.org>
18023
18024         Use sed with option -e.
18025         * gnulib-tool (func_version, func_emit_copyright_notice,
18026         func_emit_initmacro_end, func_import, func_create_testdir): Pass
18027         option -e to sed.
18028         * modules/link-warning (Makefile.am): Likewise.
18029
18030 2009-12-10  Jim Meyering  <meyering@redhat.com>
18031
18032         mgetgroups: do not write bytes beyond end of malloc'd buffer
18033         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
18034         username, we call getgroups with a one-element-shorter buffer,
18035         but still told it the length was original, max_n_groups.
18036
18037 2009-12-09  Eric Blake  <ebb9@byu.net>
18038
18039         cloexec: relax license
18040         * modules/cloexec (Maintainer): Add myself.
18041         (License): Use LGPL, not GPL.
18042
18043         link-warning: optimize generation
18044         * modules/link-warning (Makefile.am): Reduce process usage.
18045
18046 2009-12-09  Bruno Haible  <bruno@clisp.org>
18047
18048         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
18049         workaround was added on 2009-11-17.
18050
18051 2009-12-09  Jim Meyering  <meyering@redhat.com>
18052             Bruno Haible  <bruno@clisp.org>
18053
18054         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
18055         * modules/link-warning (Makefile.am): Make the comment-removing sed
18056         command more robust in the face of bootstrap-prepended comment lines.
18057
18058 2009-12-09  Bruno Haible  <bruno@clisp.org>
18059
18060         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
18061         most one group.
18062
18063 2009-12-09  Simon Josefsson <simon@josefsson.org>
18064             Bruno Haible  <bruno@clisp.org>
18065
18066         * build-aux/link-warning.h: Add copyright notice.
18067         * modules/link-warning (Makefile.am): Generate link-warning.h from
18068         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
18069         * NEWS: Mention change in link-warning module.
18070         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
18071         * modules/dirent (Makefile.am): Add dependency to dirent.h.
18072         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
18073         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
18074         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
18075         * modules/math (Makefile.am): Add dependency to math.h.
18076         * modules/search (Makefile.am): Add dependency to search.h.
18077         * modules/signal (Makefile.am): Add dependency to signal.h.
18078         * modules/spawn (Makefile.am): Add dependency to spawn.h.
18079         * modules/stdio (Makefile.am): Add dependency to stdio.h.
18080         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
18081         * modules/string (Makefile.am): Add dependency to string.h.
18082         * modules/strings (Makefile.am): Add dependency to strings.h.
18083         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
18084         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
18085         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
18086         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
18087         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
18088         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
18089         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
18090         * modules/unistd (Makefile.am): Add dependency to unistd.h.
18091         * modules/wchar (Makefile.am): Add dependency to wchar.h.
18092
18093 2009-12-09  Bruno Haible  <bruno@clisp.org>
18094
18095         fchdir: Optimize away rpl_fstat when possible.
18096         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
18097         REPLACE_OPEN_DIRECTORY.
18098         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
18099
18100 2009-12-09  Bruno Haible  <bruno@clisp.org>
18101
18102         * lib/fchdir.c: Update comment.
18103
18104 2009-12-09  Bruno Haible  <bruno@clisp.org>
18105
18106         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
18107
18108 2009-12-08  Eric Blake  <ebb9@byu.net>
18109
18110         fchdir: avoid memory leak on re-registration.
18111         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
18112
18113 2009-12-08  Jim Meyering  <meyering@redhat.com>
18114
18115         init.sh: avoid Solaris 10 /bin/sh portability problem
18116         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
18117         sourced script:
18118           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
18119           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
18120           bar
18121         tests/init.sh relied on that, accepting a --set-path=DIR argument,
18122         and two tests used that idiom.
18123         * tests/init.sh: Update suggested usage comments.
18124         (path_prepend_): New function, to be used in place
18125         of the --src-path=DIR option.
18126         (setup_): Move PATH-prepending code into path_prepend_.
18127         * tests/test-pread.sh: Adapt to new usage.
18128         * tests/test-xalloc-die.sh: Likewise.
18129
18130 2009-12-08  Simon Josefsson  <simon@josefsson.org>
18131
18132         * doc/gnulib.texi (Glibc pty.h): Add.
18133         * doc/glibc-functions/forkpty.texi: Add.
18134         * doc/glibc-functions/openpty.texi: Add.
18135         Suggested by Bruno Haible.
18136
18137 2009-12-08  Eric Blake  <ebb9@byu.net>
18138
18139         fchdir: fix logic bugs
18140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
18141         * tests/test-fchdir.c (main): Enhance test.
18142         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
18143         is in use.
18144
18145         dup2: fix logic bugs
18146         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
18147         REPLACE_DUP2 to decide when rpl_dup2 is needed.
18148         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
18149         exists.
18150         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
18151
18152 2009-12-07  Eric Blake  <ebb9@byu.net>
18153
18154         unlink: fix m4 detection
18155         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
18156
18157         unistd-safer: add unit test
18158         * modules/unistd-safer-tests: New file.
18159         * tests/test-dup-safer.c: Likewise.
18160         * tests/test-cloexec.c (setmode): Avoid compiler warning.
18161         * tests/test-dup2.c (setmode): Likewise.
18162         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
18163
18164         cloexec: preserve text vs. binary across dup_cloexec
18165         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
18166         mode.
18167         * modules/dup2-tests (Depends-on): Add binary-io.
18168         * modules/cloexec-tests (Depends-on): Likewise.
18169         * tests/test-dup2.c (setmode, is_mode): New helpers.
18170         (main): Add tests that translation mode is preserved.
18171         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
18172         Reported by Bruno Haible.
18173
18174         mgetgroups: reduce duplicate listings
18175         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
18176         resulting array.
18177         * tests/test-chown.h (test_chown): Simplify client.
18178         * tests/test-lchown.h (test_lchown): Likewise.
18179
18180 2009-12-06  Bruno Haible  <bruno@clisp.org>
18181
18182         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
18183         value.
18184
18185 2009-12-06  Bruno Haible  <bruno@clisp.org>
18186
18187         * lib/progname.c: Include stdio.h, stdlib.h.
18188         (set_program_name): Reject a NULL argument.
18189
18190 2009-12-05  Eric Blake  <ebb9@byu.net>
18191
18192         pipe2-safer: new module
18193         * modules/pipe2-safer: New file.
18194         * lib/unistd-safer.h (pipe2_safer): New prototype.
18195         * lib/unistd--.h (pipe2): New wrapper.
18196         * lib/pipe-safer.c (pipe2_safer): New function.
18197         * modules/pipe (Depends-on): Add pipe2-safer.
18198         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
18199
18200         stdlib-safer: preserve cloexec flag for mkostemp[s]
18201         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
18202         fd_safer_flag.
18203
18204         unistd-safer: allow preservation of cloexec status via flag
18205         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
18206         prototypes.
18207         * lib/dup-safer.c (dup_safer_flag): New function.
18208         * lib/fd-safer.c (fd_safer_flag): Likewise.
18209         * modules/cloexec (configure.ac): Set witness.
18210
18211         test-dup2: enhance test
18212         * modules/dup2-tests (Depends-on): Add cloexec.
18213         * tests/test-dup2.c (main): Enhance test.
18214
18215         cloexec: add dup_cloexec
18216         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
18217         header and comments.
18218         * lib/cloexec.c (set_cloexec_flag): Add comments.
18219         (dup_cloexec): New function, with mingw implementation borrowed
18220         from...
18221         * lib/w32spawn.h (dup_noinherit): ...here.
18222         * modules/execute (Depends-on): Add cloexec.
18223         * modules/pipe (Depends-on): Likewise.
18224         * modules/cloexec (Depends-on): Add dup2.
18225         * modules/cloexec-tests (Files): New file.
18226         * tests/test-cloexec.c: Likewise.
18227
18228         test-xalloc-die: fix test for mingw
18229         * modules/xalloc-die-tests (Files): Add tests/init.sh.
18230         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
18231         directory and .exe suffix off argv[0] output.
18232
18233         test-fseeko: fix test for mingw
18234         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
18235         than undefining fseek, so test will pass on mingw.
18236
18237 2009-12-05  Bruno Haible  <bruno@clisp.org>
18238
18239         * lib/progname.h (set_program_name): Clarify specification.
18240         * lib/progname.c (set_program_name): Likewise.
18241         Reported by Jim Meyering.
18242
18243 2009-12-05  Jim Meyering  <meyering@redhat.com>
18244
18245         maint.mk: backslash-escape parens in default regexp
18246         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
18247         backslash-escape the literal parentheses.
18248
18249         maint.mk: news-date-check: use grep -E
18250         * top/maint.mk (today): Define a Make variable, not a...
18251         (news-date-check): ...shell variable.
18252         (news-date-regexp): Use the Make variable.
18253         Use grep's -E option.  Change the failing diagnostic to mention
18254         the variable, $(news-date-regexp).
18255
18256 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
18257
18258         maintainer-makefile: allow customization of NEWS entry format
18259         * top/maint.mk (news-date-regexp): New overridable variable.
18260         (news-date-check): Use it.
18261
18262 2009-12-04  Eric Blake  <ebb9@byu.net>
18263
18264         mgetgroups: add xgetgroups, and avoid ENOSYS failures
18265         * lib/mgetgroups.h (xgetgroups): New prototype.
18266         * lib/mgetgroups.c (xgetgroups): New wrapper.
18267         (mgetgroups): Handle ENOSYS.
18268         * modules/mgetgroups (Depends-on): Add realloc.
18269         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
18270
18271         mgetgroups: avoid argument promotion issues with -1
18272         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
18273         for invalid gid_t.
18274         * tests/test-chown.h (getegid, test_chown): Likewise.
18275         * tests/test-lchown.h (getegid, test_lchown): Likewise.
18276
18277 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
18278
18279         exclude: Fix header file problems.
18280         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
18281
18282 2009-12-01  Jim Meyering  <meyering@redhat.com>
18283
18284         fts: fts_open: do not let an empty string cause immediate failure
18285         This is required in support of GNU rm, for which the command
18286         "rm A '' B" must process and remove both A and B, in spite of
18287         the empty string argument.
18288         * lib/fts.c (fts_open): Do not let the presence of an empty string
18289         cause fts_open to fail immediately.  Most fts-using tools must be
18290         able to process all arguments, in order, and can be expected to
18291         diagnose such arguments themselves.
18292
18293 2009-11-30  Eric Blake  <ebb9@byu.net>
18294
18295         utimens: fix compilation error
18296         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
18297         Declare variable at right scope.
18298
18299 2009-11-29  Jim Meyering  <meyering@redhat.com>
18300
18301         bootstrap: handle perl-5.11's changed --version output
18302         * build-aux/bootstrap (get_version): Handle perl separately,
18303         since perl-5.11's --version output is different.
18304
18305 2009-11-28  Jim Meyering  <meyering@redhat.com>
18306
18307         userspec: depend on the inttostr module, too
18308         * modules/userspec (Depends-on): Add inttostr.
18309
18310         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
18311         * lib/userspec.c (parse_with_separator): Do not accept a user ID
18312         number of MAXUID when it evaluates to (uid_t) -1.
18313         Likewise for group ID.  Reported by Matt McCutchen in
18314         <http://savannah.gnu.org/bugs/?28113>
18315
18316         userspec: reformat to use spaces, not TABs
18317         * lib/userspec.c: Expand TABs to spaces.
18318         Add Emacs' "indent-tabs-mode: nil" hint.
18319
18320 2009-11-27  Eric Blake  <ebb9@byu.net>
18321
18322         getopt-gnu: flush out another BSD bug
18323         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
18324         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
18325         flush out BSD bug.
18326         * tests/test-getopt.h (test_getopt): End lists with NULL.
18327         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18328         (test_getopt_long_posix): Enhance test.
18329         * modules/getopt-posix-tests (Depends-on): Add stdbool.
18330         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
18331         getopt-gnu.
18332         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
18333         Likewise.
18334
18335 2009-11-27  Simon Josefsson  <simon@josefsson.org>
18336
18337         * modules/idpriv-droptemp-tests (Notice): Fix text.
18338
18339 2009-11-27  Jim Meyering  <meyering@redhat.com>
18340
18341         test-xalloc-die: avoid spurious failure due to libtool argv difference
18342         In a libtool-enabled project, this test would fail due to a difference
18343         in the emitted program name, e.g.,
18344         -test-xalloc-die: memory exhausted
18345         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
18346         Use program to avoid that.
18347         * modules/xalloc-die-tests (Depends-on): Add progname.
18348         * tests/test-xalloc-die.c: Include progname.h".
18349         (program_name): Remove decl.
18350         (main): Call set_program_name.
18351         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
18352
18353 2009-11-26  Richard Jones  <rjones@redhat.com>
18354
18355         w32sock: leave win32 error in place.
18356         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
18357
18358 2009-11-26  Eric Blake  <ebb9@byu.net>
18359
18360         init.sh: suggest to use skip_ and fail_ functions in comments
18361         * tests/init.sh: Add a sentence.
18362
18363 2009-11-25  Bruno Haible  <bruno@clisp.org>
18364
18365         init.sh: add documentation in comments
18366         * tests/init.sh: Add some developer and user documentation.
18367
18368 2009-11-26  Jim Meyering  <meyering@redhat.com>
18369
18370         init.sh: accommodate even those who specify bogus srcdir manually
18371         * tests/init.sh: Normally, srcdir is guaranteed by automake and
18372         configure-time tests to be sanitized, so that there is no need to
18373         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
18374         (with no double quotes) suffices.  However, since tests may be
18375         invoked manually, and since you may explicitly set srcdir to the
18376         name of a directory containing spaces, do quote its uses here.
18377         * tests/test-pread.sh: Likewise.
18378         Suggested by Bruno Haible.
18379
18380         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
18381         * tests/test-pread.sh: Write no data into the pipe, because
18382         test-pread actually reads none.  This avoids a diagnostic,
18383         "bash: echo: write error: Broken pipe", that arises in the unusual
18384         event something is ignoring SIGPIPE, and might be interpreted
18385         as some sort of failure.  Reported by Bruno Haible.
18386
18387 2009-11-25  Jim Meyering  <meyering@redhat.com>
18388
18389         test-pread: cover failure with ESPIPE and EINVAL
18390         * tests/test-pread.c (main): Test for failure, too.
18391         * tests/test-pread.sh: Invoke with stdin on a pipe.
18392         Suggested by Eric Blake.
18393
18394         pread: improvement and fix
18395         * modules/pread (Depends-on): Depend on lseek, for portability to
18396         e.g., mingw.  Suggested by Eric Blake.
18397         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
18398
18399         unistd.in.h: correct declaration of pread
18400         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
18401         Reported by Richard W.M. Jones.
18402
18403         test-pread.sh: distribute the test script
18404         * modules/pread-tests (Files): Include test-pread.sh.
18405
18406         test-pread.sh: clean up
18407         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
18408         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
18409         That is unnecessary, since it's always ".".
18410         Suggestion from Eric Blake.
18411
18412         test-pread.sh: make executable
18413         * tests/test-pread.sh: Set executable bit.
18414         Reported by Eric Blake.
18415
18416         correct typo in test-pread.sh
18417         * tests/test-pread.sh: Add #! line.
18418
18419         test pread
18420         * tests/test-pread.c: New file.
18421         * tests/test-pread.sh: Likewise.
18422         * modules/pread-tests: Likewise.
18423
18424         pread: new module
18425         * modules/pread: New file.
18426         * lib/unistd.in.h (pread): Define/declare.
18427         * lib/pread.c (pread): New file.
18428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
18429         * modules/unistd (Makefile.am): Substitute witnesses.
18430         * doc/posix-functions/pread.texi (pread): Update.
18431         * MODULES.html.sh: Add pread.
18432
18433 2009-11-25  Jim Meyering  <meyering@redhat.com>
18434
18435         tests/init.sh: new file to be used via most *.sh tests
18436         * tests/init.sh: New file.
18437
18438 2009-11-25  Eric Blake  <ebb9@byu.net>
18439
18440         utimens: work around older Linux failure with symlinks
18441         * lib/utimens.c (lutimensat_works_really): New variable.
18442         (fdutimens, lutimens): Use it to manage kernels that support
18443         nanosecond times on files, but not on symlinks.
18444         Reported by OndÅ™ej Vašík.
18445
18446         utimes: fix configure grammar
18447         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
18448
18449 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
18450
18451         regex: Fix fastmap for multibyte character ranges.
18452         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
18453         characters when a multibyte character range is included.
18454
18455 2009-11-22  Andy Wingo  <wingo@pobox.com>
18456
18457         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
18458         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
18459
18460 2009-11-24  Bruno Haible  <bruno@clisp.org>
18461
18462         doc: Most *_l functions exist in MacOS X 10.5.
18463         * doc/posix-functions/duplocale.texi: Update platforms list.
18464         * doc/posix-functions/freelocale.texi: Likewise.
18465         * doc/posix-functions/newlocale.texi: Likewise.
18466         * doc/posix-functions/uselocale.texi: Likewise.
18467         * doc/posix-functions/isalnum_l.texi: Likewise.
18468         * doc/posix-functions/isalpha_l.texi: Likewise.
18469         * doc/posix-functions/isblank_l.texi: Likewise.
18470         * doc/posix-functions/iscntrl_l.texi: Likewise.
18471         * doc/posix-functions/isdigit_l.texi: Likewise.
18472         * doc/posix-functions/isgraph_l.texi: Likewise.
18473         * doc/posix-functions/islower_l.texi: Likewise.
18474         * doc/posix-functions/isprint_l.texi: Likewise.
18475         * doc/posix-functions/ispunct_l.texi: Likewise.
18476         * doc/posix-functions/isspace_l.texi: Likewise.
18477         * doc/posix-functions/isupper_l.texi: Likewise.
18478         * doc/posix-functions/iswalnum_l.texi: Likewise.
18479         * doc/posix-functions/iswalpha_l.texi: Likewise.
18480         * doc/posix-functions/iswblank_l.texi: Likewise.
18481         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18482         * doc/posix-functions/iswctype_l.texi: Likewise.
18483         * doc/posix-functions/iswdigit_l.texi: Likewise.
18484         * doc/posix-functions/iswgraph_l.texi: Likewise.
18485         * doc/posix-functions/iswlower_l.texi: Likewise.
18486         * doc/posix-functions/iswprint_l.texi: Likewise.
18487         * doc/posix-functions/iswpunct_l.texi: Likewise.
18488         * doc/posix-functions/iswspace_l.texi: Likewise.
18489         * doc/posix-functions/iswupper_l.texi: Likewise.
18490         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18491         * doc/posix-functions/isxdigit_l.texi: Likewise.
18492         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
18493         * doc/posix-functions/strcasecmp_l.texi: Likewise.
18494         * doc/posix-functions/strcoll_l.texi: Likewise.
18495         * doc/posix-functions/strfmon_l.texi: Likewise.
18496         * doc/posix-functions/strftime_l.texi: Likewise.
18497         * doc/posix-functions/strncasecmp_l.texi: Likewise.
18498         * doc/posix-functions/strxfrm_l.texi: Likewise.
18499         * doc/posix-functions/tolower_l.texi: Likewise.
18500         * doc/posix-functions/toupper_l.texi: Likewise.
18501         * doc/posix-functions/towctrans_l.texi: Likewise.
18502         * doc/posix-functions/towlower_l.texi: Likewise.
18503         * doc/posix-functions/towupper_l.texi: Likewise.
18504         * doc/posix-functions/wcscoll_l.texi: Likewise.
18505         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18506         * doc/posix-functions/wctrans_l.texi: Likewise.
18507         * doc/posix-functions/wctype_l.texi: Likewise.
18508         * doc/glibc-functions/strptime_l.texi: Likewise.
18509         * doc/glibc-functions/strtod_l.texi: Likewise.
18510         * doc/glibc-functions/strtof_l.texi: Likewise.
18511         * doc/glibc-functions/strtol_l.texi: Likewise.
18512         * doc/glibc-functions/strtold_l.texi: Likewise.
18513         * doc/glibc-functions/strtoll_l.texi: Likewise.
18514         * doc/glibc-functions/strtoul_l.texi: Likewise.
18515         * doc/glibc-functions/strtoull_l.texi: Likewise.
18516         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18517         * doc/glibc-functions/wcstod_l.texi: Likewise.
18518         * doc/glibc-functions/wcstof_l.texi: Likewise.
18519         * doc/glibc-functions/wcstol_l.texi: Likewise.
18520         * doc/glibc-functions/wcstold_l.texi: Likewise.
18521         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18522         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18523         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18524
18525 2009-11-24  Bruno Haible  <bruno@clisp.org>
18526
18527         duplocale: Fix logic bug.
18528         * lib/duplocale.c: Don't include <langinfo.h>.
18529         (_NL_LOCALE_NAME): Remove macro.
18530         (rpl_duplocale): Use setlocale instead of nl_langinfo.
18531         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
18532
18533 2009-11-23  Jim Meyering  <meyering@redhat.com>
18534
18535         test-update-copyright: don't hard-code /usr/bin/perl
18536         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
18537         perl to print the current year.  Gilles Espinasse reported that
18538         the replaced use of perl was hard-coded as /usr/bin/perl.
18539
18540 2009-11-23  Bruno Haible  <bruno@clisp.org>
18541
18542         duplocale: Add support for glibc 2.3.x.
18543         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
18544
18545 2009-11-22  Bruno Haible  <bruno@clisp.org>
18546
18547         vasnprintf: Tiny optimization.
18548         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
18549         MacOS X.
18550
18551 2009-11-22  Bruno Haible  <bruno@clisp.org>
18552
18553         Tests for module 'duplocale'.
18554         * modules/duplocale-tests: New file.
18555         * tests/test-duplocale.c: New file.
18556
18557         New module 'duplocale'.
18558         * m4/duplocale.m4: New file.
18559         * lib/locale.in.h (duplocale): New declaration.
18560         * lib/duplocale.c: New file.
18561         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
18562         gl_LOCALE_H_DEFAULTS): New macros.
18563         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
18564         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
18565         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
18566         REPLACE_DUPLOCALE.
18567         * modules/duplocale: New file.
18568         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
18569
18570 2009-11-22  Bruno Haible  <bruno@clisp.org>
18571
18572         * modules/locale-tests (configure.ac): Test for newlocale function.
18573         * tests/test-locale.c: When the system has extended locale functions,
18574         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
18575
18576         locale: Make locale_t available when possible.
18577         * lib/locale.in.h: Include <xlocale.h> when it exists.
18578         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
18579         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
18580         * modules/locale (Depends-on): Add extensions.
18581         (Makefile.am): Also substitute HAVE_XLOCALE_H.
18582         * doc/posix-headers/locale.texi: Document the problem with locale_t.
18583
18584 2009-11-22  Bruno Haible  <bruno@clisp.org>
18585
18586         Add comments.
18587         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
18588         invocation.
18589         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
18590         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18591         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18592
18593 2009-11-22  Bruno Haible  <bruno@clisp.org>
18594
18595         error: account for the possibility of freopen (stdout).
18596         * lib/error.c: Include <unistd.h>.
18597         (flush_stdout): New function, extracted from error and error_at_line.
18598         Determine stdout's fd dynamically.
18599         (error, error_at_line): Invoke flush_stdout.
18600         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
18601         * modules/error (Depends-on): Add unistd.
18602
18603 2009-11-22  Bruno Haible  <bruno@clisp.org>
18604
18605         diffseq: Add comment.
18606         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
18607
18608 2009-11-22  Jim Meyering  <meyering@redhat.com>
18609
18610         c-stack: avoid defining an unused static function
18611         * lib/c-stack.c (find_stack_direction): Do not define this function
18612         when it will not be used.
18613
18614         diffseq: avoid spurious gcc warnings
18615         * lib/diffseq.h (IF_LINT2): Define.
18616         (compareseq): Use it to initialize two members of "part".
18617         This avoids two used-uninitialized warnings.
18618
18619 2009-11-21  Jim Meyering  <meyering@redhat.com>
18620
18621         c-stack: avoid "ignoring return value of `write'" warning
18622         * lib/c-stack.c: Include "ignore-value.h".
18623         (die): Explicitly ignore each write return value.
18624         * modules/c-stack (Depends-on): Add ignore-value.
18625
18626 2009-11-21  Bruno Haible  <bruno@clisp.org>
18627
18628         diffseq: reduce scope of variable 'best'.
18629         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
18630         variable, earlier used for two different purposes.
18631
18632 2009-11-21  Jim Meyering  <meyering@redhat.com>
18633
18634         diffseq: remove useless assignment to "best"
18635         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
18636         assignment.  At that point "best" is already guaranteed to be zero.
18637
18638 2009-11-20  Eric Blake  <ebb9@byu.net>
18639
18640         build: mention ftp redirector in release announcements
18641         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
18642         values that used to come from cfg.mk; mention FTP redirect URL.
18643         * build-aux/announce-gen: Mention the mirror list.
18644         Suggested by Karl Berry.
18645
18646         nanosleep: improve port to mingw
18647         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
18648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
18649         LIB_NANOSLEEP, but only when needed.
18650         * modules/select (Link): Document LIBSOCKET.
18651         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
18652         enough.
18653
18654         nanosleep: work around cygwin bug
18655         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
18656         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
18657         bug.
18658         (getnow): Delete, not needed.
18659         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
18660         LIB_CLOCK_GETTIME.
18661         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
18662         clock-time, gettime.
18663         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
18664         bug.
18665         * modules/nanosleep-tests: New test.
18666         * tests/test-nanosleep.c: New file.
18667
18668         sleep: work around cygwin bug
18669         * lib/sleep.c (rpl_sleep): Work around the bug.
18670         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
18671         (gl_PREREQ_SLEEP): Delete unused macro.
18672         * modules/sleep (Depends-on): Add verify.
18673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
18674         * modules/unistd (Makefile.am): Substitute witness.
18675         * lib/unistd.in.h (sleep): Update prototype.
18676         * doc/posix-functions/sleep.texi (sleep): Document the bug.
18677         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
18678         * modules/sleep-tests (Depends-on): Check for alarm.
18679
18680 2009-11-20  Jim Meyering  <meyering@redhat.com>
18681
18682         maint.mk: improve sc_prohibit_magic_number_exit
18683         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
18684         so it does not match uses like System.exit(1).
18685         Add comments showing how to correct all offenders.
18686
18687 2009-11-19  Eric Blake  <ebb9@byu.net>
18688
18689         xalloc-die-tests: add missing library
18690         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
18691
18692         test-xvasprintf: silence compiler warnings
18693         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
18694         empty string from gcc.
18695
18696 2009-11-19  Jim Meyering  <meyering@redhat.com>
18697
18698         xfreopen: new module, from coreutils
18699         * modules/xfreopen: New module.
18700         * lib/xfreopen.c: New file.
18701         * lib/xfreopen.h: New file.
18702         * MODULES.html.sh (File stream based Input/Output"): Add it.
18703
18704 2009-11-19  Eric Blake  <ebb9@byu.net>
18705
18706         manywarnings: depend on warnings
18707         * modules/manywarnings (Depends-on): Add warnings.
18708
18709         build: avoid compiler warnings
18710         * lib/select.c (rpl_select): Delete unused variable.
18711         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
18712
18713 2009-11-18  Eric Blake  <ebb9@byu.net>
18714
18715         tests: avoid false negative with --with-packager
18716         * tests/test-version-etc.sh: Discard packager information.
18717         * tests/test-argp-version-etc-1.sh: Likewise.
18718         Reported by Mike Frysinger.
18719
18720         utimens: fix regression on Solaris
18721         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
18722         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
18723         can only change fd timestamps via futimesat.  Instead, use an
18724         additional witness macro to avoid BSD bug.
18725         Reported by Jim Meyering.
18726
18727 2009-11-17  Eric Blake  <ebb9@byu.net>
18728
18729         usleep: use it to simplify tests
18730         * modules/stat-time-tests (Depends-on): Add usleep.
18731         (configure.ac): Drop usleep check.
18732         * modules/chown-tests (Depends-on, configure.ac): Likewise.
18733         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
18734         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
18735         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
18736         * modules/openat-tests (Depends-on, configure.ac): Likewise.
18737         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
18738         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
18739         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
18740         Likewise.
18741         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
18742         * tests/test-lchown.h (nap): Likewise.
18743         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
18744         * tests/test-stat-time.c (nap): Likewise.
18745         * tests/test-utimens-common.h (nap): Update comments.
18746
18747         usleep: new module
18748         * modules/usleep: New file.
18749         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
18750         * lib/usleep.c (usleep): Likewise.
18751         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
18752         * modules/unistd (Makefile.am): Substitute witnesses.
18753         * lib/unistd.in.h (usleep): Add declaration.
18754         * doc/pastposix-functions/usleep.texi (usleep): Document this.
18755         * MODULES.html.sh (Date and time): Likewise.
18756         * modules/usleep-tests (Depends-on): New test.
18757         * tests/test-usleep.c: New file.
18758
18759         chown: work around OpenBSD bug
18760         * lib/chown.c (rpl_chown): Work around the bug.
18761         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
18762         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
18763         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
18764         * modules/chown (Depends-on): Add stdbool.
18765         * modules/lchown (Depends-on): Likewise.
18766         * doc/posix-functions/chown.texi (chown): Document the bug.
18767         * doc/posix-functions/lchown.texi (lchown): Likewise.
18768         * tests/test-lchown.h (test_chown): Relax test.
18769
18770         mkstemp: avoid conflict with C++ keyword template
18771         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
18772         * lib/mkostemp.c (mkostemp): Likewise.
18773         * lib/mkostemps.c (mkostemps): Likewise.
18774         * lib/mkstemp.c (mkstemp): Likewise.
18775         * lib/mkstemps.c (mkstemps): Likewise.
18776
18777         xalloc-die-tests: optimize
18778         * tests/test-xalloc-die.sh: Reduce number of processes.
18779
18780 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18781
18782         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
18783         patch from ludo@gnu.org (Ludovic Courtès).
18784
18785 2009-11-17  Jim Meyering  <meyering@redhat.com>
18786
18787         version-etc: use proper license string
18788         * modules/version-etc (License): Use LGPL, not LGPLv3+.
18789         * modules/version-etc-fsf: Likewise.
18790
18791 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18792
18793         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
18794         printed to stdout.  Deal with EOL differences.
18795
18796 2009-11-17  Eric Blake  <ebb9@byu.net>
18797
18798         unsetenv: work around Solaris bug
18799         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
18800         * lib/unsetenv.c (rpl_unsetenv): Work around it.
18801         Reported by Jim Meyering.
18802
18803         vasnprintf: avoid compiler warnings
18804         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
18805         variables.
18806         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
18807
18808 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18809
18810         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
18811         settings since xalloc-die is no longer the self test,
18812         xalloc-die.sh is.
18813
18814 2009-11-17  Jim Meyering  <meyering@redhat.com>
18815
18816         test-xalloc-die.sh: make the code agree with the commit log
18817         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
18818         at the end, just in case you happen to have a test-xalloc-die
18819         program in some other PATH directory.
18820
18821         test-xalloc-die.sh: fix a portability bug
18822         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
18823         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
18824         Otherwise, argv[0] (as often seen in diagnostics) would be too
18825         system-dependent, sometimes with, and sometimes without the leading "./".
18826
18827         version-etc-fsf: relax license to LGPLv3+
18828         * modules/version-etc-fsf (License): Relax license.
18829
18830 2009-11-16  Eric Blake  <ebb9@byu.net>
18831
18832         xalloc-die-tests: avoid printing null pointer
18833         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
18834         shell script.
18835         * tests/test-xalloc-die.c (program_name): Declare.
18836         * tests/test-xalloc-die.sh (tmpfiles): New file.
18837
18838         setenv, unsetenv: work around various bugs
18839         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
18840         (setenv) [HAVE_SETENV]: Work around bugs.
18841         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
18842         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
18843         for bugs.
18844         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
18845         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
18846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
18847         * modules/stdlib (Makefile.am): Update substitutions.
18848         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
18849         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
18850         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
18851         * modules/setenv-tests: New test.
18852         * modules/unsetenv-tests: Likewise.
18853         * tests/test-setenv.c: New file.
18854         * tests/test-unsetenv.c: Likewise.
18855
18856 2009-11-16  Jim Meyering  <meyering@redhat.com>
18857
18858         version-etc: relax license to LGPLv3+
18859         * modules/version-etc (License): Relax license.
18860
18861         better AC_REQUIRE expanded-before-required-warning avoidance
18862         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
18863         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
18864         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
18865         which is no longer needed.
18866
18867 2009-11-16  Eric Blake  <ebb9@byu.net>
18868
18869         test-freading: clean up temporary file
18870         * tests/test-freading.c (main): Remove file on success, and use
18871         ASSERT more liberally.
18872         Reported by Jim Meyering.
18873
18874 2009-11-16  Jim Meyering  <meyering@redhat.com>
18875
18876         avoid new AC_REQUIRE expanded-before-required warnings
18877         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
18878         merely using it.
18879         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
18880         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
18881
18882 2009-11-15  Simon Josefsson  <simon@josefsson.org>
18883
18884         * tests/test-xalloc-die.c: New file.
18885         * modules/xalloc-die-tests: New file.
18886         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
18887         XFAIL_TESTS so it can be appended by modules.
18888
18889 2009-11-15  Simon Josefsson  <simon@josefsson.org>
18890
18891         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
18892         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
18893
18894 2009-11-14  Eric Blake  <ebb9@byu.net>
18895
18896         fnmatch: avoid compiler warning
18897         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
18898         to silence compiler warning about mismatch signedness in ?:.
18899         Reported by Robert Millan.
18900
18901         intprops: add double-inclusion guard
18902         * lib/intprops.h: Allow idempotent includes.
18903         Suggested by Bruce Korb.
18904
18905         openat: detect Solaris fchownat bug
18906         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
18907         penalizing glibc chownat when only lchownat is broken.
18908         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
18909         trailing slash bugs.
18910         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
18911         * modules/openat-tests (Files): Include more files.
18912         (Depends-on): Add mgetgroups, sleep, stat-time.
18913         (configure.ac): Add additional checks.
18914         (Makefile.am): Build new test.
18915         * tests/test-fchownat.c: New file.
18916
18917         lchown: detect Solaris and FreeBSD bug
18918         * lib/lchown.c (rpl_lchown): Work around bug.
18919         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
18920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18921         * modules/unistd (Makefile.am): Populate it.
18922         * lib/unistd.in.h (lchown): Update declaration.
18923         * doc/posix-functions/lchown.texi (lchown): Document the bug.
18924         * modules/lchown-tests: New file.
18925         * tests/test-lchown.h (test_lchown): Likewise.
18926         * tests/test-lchown.c (main): Likewise.
18927
18928         chown: detect Solaris and FreeBSD bug
18929         * lib/chown.c (rpl_chown): Work around bug.
18930         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
18931         (gl_PREREQ_CHOWN): Delete.
18932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18933         * modules/unistd (Makefile.am): Populate it.
18934         * lib/unistd.in.h (chown): Update declaration.
18935         * lib/lchown.c (chown): Update client.
18936         * modules/lchown (Depends-on): Add lstat.
18937         * doc/posix-functions/chown.texi (chown): Document the bug.
18938         * doc/posix-functions/getgroups.texi (getgroups): Document
18939         getgroups pitfall.
18940         * modules/chown-tests: New file.
18941         * tests/test-chown.h (test_chown): Likewise.
18942         * tests/test-chown.c (main): Likewise.
18943
18944 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
18945
18946         gnulib-tool: correctly detect absence of m4 directories
18947         * gnulib-tool: Avoid extra newline on data passed to wc -l.
18948
18949 2009-11-14  Jim Meyering  <meyering@redhat.com>
18950
18951         maint.mk: Prohibit inclusion of "xalloc.h" without use.
18952         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
18953
18954 2009-11-14  John W. Eaton  <jwe@gnu.org>
18955
18956         strftime.h: wrap funtion declaration in extern "C" block
18957         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
18958
18959 2009-11-13  Eric Blake  <ebb9@byu.net>
18960
18961         getgroups: avoid compiler warning
18962         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
18963
18964         getgroups: work around FreeBSD bug
18965         * lib/getgroups.c (rpl_getgroups): Work around the bug.
18966         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
18967         * doc/posix-functions/getgroups.texi (getgroups): Document it.
18968         * tests/test-getgroups.c (main): Fix buffer overrun.
18969
18970         getgroups: avoid compilation failure
18971         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
18972         * modules/getgroups (Depends-on): Add stdint.
18973
18974 2009-11-13  Jim Meyering  <meyering@redhat.com>
18975
18976         test-getgroups: avoid compilation failure
18977         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
18978
18979 2009-11-13  Eric Blake  <ebb9@byu.net>
18980
18981         mgetgroups: new module, taken from coreutils
18982         * modules/mgetgroups: New file.
18983         * lib/mgetgroups.h: Likewise.
18984         * lib/mgetgroups.c (mgetgroups): Likewise.
18985         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
18986         * MODULES.html.sh (Users and groups): Mention it.
18987
18988         getgroups: don't expose GETGROUPS_T to user
18989         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
18990         an element at a time if GETGROUPS_T is wrong size.
18991         * lib/getugroups.h (getugroups): Change signature.
18992         * lib/unistd.in.h (getgroups): Likewise.
18993         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
18994         signature needs fixing.
18995         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
18996         AC_TYPE_GETGROUPS.
18997         * modules/group-member (Depends-on): Add getgroups.
18998         * lib/group-member.c (group_info, get_group_info): Use gid_t.
18999         (group_member): Rely on getgroups replacement.
19000         * lib/getugroups.c (getugroups): Use gid_t.
19001         * tests/test-getgroups.c (main): Likewise.
19002         * NEWS: Mention the signature change.
19003         * doc/posix-functions/getgroups.texi (getgroups): Mention the
19004         problem with signature.
19005         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
19006         GETGROUPS_T is still useful for setgroups.
19007
19008         getgroups, getugroups: provide stubs for mingw
19009         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
19010         * lib/getugroups.c (getugroups): Likewise.
19011         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
19012         function.  Modernize replacement scheme.
19013         (gl_PREREQ_GETGROUPS): Delete.
19014         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
19015         * modules/getgroups (configure.ac): Declare witness.
19016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
19017         * modules/unistd (Depends-on): Substitute witness.
19018         * lib/unistd.in.h (getgroups): Declare replacement.
19019
19020         getgroups: avoid calling exit
19021         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
19022         drop xalloc.
19023         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
19024         dependencies.
19025         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
19026         exiting, in the rare case of malloc failure.
19027
19028         getgroups: fix logic error
19029         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
19030         has more than 20 groups.
19031         * modules/getgroups-tests: New test.
19032         * tests/test-getgroups.c: New file.
19033
19034 2009-11-13  Simon Josefsson  <simon@josefsson.org>
19035
19036         * tests/test-base64.c: Improve.
19037
19038 2009-11-13  Simon Josefsson  <simon@josefsson.org>
19039
19040         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
19041         Blake <ebb9@byu.net>.
19042
19043 2009-11-13  Simon Josefsson  <simon@josefsson.org>
19044
19045         * tests/test-xvasprintf.c: Add %s%s related checks.
19046
19047 2009-11-12  Eric Blake  <ebb9@byu.net>
19048
19049         version-etc: match standards.texi style
19050         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
19051         and use <> only for URLs.
19052
19053 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
19054
19055         fts: do not fail on a submount during traversal
19056         * lib/fts.c (fts_build): Read the stat info again after opening
19057         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
19058         Original report at http://bugzilla.redhat.com/501848.
19059
19060 2009-11-12  Jim Meyering  <meyering@redhat.com>
19061
19062         bootstrap: sync from coreutils
19063         * build-aux/bootstrap (bootstrap_epilogue): New function.
19064         Use git_modules_config in one more place.  This make bootstrap's
19065         --gnulib-srcdir option more useful for testing.
19066
19067         bootstrap: generalize autoheader check
19068         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
19069         AC_CONFIG_HEADERS.
19070
19071 2009-11-11  Eric Blake  <ebb9@byu.net>
19072
19073         mkfifoat: use new modules for Solaris and BSD bugs
19074         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
19075         * lib/mkfifoat.c (mknodat): Split...
19076         * lib/mknodat.c (mknodat): ...into new file.
19077         * modules/mkfifoat (Files): Ship new file.
19078         (Depends-on): Add mkfifo, mknod.
19079         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
19080         (Depends-on): Add symlink.
19081         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
19082         redundant with test_mkfifo.h.
19083         (do_mkfifoat, do_mknodat): New helpers.
19084
19085         mknod: new module
19086         * modules/mknod: New file.
19087         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
19088         * lib/mknod.c (mknod): Likewise.
19089         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
19090         defaults.
19091         * modules/sys_stat (Makefile.am): Substitute them.
19092         * lib/sys_stat.in.h (mknod): Declare replacement.
19093         * MODULES.html.sh (Support for systems lacking POSIX:2008):
19094         Document it.
19095         * doc/posix-functions/mknod.texi (mknod): Likewise.
19096         * modules/mknod-tests: New test.
19097         * tests/test-mknod.c: Likewise.
19098
19099         mkfifo: new module
19100         * modules/mkfifo: New file.
19101         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19102         * lib/mkfifo.c (mkfifo): Likewise.
19103         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
19104         defaults.
19105         * modules/sys_stat (Makefile.am): Substitute them.
19106         * lib/sys_stat.in.h (mkfifo): Declare replacement.
19107         * MODULES.html.sh (Support for systems lacking POSIX:2008):
19108         Document it.
19109         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
19110         * modules/mkfifo-tests: New test.
19111         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
19112         from test-mkfifoat.c.
19113         * tests/test-mkfifo.c: New file.
19114
19115         readlink: detect FreeBSD bug
19116         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
19117         slash on symlink.
19118         * doc/posix-functions/readlink.texi (readlink): Document the bug.
19119         * tests/test-readlink.h (test_readlink): Enhance test.
19120
19121         symlink: detect FreeBSD bug
19122         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
19123         slash on symlink.
19124         * doc/posix-functions/symlink.texi (symlink): Document the bug.
19125         * tests/test-symlink.h (test_symlink): Enhance test.
19126
19127 2009-11-10  Eric Blake  <ebb9@byu.net>
19128
19129         link: detect FreeBSD bug
19130         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
19131         symlink.
19132         * doc/posix-functions/link.texi (link): Document the bug.
19133         * tests/test-link.h (test_link): Enhance test.
19134         * tests/test-linkat.c (main): Update caller.
19135
19136         unlink, remove: detect FreeBSD bug
19137         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
19138         slash on symlink.
19139         * doc/posix-functions/unlink.texi (unlink): Document the bug.
19140         * doc/posix-functions/remove.texi (remove): Likewise.
19141         * tests/test-unlink.h (test_unlink): Enhance test.
19142         * tests/test-remove.c (main): Likewise.
19143
19144 2009-11-09  Eric Blake  <ebb9@byu.net>
19145
19146         rename: detect FreeBSD bug
19147         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
19148         slash on symlink.
19149         * modules/renameat-tests (Depends-on): Add filenamecat.
19150         * tests/test-rename.h (test_rename): Allow one more errno.
19151         * tests/test-renameat.c (main): Likewise.
19152         * doc/posix-functions/rename.texi (rename): Document the bug.
19153
19154         open: detect FreeBSD bug
19155         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
19156         symlink.
19157         * doc/posix-functions/open.texi (open): Document the bug.
19158         * doc/posix-functions/utimes.texi (utimes): Likewise.
19159         * tests/test-open.h (test_open): Add parameters, and test symlink
19160         handling.
19161         * tests/test-open.c (main): Adjust caller.
19162         * tests/test-fcntl-safer.c (main): Likewise.
19163         * modules/open-tests (Depends-on): Add stdbool, symlink.
19164         * modules/fcntl-safer-tests (Depends-on): Likewise.
19165         * tests/test-openat.c (main): Add test-open tests.
19166
19167         stat: detect FreeBSD bug
19168         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
19169         symlink.
19170         * doc/posix-functions/stat.texi (stat): Document the bug.
19171         * tests/test-stat.h (test_stat_func): Add argument.
19172         * tests/test-stat.c (main): Adjust caller.
19173         * tests/test-fstatat.c (main): Likewise.
19174         * modules/stat-tests (Depends-on): Add stdbool, symlink.
19175         Reported by Jim Meyering.
19176
19177 2009-11-09  James Youngman  <jay@gnu.org>
19178
19179         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
19180         * lib/strftime.c: Correct placement of #include "ignore-value.h".
19181
19182 2009-11-08  Jim Meyering  <meyering@redhat.com>
19183
19184         utimens: remove invalid futimesat call
19185         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
19186         It used the file descriptor of the target file as the DIR_FD
19187         parameter and NULL as the file name.  That caused failure with
19188         errno == EFAULT on FreeBSD-8.0-rc2
19189
19190 2009-11-07  Eric Blake  <ebb9@byu.net>
19191
19192         fflush, freadseek: use fseeko, not fseek
19193         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19194         (clear_ungetc_buffer): Avoid potential problems on large files.
19195         * lib/freadseek.c (freadseek): Likewise.
19196         * modules/freadseek (Depends-on): Add fseeko.
19197         * modules/fseek (configure.ac): Set a witness.
19198         * tests/test-fflush.c (main): Use fseeko.
19199         * tests/test-fpurge.c (fseek): Disable link warning.
19200         * tests/test-freadable.c (fseek): Likewise.
19201         * tests/test-freading.c (fseek): Likewise.
19202         * tests/test-fseeko.c (fseek): Likewise.
19203         * tests/test-ftell.c (fseek): Likewise.
19204         * tests/test-ftello.c (fseek): Likewise.
19205         * tests/test-fwritable.c (fseek): Likewise.
19206         * tests/test-fwriting.c (fseek): Likewise.
19207
19208 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19209
19210         * modules/memchr (Depends-on): Drop getpagesize dependency.
19211
19212 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19213
19214         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
19215         Reported by Ludovic Courtès.
19216         * build-aux/pmccabe2html: Improve example usage.
19217         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
19218
19219 2009-11-06  Jim Meyering  <meyering@redhat.com>
19220
19221         do-release-commit-and-tag: New module.
19222         Automate the release-commit and tag process.
19223         * build-aux/do-release-commit-and-tag: New script, from coreutils.
19224         * modules/do-release-commit-and-tag: New file.
19225         * MODULES.html.sh (Support for maintaining and releasing): Add it.
19226
19227 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19228
19229         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
19230         because test-select.c uses inet_pton.
19231
19232 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19233
19234         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
19235         GETADDRINFO_LIB.  Bump serial number.
19236         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
19237         Suggested by Eric Blake <ebb9@byu.net>.
19238
19239 2009-11-05  Eric Blake  <ebb9@byu.net>
19240
19241         strtod: detect darwin bug
19242         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
19243         Reported by Leo Davis.
19244
19245         freopen-safer: new module
19246         * modules/freopen-safer: New module.
19247         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
19248         * lib/freopen-safer.c (freopen_safer): New file.
19249         * lib/stdio-safer.h (freopen_safer): New declaration.
19250         * lib/stdio--.h (freopen): New override.
19251         * MODULES.html.sh (File stream based Input/Output): Mention it.
19252         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
19253         freopen-safer module.
19254         * doc/posix-functions/stderr.texi (stderr): Likewise.
19255         * doc/posix-functions/stdin.texi (stdin): Likewise.
19256         * doc/posix-functions/stdout.texi (stdout): Likewise.
19257         * modules/freopen-safer-tests: New test.
19258         * tests/test-reopen-safer.c: New file.
19259
19260 2009-11-05  Jim Meyering  <meyering@redhat.com>
19261
19262         maint.mk: Prohibit inclusion of "close-stream.h" without use.
19263         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
19264
19265 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19266
19267         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
19268
19269 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19270
19271         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
19272
19273 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19274
19275         Fix link error.
19276         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
19277         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19278
19279 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19280
19281         * tests/test-func.c: Also test value of __func__.
19282
19283 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19284
19285         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
19286         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
19287
19288 2009-11-05  Bruno Haible  <bruno@clisp.org>
19289
19290         Fix link error.
19291         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
19292         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19293         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
19294
19295 2009-11-05  Bruno Haible  <bruno@clisp.org>
19296
19297         Tests for module 'inet_pton'.
19298         * modules/inet_pton-tests: New file.
19299         * tests/test-inet_pton.c: New file.
19300
19301 2009-11-05  Bruno Haible  <bruno@clisp.org>
19302
19303         Tests for module 'inet_ntop'.
19304         * modules/inet_ntop-tests: New file.
19305         * tests/test-inet_ntop.c: New file.
19306
19307 2009-11-04  Eric Blake  <ebb9@byu.net>
19308
19309         stdlib-safer: wrap all mkstemp variants
19310         * modules/mkostemp (configure.ac): Set witness.
19311         * modules/mkostemps (configure.ac): Likewise.
19312         * modules/mkstemps (configure.ac): Likewise.
19313         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
19314         (mkstemps_safer): Wrap more functions.
19315         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
19316         wrapping.
19317         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
19318         (mkstemps_safer): Implement the wrappers.
19319
19320         mkstemps, mkostemps: new modules
19321         * modules/mkostemps: New module.
19322         * modules/mkstemps: Likewise.
19323         * lib/mkostemps.c (mkostemps): New file.
19324         * lib/mkstemps.c (mkstemps): Likewise.
19325         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
19326         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
19327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
19328         * modules/stdlib (Makefile.am): Substitute them.
19329         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
19330         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
19331         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
19332         * doc/gnulib.texi (Glibc stdlib.h): Include them.
19333         * MODULES.html.sh (File system functions): Mention them.
19334
19335         tempname: resync from glibc
19336         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
19337         same values for __GT_FILE as glibc.  Abort even when assertions
19338         are disabled.
19339         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
19340         match its value otherwise.  Allow idempotent inclusion.
19341         * lib/mkdtemp.c (mkdtemp): Adjust caller.
19342         * lib/mkostemp.c (mkostemp): Likewise.
19343         * lib/mkstemp.c (mkstemp): Likewise.
19344         * lib/tmpfile.c (tmpfile): Likewise.
19345         * NEWS: Document this.
19346
19347         utimens: fix use of futimens on older Linux
19348         * lib/utimens.c (fdutimens): Use updated, rather than original,
19349         timespec to avoid bug in older Linux kernel.
19350         Reported by Simon Josefsson.
19351
19352 2009-11-04  Bruno Haible  <bruno@clisp.org>
19353
19354         Make num_processors more flexible and consistent.
19355         * lib/nproc.h (enum nproc_query): New type.
19356         (num_processors): Add a 'query' argument.
19357         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
19358         (num_processors): Add a 'query' argument. Test the value of the
19359         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
19360         mingw, count the number of CPUs available for the current process.
19361         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
19362         Check for sched_getaffinity and sched_getaffinity_np.
19363         * modules/nproc (Depends-on): Add c-ctype, extensions.
19364         * NEWS: Mention the change.
19365
19366 2009-11-03  Bruno Haible  <bruno@clisp.org>
19367
19368         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
19369
19370 2009-11-03  Jim Meyering  <meyering@redhat.com>
19371
19372         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
19373         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
19374         if it is defined.
19375
19376 2009-11-02  Eric Blake  <ebb9@byu.net>
19377
19378         mktime, timegm: share common declaration
19379         * lib/mktime-internal.h: New file.
19380         * lib/mktime.c: Use it rather than open-coding a declaration.
19381         * lib/timegm.c: Likewise.
19382         * modules/mktime (Files): Ship it.
19383         * modules/timegm (Files): Likewise.
19384         Suggested by Bruno Haible.
19385
19386         test-update-copyright: update test to match script changes
19387         * tests/test-update-copyright.sh: Avoid hard-coding perl
19388         location.  Don't update *.bak created by earlier runs.
19389
19390 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
19391             Simon Josefsson  <simon@josefsson.org>
19392             Bruno Haible  <bruno@clisp.org>
19393
19394         Fix link error on Solaris 8.
19395         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
19396         also in libnsl. Define also INET_PTON_LIB.
19397         * modules/inet_pton (Link): New section.
19398
19399 2009-11-02  Simon Josefsson  <simon@josefsson.org>
19400             Bruno Haible  <bruno@clisp.org>
19401
19402         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
19403         * modules/inet_ntop (Link): New section.
19404         Reported by Boyan Kasarov <bkasarov@gmail.com>.
19405
19406 2009-11-02  Eric Blake  <ebb9@byu.net>
19407
19408         maint: avoid compiler warnings in m4 macros
19409         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
19410         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
19411
19412 2009-11-02  Simon Josefsson  <simon@josefsson.org>
19413
19414         * m4/pmccabe2html.m4: Remove file.
19415         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
19416         function.  Change maintainer.
19417         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
19418         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
19419         Courtès).
19420
19421 2009-10-31  Eric Blake  <ebb9@byu.net>
19422
19423         fseeko: fix m4 regression
19424         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
19425         regression from 2009-10-27.
19426         Reported by Ralf Wildenhues.
19427
19428 2009-10-31  Jim Meyering  <meyering@redhat.com>
19429
19430         inttostr: aesthetics and improved (compile-time) safety
19431         Define inttype_is_signed rather than inttype_is_unsigned,
19432         since the sole use is via "#if inttype_is_signed".
19433         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
19434         inttype_is_unsigned.
19435         * lib/offtostr.c (inttype_is_signed): Likewise.
19436         * lib/uinttostr.c (inttype_is_signed): Likewise.
19437         * lib/umaxtostr.c (inttype_is_signed): Likewise.
19438         * lib/inttostr.c (inttostr): Use verify to cross-check the
19439         inttype_is_signed value and the signedness of the actual type.
19440         * modules/inttostr (Depends-on): Add verify.
19441
19442 2009-10-30  Eric Blake  <ebb9@byu.net>
19443
19444         build: avoid compiler warnings
19445         * lib/fchmodat.c (lchmod): Mark unused variables.
19446         * lib/getopt.c (_getopt_initialize): Likewise.
19447         * lib/mktime.c (__mktime_internal): Provide prototype.
19448         * lib/inttostr.c (inttostr): Avoid compiler warning even with
19449         older gcc that do not understand #pragma GCC diagnostic.
19450         * lib/uinttostr.c (inttype_is_unsigned): Define.
19451         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
19452
19453 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
19454
19455         stat: fix compilation on AIX
19456         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
19457         only see struct stat64.
19458
19459 2009-10-30  Eric Blake  <ebb9@byu.net>
19460
19461         exclude: make more robust
19462         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
19463         rather than masking a coding bug.
19464         Suggested by Bruno Haible.
19465
19466 2009-10-30  Jim Meyering  <meyering@redhat.com>
19467
19468         perl scripts: remove #!/usr/bin/perl in favor of more portable...
19469         Rather than putting #!/usr/bin/perl on the first line,
19470         start with a variant of what's recommended by "man perlrun" that
19471         invokes the first "perl" program from your shell's search path.
19472         * build-aux/gitlog-to-changelog: Replace #!... as above.
19473         Add a "Local Variables" perl mode setting.
19474         Prompted by a patch from Ludovic Courtès.
19475         Improved by Eric Blake.
19476         * build-aux/useless-if-before-free: Likewise.
19477         * build-aux/announce-gen: Likewise.
19478         * build-aux/update-copyright: Likewise.
19479
19480 2009-10-29  Eric Blake  <ebb9@byu.net>
19481
19482         filenamecat-lgpl: adjust clients
19483         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
19484         filenamecat.
19485         * modules/renameat (Depends-on): Likewise.
19486
19487         filenamecat: split into filenamecat-lgpl
19488         * modules/filenamecat-lgpl: New module.
19489         * modules/filenamecat (Files): Move library-safe files into
19490         filenamecat-lgpl.
19491         (Depends-on): Add filenamecat-lgpl.
19492         (configure.ac): Declare witness.
19493         * lib/filenamecat.h (file_name_concat): Only declare when using
19494         GPL module.
19495         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
19496         Move...
19497         * lib/filenamecat-lgpl.c: ...into new file.
19498         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
19499         (gl_FILE_NAME_CONCAT): Use it.
19500         * MODULES.html.sh (File system functions): Mention new module.
19501
19502         argp: avoid memory leak
19503         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
19504         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
19505         base_name, since the latter malloc()s and can call exit().
19506         Leak introduced 2006-07-03.
19507
19508         dirname-lgpl: adjust clients that don't need full dirname
19509         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
19510         * modules/filenamecat (Depends-on): Likewise.
19511         * modules/linkat (Depends-on): Likewise.
19512         * modules/mkancesdirs (Depends-on): Likewise.
19513         * modules/mkdir (Depends-on): Likewise.
19514         * modules/openat (Depends-on): Likewise.
19515         * modules/savewd (Depends-on): Likewise.
19516         * modules/rename (Depends-on): Likewise.
19517         (License): Relax license.
19518         * modules/mkdir-tests (Depends-on): Drop progname.
19519         (Makefile.am): Delete unneeded LDADD.
19520         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
19521
19522         dirname: split into dirname-lgpl
19523         * modules/dirname-lgpl: New module.
19524         * modules/dirname (Files): Move library-safe files into
19525         dirname-lgpl.
19526         (Depends-on): Add dirname-lgpl.
19527         (configure.ac): Declare witness.
19528         * modules/double-slash-root (License): Relax license.
19529         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
19530         module.
19531         * lib/dirname.c (dir_len, mdir_name): Move...
19532         * lib/dirname-lgpl.c: ...into new file.
19533         * lib/basename.c (last_component, base_len): Move...
19534         * lib/basename-lgpl.c: ...into new file.
19535         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
19536         (gl_DIRNAME): Use it.
19537         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
19538         Mention new module.
19539         * modules/dirname-tests (Depends-on): Add progname.
19540         * tests/test-dirname.c (program_name): Delete.
19541
19542         mkdir: make safe for libraries
19543         * modules/mkdir (Depends-on): Drop xalloc.
19544         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
19545         exit.
19546
19547         tests: avoid some compiler warnings
19548         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
19549         literals.
19550         * tests/test-memchr.c (main): Avoid type mismatch.
19551         * tests/test-arpa_inet.c (main): Avoid unused parameters.
19552         * tests/test-base64.c (main): Likewise.
19553         * tests/test-getdelim.c (main): Likewise.
19554         * tests/test-gethostname.c (main): Likewise.
19555         * tests/test-getline.c (main): Likewise.
19556         * tests/test-netinet_in.c (main): Likewise.
19557         * tests/test-select.c (open_server_socket, main): Likewise.
19558         * tests/test-select-stdin.c (main): Likewise.
19559         * tests/test-sockets.c (main): Likewise.
19560         * tests/test-strsignal.c (main): Likewise.
19561         * tests/test-sys_select.c (main): Likewise.
19562         * tests/test-sys_socket.c (main): Likewise.
19563         * tests/test-u64.c (main): Likewise.
19564         * tests/test-xfprintf-posix.c (main): Likewise.
19565         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
19566
19567         sockets: avoid compiler warning
19568         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
19569
19570         maint: detect usage(1) and other suspicious exits
19571         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
19572
19573 2009-10-29  Jim Meyering  <meyering@redhat.com>
19574
19575         timespec: long-to-int truncation could make timespec_cmp malfunction
19576         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
19577         a multiple of 2^32 nanoseconds as no difference.
19578
19579 2009-10-28  Jim Meyering  <meyering@redhat.com>
19580
19581         fprintftime: wrap macro code argument in "do {...} while(0)"
19582         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
19583         cpy macro must be a statement that can be followed by a semicolon.
19584         Now that the else clause contains a comment and is hence longer
19585         than one line, I require curly braces.  That in turn requires
19586         that we wrap this code block in the standard do...while(0).
19587
19588         fprintftime: remove stray semicolon from previous change
19589         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
19590
19591         fprintftime: avoid a warning about ignored fwrite return value
19592         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
19593         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
19594         that is unsafe.
19595         * modules/fprintftime (Depends-on): Add ignore-value.
19596
19597         exclude: avoid an unwarranted warning
19598         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
19599
19600 2009-10-27  Eric Blake  <ebb9@byu.net>
19601
19602         fseek: avoid compilation failure when fflush is replaced
19603         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
19604         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
19605         module is in use.
19606         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
19607         module is not in use; since REPLACE_FSEEK worked otherwise.
19608         (GNULIB_FTELLO): Likewise for ftell.
19609         Reported by Ian Beckwith and others.
19610
19611 2009-10-27  Bruno Haible  <bruno@clisp.org>
19612
19613         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
19614         Reported by Jim Meyering.
19615
19616 2009-10-27  Jim Meyering  <jim@meyering.net>
19617             Bruno Haible  <bruno@clisp.org>
19618
19619         Avoid warning despite dropping the return value of fwrite.
19620         * lib/unicodeio.c: Include ignore-value.h.
19621         (fwrite_success_callback): Explicitly ignore fwrite's return value.
19622         * modules/unicodeio (Depends-on): Add ignore-value.
19623
19624 2009-10-26  Eric Blake  <ebb9@byu.net>
19625
19626         areadlinkat: fix fallback path
19627         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
19628         pointer and zero.
19629
19630 2009-10-22  Pádraig Brady  <P@draigBrady.com>
19631
19632         Use a better IO block size for modern systems
19633         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
19634         * lib/md2.c: Likewise.
19635         * lib/md4.c: Likewise.
19636         * lib/md5.c: Likewise.
19637         * lib/sha1.c: Likewise.
19638         * lib/sha256.c: Likewise.
19639         * lib/sha512.c: Likewise.
19640
19641 2009-10-22  Eric Blake  <ebb9@byu.net>
19642
19643         tests: avoid several compiler warnings
19644         * tests/test-getcwd.c (main): Avoid buffer underflow.
19645         * tests/test-getdate.c (main): String literals are not safe with
19646         putenv, so use setenv.  Declare unused argument.
19647         * modules/getdate-tests (Depends-on): Add setenv.
19648         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
19649         problems with string literals in char *.
19650         * tests/test-hash.c (main): Avoid shadowing declaration.
19651         (insert_new): Treat string literals as char const *.
19652         * tests/test-getopt.h (test_getopt): Likewise.
19653         (getopt_loop): Alter types to minimize casting elsewhere.
19654         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
19655         (test_getopt_long_posix): Likewise.
19656         (do_getopt_long): Add wrapper to minimize casting.
19657         * tests/test-atexit.c (clear_temp_file): Use void.
19658         * tests/test-areadlink-with-size.c (main): Declare unused
19659         arguments.
19660         * tests/test-areadlink.c (main): Likewise.
19661         * tests/test-areadlinkat-with-size.c (main): Likewise.
19662         * tests/test-areadlinkat.c (main): Likewise.
19663         * tests/test-canonicalize-lgpl.c (main): Likewise.
19664         * tests/test-canonicalize.c (main): Likewise.
19665         * tests/test-dirent-safer.c (main): Likewise.
19666         * tests/test-dirname.c (main): Likewise.
19667         * tests/test-dup2.c (main): Likewise.
19668         * tests/test-fchdir.c (main): Likewise.
19669         * tests/test-fcntl-h.c (main): Likewise.
19670         * tests/test-fcntl-safer.c (main): Likewise.
19671         * tests/test-fdopendir.c (main): Likewise.
19672         * tests/test-fdutimensat.c (main): Likewise.
19673         * tests/test-fflush.c (main): Likewise.
19674         * tests/test-filenamecat.c (main): Likewise.
19675         * tests/test-filevercmp.c (main): Likewise.
19676         * tests/test-fopen-safer.c (main): Likewise.
19677         * tests/test-fopen.c (main): Likewise.
19678         * tests/test-fpending.c (main): Likewise.
19679         * tests/test-fpurge.c (main): Likewise.
19680         * tests/test-freading.c (main): Likewise.
19681         * tests/test-fstatat.c (main): Likewise.
19682         * tests/test-fsync.c (main): Likewise.
19683         * tests/test-futimens.c (main): Likewise.
19684         * tests/test-getndelim2.c (main): Likewise.
19685         * tests/test-gettimeofday.c (main): Likewise.
19686         * tests/test-getopt.c (main): Likewise.
19687         * tests/test-i-ring.c (main): Likewise.
19688         * tests/test-inttypes.c (main): Likewise.
19689         * tests/test-link.c (main): Likewise.
19690         * tests/test-lstat.c (main): Likewise.
19691         * tests/test-math.c (main): Likewise.
19692         * tests/test-md5.c (main): Likewise.
19693         * tests/test-memchr2.c (main): Likewise.
19694         * tests/test-memrchr.c (main): Likewise.
19695         * tests/test-mkdir.c (main): Likewise.
19696         * tests/test-mkdirat.c (main): Likewise.
19697         * tests/test-mkfifoat.c (main): Likewise.
19698         * tests/test-open.c (main): Likewise.
19699         * tests/test-openat-safer.c (main): Likewise.
19700         * tests/test-openat.c (main): Likewise.
19701         * tests/test-quotearg.c (main): Likewise.
19702         * tests/test-rawmemchr.c (main): Likewise.
19703         * tests/test-readlink.c (main): Likewise.
19704         * tests/test-remove.c (main): Likewise.
19705         * tests/test-rename.c (main): Likewise.
19706         * tests/test-renameat.c (main): Likewise.
19707         * tests/test-rmdir.c (main): Likewise.
19708         * tests/test-sha1.c (main): Likewise.
19709         * tests/test-signal.c (main): Likewise.
19710         * tests/test-sigaction.c (main): Likewise.
19711         * tests/test-stat.c (main): Likewise.
19712         * tests/test-stat-time.c (main): Likewise.
19713         * tests/test-stddef.c (main): Likewise.
19714         * tests/test-stdint.c (main): Likewise.
19715         * tests/test-stdio.c (main): Likewise.
19716         * tests/test-stdlib.c (main): Likewise.
19717         * tests/test-strchrnul.c (main): Likewise.
19718         * tests/test-strerror.c (main): Likewise.
19719         * tests/test-string.c (main): Likewise.
19720         * tests/test-strtod.c (main): Likewise.
19721         * tests/test-strverscmp.c (main): Likewise.
19722         * tests/test-symlink.c (main): Likewise.
19723         * tests/test-symlinkat.c (main): Likewise.
19724         * tests/test-sys_stat.c (main): Likewise.
19725         * tests/test-sys_time.c (main): Likewise.
19726         * tests/test-time.c (main): Likewise.
19727         * tests/test-unistd.c (main): Likewise.
19728         * tests/test-unlink.c (main): Likewise.
19729         * tests/test-unlinkat.c (main): Likewise.
19730         * tests/test-utimens.c (main): Likewise.
19731         * tests/test-utimensat.c (main): Likewise.
19732         * tests/test-version-etc.c (main): Likewise.
19733         * tests/test-wchar.c (main): Likewise.
19734         * tests/test-wctype.c (main): Likewise.
19735         * tests/test-xprintf-posix.c (main): Likewise.
19736         * tests/test-posixtm.c (main): Likewise.
19737         (STREQ): Delete unused macro.
19738         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
19739         shadowed variables.
19740         * tests/test-memchr.c (main): Likewise.
19741
19742 2009-10-21  Eric Blake  <ebb9@byu.net>
19743
19744         areadlinkat: avoid failure on older glibc
19745         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
19746         rather than mis-comparing 0 against FUNC_RESULT of char*.
19747
19748 2009-10-21  Bruno Haible  <bruno@clisp.org>
19749
19750         * modules/stpncpy (License): Relicense under LGPLv2+.
19751         Reported by David Lutterkort <lutter@redhat.com>.
19752
19753 2009-10-20  Eric Blake  <ebb9@byu.net>
19754
19755         utimensat: work around Solaris 9 bug
19756         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
19757         has trailing slash bugs.
19758         * tests/test-lutimens.h (test_lutimens): Enhance test.
19759         * tests/test-utimens.h (test_utimens): Likewise.
19760         * doc/posix-functions/utime.texi (utime): Enhance documentation.
19761         * doc/posix-functions/utimes.texi (utimes): Likewise.
19762         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19763         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
19764         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
19765         * doc/posix-functions/futimens.texi (futimens): Likewise.
19766
19767         fdutimensat: new module
19768         * modules/fdutimensat: New file.
19769         * lib/fdutimensat.c (fdutimensat): Likewise.
19770         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
19771         * MODULES.html.sh (File system functions): Mention module.
19772         * modules/fdutimensat-tests: New test.
19773         * tests/test-fdutimensat.c: Likewise.
19774
19775         doc: regenerate INSTALL
19776         * doc/INSTALL: Reflect recent autoconf update.
19777         * doc/INSTALL.ISO: Likewise.
19778         * doc/INSTALL.UTF-8: Likewise.
19779
19780 2009-10-20  Pádraig Brady  <P@draigBrady.com>
19781
19782         acl: warn if ACL support is not detected
19783         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
19784
19785 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
19786
19787         * lib/nproc.h: Add extern "C" block for C++.
19788
19789 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
19790             Bruno Haible  <bruno@clisp.org>
19791
19792         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
19793         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
19794         * doc/posix-functions/isalpha.texi: Likewise.
19795         * doc/posix-functions/isblank.texi: Likewise.
19796         * doc/posix-functions/iscntrl.texi: Likewise.
19797         * doc/posix-functions/isdigit.texi: Likewise.
19798         * doc/posix-functions/isgraph.texi: Likewise.
19799         * doc/posix-functions/islower.texi: Likewise.
19800         * doc/posix-functions/isprint.texi: Likewise.
19801         * doc/posix-functions/ispunct.texi: Likewise.
19802         * doc/posix-functions/isspace.texi: Likewise.
19803         * doc/posix-functions/isupper.texi: Likewise.
19804         * doc/posix-functions/isxdigit.texi: Likewise.
19805
19806 2009-10-18  Bruno Haible  <bruno@clisp.org>
19807
19808         Tests for module 'isblank'.
19809         * modules/isblank-tests: New file.
19810         * tests/test-isblank.c: New file.
19811
19812         New module 'isblank'.
19813         * lib/isblank.c: New file.
19814         * m4/isblank.m4: New file.
19815         * modules/isblank: New file.
19816         * doc/posix-functions/isblank.texi: Mention the new module.
19817
19818 2009-10-18  Bruno Haible  <bruno@clisp.org>
19819
19820         New module 'ctype'.
19821         * lib/ctype.in.h: New file.
19822         * m4/ctype.m4: New file.
19823         * modules/ctype: New file.
19824         * doc/posix-headers/ctype.texi: Mention the new module.
19825
19826 2009-10-18  Jim Meyering  <meyering@redhat.com>
19827
19828         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
19829         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
19830         right after its initialization, rather than farther down.
19831         Keeping these in close proximity makes it easier to ensure
19832         that each such variable is initialized.  E.g.,
19833
19834             LIB_CLOCK_GETTIME=
19835             AC_SUBST([LIB_CLOCK_GETTIME])
19836
19837         This change also increments these serial numbers.
19838         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
19839         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
19840         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19841
19842 2009-10-18  Bruno Haible  <bruno@clisp.org>
19843
19844         Don't let environment variables perturb build.
19845         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
19846         (gl_PREREQ_GETHRXTIME): ... not here.
19847
19848 2009-10-18  Bruno Haible  <bruno@clisp.org>
19849
19850         Avoid symlink attack in localcharset module.
19851         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
19852         (O_NOFOLLOW): Define fallback.
19853         (get_charset_aliases): Don't open the file if it is a symbolic link.
19854         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
19855         gl_FCNTL_H.
19856         (gl_FCNTL_H): Require it.
19857         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
19858         * modules/localcharset (Files): Add m4/fcntl_h.m4.
19859         Reported by Fergal Glynn <fglynn@veracode.com>.
19860
19861 2009-10-18  Bruno Haible  <bruno@clisp.org>
19862
19863         Implement nproc for mingw.
19864         * lib/nproc.c: Include <windows.h>
19865         (num_processors): On native Windows platforms, try GetSystemInfo.
19866
19867 2009-10-18  Bruno Haible  <bruno@clisp.org>
19868
19869         Implement nproc for IRIX.
19870         * lib/nproc.c: Include <sys/sysmp.h>.
19871         (num_processors): On IRIX systems, try sysmp.
19872         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
19873
19874 2009-10-18  Bruno Haible  <bruno@clisp.org>
19875
19876         Implement nproc for HP-UX.
19877         * lib/nproc.c: Include <sys/pstat.h>
19878         (num_processors): On HP-UX systems, try pstat_getdynamic.
19879         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
19880         pstat_getdynamic.
19881
19882 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
19883             Bruno Haible  <bruno@clisp.org>
19884
19885         Implement nproc for NetBSD, OpenBSD.
19886         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
19887         (ARRAY_SIZE): New macro.
19888         (num_processors): On BSD systems, try sysctl of HW_NCPU.
19889         * m4/nproc.m4: New file.
19890         * modules/nproc (Files): Add m4/nproc.m4.
19891         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
19892         (Makefile.am): Instead, augment lib_SOURCES.
19893
19894 2009-10-18  Bruno Haible  <bruno@clisp.org>
19895
19896         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
19897         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
19898         sys/param.h.
19899
19900 2009-10-16  Eric Blake  <ebb9@byu.net>
19901
19902         utimensat: new module
19903         * modules/utimensat: New file.
19904         * lib/utimensat.c (utimensat): Likewise.
19905         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19906         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
19907         so we can work around Linux bugs.
19908         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
19909         * modules/sys_stat (Makefile.am): Substitute them.
19910         * lib/sys_stat.in.h (utimensat): Declare it.
19911         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19912         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19913         * modules/utimensat-tests: New test.
19914         * tests/test-utimensat.c: Likewise.
19915
19916         utimens: let lutimens work on non-symlinks
19917         * lib/utimens.c (lutimens): Fall back to utimens rather than
19918         failing with ENOSYS, when file is not a symlink.
19919         (utimens): Reduce redirection.
19920         * tests/test-lutimens.h (test_lutimens): Update test to cover
19921         non-symlinks.
19922         * tests/test-utimens.h (test_utimens): Update test to cover
19923         symlinks.
19924         * tests/test-utimens.c (main): Update caller.
19925
19926         utimens: cache whether utimensat syscall works
19927         * lib/utimens.c (utimensat_works_really): New cache variable.
19928         (fdutimens, lutimens): Use it to avoid failing syscall.
19929
19930         test-stat-time, test-utimens: improve portability
19931         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
19932         ext4 on alpha, and for cygwin.
19933         * tests/test-utimens-common.h: New file.
19934         (nap): Factor delays into single function.
19935         * tests/test-lutimens.h (test_lutimens): Use new header.
19936         * tests/test-futimens.h (test_futimens): Likewise.
19937         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
19938         timestamps to occur from same machine, as was done previously for
19939         test_utimens.
19940         * modules/utimens-tests (Files): Ship new file.
19941         * modules/futimens-tests (Files): Likewise.
19942         Reported in part by Jim Meyering.
19943
19944         sys_stat: sort replacement declarations
19945         * lib/sys_stat.in.h: Sort declarations.
19946         * lib/futimens.c (futimens): Fix typo.
19947
19948 2009-10-15  Jim Meyering  <meyering@redhat.com>
19949
19950         don't let environment settings perturb build
19951         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
19952         could cause a configure-time and/or build-time malfunction.
19953         Typically, a configure-time function-in-library test is performed
19954         via code like this:
19955
19956           LIB_VAR=
19957           AC_SUBST([LIB_VAR])
19958           prefix_saved_LIBS=$LIBS
19959             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
19960                        [test "$ac_cv_search_FUNC" = "none required" ||
19961                         LIB_VAR=$ac_cv_search_FUNC])
19962           LIBS=$prefix_saved_LIBS
19963
19964         However, in each of the files affected by this change, the LIB_VAR=
19965         initialization was omitted.  Thus, when set in the environment, its
19966         value would propagate into generated Makefiles when FUNC is not found
19967         in LIB_NAME.
19968         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
19969         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
19970         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19971
19972 2009-10-14  Eric Blake  <ebb9@byu.net>
19973
19974         fchdir: avoid infinite recursion in mingw
19975         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
19976         recursing.
19977
19978         test-stat-time: port to mingw
19979         * tests/test-stat-time.c (force_unlink): Return a value.
19980         (test_ctime) [W32]: Fix compilation error.
19981         (nap): Don't call usleep with too large an argument.  Use
19982         force_unlink.
19983         * doc/pastposix-functions/usleep.texi (usleep): Document the
19984         portability issue.
19985
19986 2009-10-13  Jim Meyering  <meyering@redhat.com>
19987
19988         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
19989         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
19990         * modules/pipe-filter-ii: Likewise.
19991         * modules/sys_socket-tests: Likewise.
19992         * modules/tsearch-tests: Likewise.
19993         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
19994         (check): Depend on it.
19995
19996 2009-10-12  Eric Blake  <ebb9@byu.net>
19997
19998         utimens-tests: port to NFS file systems
19999         * tests/test-utimens.h (test_utimens): Refactor utimecmp
20000         comparisons to avoid spurious failures from timestamp drift
20001         between NFS machines.
20002
20003 2009-10-12  Eric Blake  <ebb9@byu.net>
20004
20005         stat-time-tests: minor cleanups
20006         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
20007         * tests/test-stat-time.c (nap): Separate assignment from call.
20008         Suggested by Paolo Bonzini and Bruno Haible.
20009
20010         sys_stat: guarantee struct timespec
20011         * lib/sys_stat.in.h (includes): Always include <time.h>
20012         * modules/sys_stat (Depends-on): Add time.
20013         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
20014         mode_t permission values.
20015         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
20016         get at subsecond timestamps.
20017
20018 2009-10-10  Eric Blake  <ebb9@byu.net>
20019
20020         futimens: new module
20021         * modules/futimens: New file.
20022         * lib/futimens.c (futimens): Likewise.
20023         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
20024         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
20025         we can work around Linux bugs.
20026         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
20027         * modules/sys_stat (Makefile.am): Substitute them.
20028         * lib/sys_stat.in.h (futimens): Declare it.
20029         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20030         * doc/posix-functions/futimens.texi (futimens): Likewise.
20031         * modules/futimens-tests: New test.
20032         * tests/test-futimens.c: Likewise.
20033
20034         utimens: introduce fdutimens
20035         * lib/utimens.h (fdutimens): New prototype.
20036         * lib/utimens.c (gl_futimens): Move guts...
20037         (fdutimens): ...to new interface.
20038         * tests/test-utimens.c (do_fdutimens): Use it.
20039
20040         utimens: add UTIME_NOW and UTIME_OMIT support
20041         * lib/utimens.c (validate_timespec, update_timespec): New helper
20042         functions.
20043         (gl_futimens, lutimens): Use them.
20044         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
20045         stdbool, sys_stat.
20046         (Link): Mention resulting library dependency.
20047         * modules/utimecmp (Link): Likewise.
20048         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
20049         (Makefile.am): Pick up library dependency.
20050         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
20051         definition.
20052         * tests/test-sys_stat.c: Test the definitions.
20053         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
20054         * NEWS: Document library dependency.
20055
20056         utimecmp: support symlink timestamps
20057         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
20058         hashing when possible.  Use pathconf when available.
20059         (SYSCALL_RESOLUTION): Recognize tighter resolution.
20060         * modules/utimecmp (Depends-on): Add lstat.
20061
20062         utimens: add lutimens interface
20063         * lib/utimens.c (lutimens): New function.
20064         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
20065         * lib/utimens.h (lutimens): Declare new interface.
20066         * tests/test-utimens.c (main): Enhance test.
20067         * tests/test-lutimens.h (test_lutimens): New file.
20068         * modules/utimens-tests (Files): Distribute it.
20069         (Depends-on): Add symlink.
20070         (configure.ac): Check for usleep.
20071
20072         utimens: validate futimens usage
20073         * lib/utimens.c (gl_futimens): Require valid fd up front, using
20074         fewer syscalls on failure later on.  Avoid compiler warning on
20075         mingw.
20076         * modules/utimens (Depends-on): Add dup2.
20077
20078         utimens: add test
20079         * modules/utimens-tests: New test.
20080         * tests/test-utimens.h: New file.
20081         * tests/test-futimens.h: Likewise.
20082         * tests/test-utimens.c: Likewise.
20083
20084         doc: mention timestamp portability issues
20085         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
20086         instead.
20087         * doc/posix-functions/utime.texi (utime): Likewise.
20088         * doc/posix-functions/utimes.texi (utimes): Likewise.
20089         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
20090         instead.
20091         * doc/posix-functions/futimens.texi (futimens): Mention utimens
20092         module.
20093         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
20094         Mention weakness with symlink timestamps.
20095         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
20096         to utimensat/futimens instead.
20097         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
20098
20099         test-dup2: enhance test
20100         * tests/test-dup2.c (main): Also check AT_FDCWD.
20101
20102         test-stat-time: avoid more spurious failures
20103         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
20104         xfs; and avoid race if the two timestamps cross quantization edge.
20105
20106         relocatable: prefer 'file system' over 'filesystem'
20107         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
20108         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
20109         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
20110         * doc/relocatable.texi (Enabling Relocatability): Likewise.
20111         * lib/relocatable.c (compute_curr_prefix): Likewise.
20112
20113 2009-10-10  Jim Meyering  <meyering@redhat.com>
20114
20115         stat-time-tests: check for the usleep function
20116         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
20117
20118 2009-10-10  Bruno Haible  <bruno@clisp.org>
20119
20120         * modules/xnanosleep: Put the Link section after the Include section.
20121
20122 2009-10-09  Eric Blake  <ebb9@byu.net>
20123
20124         dup2: work around FreeBSD 6.1 bug
20125         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
20126         * doc/posix-functions/dup2.texi (dup2): Document it.
20127         Reported by Nelson H. F. Beebe and Jim Meyering.
20128
20129         test-stat-time: port to buggy NFS clients
20130         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
20131         (test_ctime): Also skip test if mtime and ctime are skewed.
20132
20133         maint: prefer 'file system' over 'filesystem'
20134         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
20135         * doc/posix-functions/lstat.texi (lstat): Likewise.
20136         * lib/file-has-acl.c (file_has_acl): Likewise.
20137         * lib/fwriteerror.c [TEST]: Likewise.
20138         * tests/test-areadlink.h (test_areadlink): Likewise.
20139         * tests/test-areadlinkat-with-size.c (main): Likewise.
20140         * tests/test-areadlinkat.c (main): Likewise.
20141         * tests/test-canonicalize-lgpl.c (main): Likewise.
20142         * tests/test-canonicalize.c (main): Likewise.
20143         * tests/test-fstatat.c (main): Likewise.
20144         * tests/test-linkat.c (main): Likewise.
20145         * tests/test-lstat.h (test_lstat_func): Likewise.
20146         * tests/test-mkdir.h (test_mkdir): Likewise.
20147         * tests/test-readlink.h (test_readlink): Likewise.
20148         * tests/test-remove.c (main): Likewise.
20149         * tests/test-rename.h (test_rename): Likewise.
20150         * tests/test-renameat.c (main): Likewise.
20151         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20152         * tests/test-symlink.h (test_symlink): Likewise.
20153         * tests/test-symlinkat.c (main): Likewise.
20154         * tests/test-unlink.h (test_unlink_func): Likewise.
20155         * tests/test-unlinkat.c (main): Likewise.
20156
20157         maint: make realtime library usage explicit
20158         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
20159         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
20160         * modules/settime (Link): Likewise.
20161         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
20162
20163         test-stat-time: speed up execution
20164         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
20165         warning on mingw.
20166         (nap): New helper function.
20167         (prepare_test): Use it to reduce sleep time.
20168         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
20169         execution.
20170         * modules/stat-time-tests (configure.ac): Check for usleep.
20171
20172 2009-10-09  Jim Meyering  <meyering@redhat.com>
20173
20174         selinux-h: always use getfilecon wrappers
20175         * lib/getfilecon.c: New file.
20176         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
20177         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
20178         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
20179         (fgetfilecon): Provide a stub.
20180         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
20181         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
20182         file unconditionally.
20183         When <selinux/selinux.h> is found, arrange to use wrappers.
20184         * modules/selinux-h (Files): Add getfilecon.c.
20185         (Makefile.am): Substitute include-next-related bits
20186         into the now-always-generated selinux/selinux.h file.
20187         * doc/glibc-functions/lgetfilecon.texi: New file.
20188         * doc/glibc-functions/fgetfilecon.texi: New file.
20189         * doc/glibc-functions/getfilecon.texi: New file.
20190         * doc/glibc-functions/getfilecon-desc.texi: New file.
20191         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
20192         which to pull in the new files.
20193         * MODULES.html.sh (Misc): Add selinux-h.
20194
20195 2009-10-08  Jim Meyering  <meyering@redhat.com>
20196
20197         unistd: fix comment typo
20198         * lib/unistd.in.h (euidaccess): Fix a comment typo.
20199
20200 2009-10-08  Eric Blake  <ebb9@byu.net>
20201
20202         areadlink: use SIZE_MAX consistently
20203         * modules/areadlink (Depends-on): Add stdint.
20204         * modules/areadlink-with-size (Depends-on): Likewise.
20205         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
20206         gives NULL; drop sys/types, since unistd gives size_t; and add
20207         stdint for SIZE_MAX.
20208         (SIZE_MAX): Rely on headers.
20209         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
20210         and add stdint.
20211         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
20212         (SIZE_MAX): Likewise.
20213         (INITIAL_BUF_SIZE): Turn into enum.
20214         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
20215
20216 2009-10-08  Jim Meyering  <meyering@redhat.com>
20217
20218         areadlinkat: avoid compilation failure
20219         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
20220         Fix typo in comment.
20221
20222 2009-10-07  Eric Blake  <ebb9@byu.net>
20223
20224         areadlinkat-with-size: new module
20225         * modules/areadlinkat-with-size: New module.
20226         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
20227         * lib/areadlink.h (areadlinkat): Declare it.
20228         * MODULES.html.sh (File system functions): Mention it.
20229         * modules/areadlinkat-with-size-tests: New test.
20230         * tests/test-areadlinkat-with-size.c: New file.
20231
20232         xreadlinkat: new module
20233         * modules/xreadlinkat: New module.
20234         * lib/xreadlinkat.c (xreadlinkat): New file.
20235         * lib/xreadlink.h (xreadlinkat): Declare it.
20236         * MODULES.html.sh (File system functions): Mention it.
20237
20238         areadlinkat: new module
20239         * lib/at-func.c (FUNC_FAIL): New define.
20240         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
20241         * modules/areadlinkat: New module.
20242         * lib/linkat.c (areadlinkat): Move...
20243         * lib/areadlinkat.c (areadlinkat): ...to new file.
20244         * lib/areadlink.h (areadlinkat): Declare it.
20245         * modules/linkat (Depends-on): Add areadlinkat.
20246         * MODULES.html.sh (File system functions): Mention it.
20247         * modules/areadlinkat-tests: New test.
20248         * tests/test-areadlinkat.c: New file.
20249
20250         areadlink, areadlink-with-size: add tests
20251         * modules/areadlink-tests: New test.
20252         * modules/areadlink-with-size-tests: Likewise.
20253         * tests/test-areadlink.h: New file.
20254         * tests/test-areadlink.c: Likewise.
20255         * tests/test-areadlink-with-size.c: Likewise.
20256
20257         maint: minor cleanups
20258         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
20259         _UNUSED_PARAMETER_ instead.
20260         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
20261         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
20262         * modules/linkat-tests (Files): Distribute test-link.h.
20263
20264         openat, utimens: whitespace cleanup
20265         * lib/openat.c: Prefer space throughout, rather than mix of 8
20266         spaces vs. tabs.
20267         * lib/at-func.c: Likewise.
20268         * lib/utimens.c: Likewise.
20269
20270         openat: avoid using wrong fd
20271         * lib/openat.c (openat_permissive): Reject user's fd if saving the
20272         working directory chooses same fd.
20273         * lib/at-func.c (AT_FUNC_NAME): Likewise.
20274
20275         mkdir, mkdirat: fix cygwin 1.5.x bug
20276         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
20277         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
20278         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
20279         bug.
20280         (gl_PREREQ_MKDIR): Delete unused macro.
20281         * modules/mkdir (Files): Track file rename.
20282         (configure.ac): Update macro name.
20283         * modules/openat (Depends-on): Add mkdir.
20284         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
20285
20286         mkdir, mkdirat: add tests
20287         * modules/mkdir-tests: New test.
20288         * tests/test-mkdir.h: New file.
20289         * tests/test-mkdir.c: Likewise.
20290         * tests/test-mkdirat.c: Likewise.
20291         * modules/openat-tests (Files): Add new files.
20292         (Makefile.am): Run new test.
20293
20294 2009-10-06  Eric Blake  <ebb9@byu.net>
20295
20296         doc: tweak *at function documentation
20297         * doc/posix-functions/faccessat.texi (faccessat): Mention
20298         known issue with replacement.
20299         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
20300         * doc/posix-functions/linkat.texi (linkat): Likewise.
20301         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
20302         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
20303         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20304         * doc/posix-functions/renameat.texi (renameat): Likewise.
20305         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20306
20307         openat: fix GNU/Hurd bug in unlinkat
20308         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
20309         broken.
20310         * doc/posix-functions/unlink.texi (unlink): Document this.
20311         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
20312
20313         fdopendir: fix GNU/Hurd bug
20314         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
20315         allowing non-directory fds.
20316         * lib/fdopendir.c (rpl_fdopendir): Work around it.
20317         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20318         * modules/dirent (Makefile.am): Substitute it.
20319         * lib/dirent.in.h (fdopendir): Declare replacement.
20320         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
20321         * tests/test-fdopendir.c (main): Test something other than
20322         /dev/null, since on Hurd that behaves like a directory.
20323
20324         test-symlink: port to GNU/Hurd
20325         * tests/test-symlink.h (test_symlink): Relax expected errno.
20326
20327         doc: tweak more cygwin information
20328         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
20329         now compatible with glibc.
20330         * doc/posix-functions/getopt.texi (getopt): Likewise.
20331
20332         getopt-gnu: add another test
20333         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
20334         guarantee behavior relied on by m4.
20335         * tests/test-getopt.c (main): Use it.
20336         * modules/getopt-posix-tests (Depends-on): Add setenv.
20337         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
20338
20339         getopt: fix compilation on darwin
20340         * lib/getopt.in.h (includes): Leave breadcrumbs during system
20341         include.
20342         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
20343         Reported by Ludovic Courtès.
20344
20345 2009-10-06  Bruno Haible  <bruno@clisp.org>
20346
20347         * modules/size_max (Description): Discourage its use.
20348         Reported by Simon Josefsson.
20349
20350 2009-10-06  Jim Meyering  <meyering@redhat.com>
20351
20352         linkat: avoid compilation failure
20353         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
20354
20355 2009-10-05  Eric Blake  <ebb9@byu.net>
20356
20357         linkat: support Linux 2.6.17
20358         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
20359         linkat on Linux, but allow cache variable override.
20360         * lib/linkat.c (rpl_linkat): Define override.
20361         * modules/linkat (Depends-on): Add symlinkat.
20362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
20363         * modules/unistd (Makefile.am): Substitute it.
20364         * lib/unistd.in.h (linkat): Declare replacement.
20365         Reported by Pádraig Brady.
20366
20367         quotearg: port test to systems with C.UTF-8 locale
20368         * tests/test-quotearg.c (struct result_strings): Add another
20369         member, differentiating between C.ASCII and C.UTF-8 handling.
20370         (compare_strings): Add parameter.
20371         (main): Adjust all callers.
20372
20373         getopt: avoid clash with FreeBSD _getopt_internal
20374         * lib/getopt.in.h (_getopt_internal): Override the name.
20375         * lib/getopt_int.h (includes): Pick up any overrides.
20376         Reported by Reuben Thomas.
20377
20378         hash: allow C89 compilation
20379         * lib/hash.c (check_tuning): Move declaration before statement.
20380         Reported by Reuben Thomas.
20381
20382 2009-10-05  Karl Berry  <karl@gnu.org>
20383
20384         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
20385
20386 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
20387             Bruno Haible  <bruno@clisp.org>
20388
20389         * lib/uname.c (uname): Use a table-driven algorithm to compute
20390         Windows NT versions.
20391
20392 2009-10-04  Bruno Haible  <bruno@clisp.org>
20393
20394         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
20395         program_invocation_short_name.
20396         * modules/progname (configure.ac): Test for presence of
20397         program_invocation_short_name.
20398         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20399
20400 2009-10-04  Bruno Haible  <bruno@clisp.org>
20401
20402         * lib/progname.c (set_program_name): Fix comment.
20403         Reported by Jim Meyering.
20404
20405 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
20406             Bruno Haible  <bruno@clisp.org>
20407
20408         * lib/uname.c: Include <string.h>.
20409         (uname): Do only one call to GetVersionEx in the common case.
20410
20411 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
20412             Bruno Haible  <bruno@clisp.org>
20413
20414         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
20415         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
20416         (uname): Add support for Windows CE and various non-x86 CPU types.
20417
20418 2009-10-03  Bruno Haible  <bruno@clisp.org>
20419
20420         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
20421         invocation to tests/configure.ac.
20422         Reported by Ian Beckwith <ianb@erislabs.net>.
20423
20424 2009-10-02  Eric Blake  <ebb9@byu.net>
20425
20426         fchdir: avoid compiler warning
20427         * lib/fchdir.c (canonicalize_file_name)
20428         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
20429
20430         test-open: support mingw errno values
20431         * tests/test-open.h (test_open): Relax test.
20432         * tests/test-fopen.h (test_fopen): Likewise.
20433         * tests/test-openat-safer.c (main): Likewise.
20434
20435         open: fix opening directory on mingw
20436         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
20437
20438         test-open: on GNU/Hurd, /dev/null is a directory
20439         * tests/test-fopen.h (main): Rename...
20440         (test_fopen): ...to this.  Use a guaranteed non-directory when
20441         confirming open behavior on trailing slash.
20442         * tests/test-openat-safer.c (main): Likewise.
20443         * tests/test-open.h (main): Likewise....
20444         (test_open): ...to this.
20445         * tests/test-fopen.c (main): Adjust caller.
20446         * tests/test-fopen-safer.c (main): Likewise.
20447         * tests/test-open.c (main): Likewise.
20448         * tests/test-fcntl-safer.c (main): Likewise.
20449         Reported by Samuel Thibault.
20450
20451         rename, fchdir: don't ignore chdir failure
20452         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
20453         * lib/rename.c (rpl_rename) [W32]: Likewise.
20454         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
20455         an empty destination directory if source cannot be renamed,
20456         although there is still possibility for failure.
20457         * doc/posix-functions/rename.texi (rename): Document the race.
20458         Reported by Jim Meyering.
20459
20460         maint: cleanup whitespace in recent commits
20461         * lib/rename.c (rpl_rename): Remove tabs.
20462         * tests/test-link.h (test_link): Likewise.
20463         * lib/fchdir.c (get_name): Likewise.
20464         Reported by Jim Meyering.
20465
20466 2009-10-02  Ben Pfaff  <blp@gnu.org>
20467
20468         relocatable-prog-wrapper: Add missing dependency on
20469         double-slash-root.
20470         * modules/relocatable-prog-wrapper: Add dependency.
20471         Reported by Ian Beckwith <ianb@erislabs.net>.
20472
20473 2009-10-02  Eric Blake  <ebb9@byu.net>
20474
20475         renameat: fix Solaris bugs
20476         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
20477         needed fixing.
20478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
20479         * modules/stdio (Makefile.am): Substitute it.
20480         * lib/stdio.in.h (renameat): Declare replacement.
20481         * lib/renameat.c (rpl_renameat): Implement fix.
20482
20483         renameat: new module
20484         * modules/renameat: New file.
20485         * lib/renameat.c (renameat): Likewise.
20486         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
20487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
20488         * modules/stdio (Makefile.am): Substitute them.
20489         * lib/stdio.in.h (renameat): Declare it.
20490         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20491         * doc/posix-functions/renameat.texi (renameat): Likewise.
20492         * modules/renameat-tests: New test.
20493         * tests/test-renameat.c: Likewise.
20494
20495         rename: fix mingw bugs
20496         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
20497         directory overwrite bugs.
20498
20499         rename: fix another cygwin 1.5 bug
20500         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
20501         checks.
20502         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
20503         unnecessary cygwin workarounds.  Also work around bug with moving
20504         full directory onto an empty one.
20505         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
20506
20507         rename-dest-slash: merge into rename module
20508         * modules/rename-dest-slash (Status): Mark obsolete.
20509         (Depends-on): Add rename.
20510         (Files): Let rename do it all.
20511         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
20512         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
20513         * m4/rename-dest-slash.m4: ...so this file can be deleted.
20514         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
20515         * lib/rename.c (rpl_rename): Update comments.
20516
20517         rename: fix cygwin 1.5.x bugs
20518         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
20519         * lib/rename.c (rpl_rename): Work around them.
20520         * modules/rename (Depends-on): Add same-inode.
20521
20522         rename: fix Solaris 10 bug
20523         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
20524         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
20525         was the only bug.
20526
20527         rename: fix Solaris 9 bug
20528         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
20529         on non-directory.  Avoid calling exit.
20530         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
20531         strdup.
20532         * modules/rename-tests (Depends-on): Drop lstat.
20533         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
20534         (gl_PREREQ_RENAME): Delete unused macro.
20535
20536         rename-dest-slash: fix NetBSD bug
20537         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
20538         links.
20539         * modules/rename-dest-slash (Depends-on): Add same-inode.
20540
20541         rename-tests: new test, exposes several platform bugs
20542         * modules/rename-tests: New file.
20543         * tests/test-rename.h: Likewise.
20544         * tests/test-rename.c: Likewise.
20545         * doc/posix-functions/rename.texi (rename): Improve documentation,
20546         including bugs that will eventually be fixed in gnulib.
20547
20548 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
20549
20550         * lib/uname.c: Include <stdlib.h>
20551         (uname): Assume version info is available.
20552
20553 2009-10-02  Jim Meyering  <meyering@redhat.com>
20554
20555         gnu-web-doc-update: correct --help output
20556         * build-aux/gnu-web-doc-update: Make --help output relevant.
20557
20558         gnu-web-doc-update: add standard options
20559         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
20560
20561         gnu-web-doc-update: New module.
20562         Use this script to automatically update the on-line web documentation
20563         for your GNU project at http://www.gnu.org/software/$pkg/manual/
20564         * modules/gnu-web-doc-update: New file, from coreutils.
20565         * build-aux/gnu-web-doc-update: New script.
20566
20567 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
20568
20569         link: LoadLibrary is not needed.
20570         * lib/link.c: Use GetModuleHandle.
20571
20572 2009-10-01  Eric Blake  <ebb9@byu.net>
20573
20574         getopt: bump serial number
20575         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
20576         change.
20577
20578         tests: tighten link, rmdir, and remove tests
20579         * tests/test-link.h (includes): No need to use <config.h> here.
20580         Clean up if directory hard link was created, otherwise test for
20581         trailing '.'.
20582         * tests/test-linkat.c (main): Simplify.
20583         * tests/test-remove.c (main): Enhance test for trailing '.'.
20584         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20585
20586 2009-10-01  Jim Meyering  <meyering@redhat.com>
20587
20588         maint.mk: requiring "make major" was annoying, for a "minor" release.
20589         What is intended is "stable", to contrast with alpha and beta,
20590         so require "make stable", not "make major".
20591         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
20592         (get_tool_versions): Likewise.
20593         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
20594
20595 2009-09-30  Ben Pfaff  <blp@gnu.org>
20596
20597         Fix broken build of replacement for Windows tmpfile().
20598         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
20599         flags argument added along with the 'mkostemp' module.
20600
20601 2009-09-28  Bruno Haible  <bruno@clisp.org>
20602
20603         Avoid identifier clash with POSIX function 'remove' defined as a macro.
20604         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
20605         to 'remove_elt'.
20606         (gl_list_remove): Update.
20607         * lib/gl_list.c (gl_list_remove): Update.
20608         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
20609         to 'remove_elt'.
20610         (gl_oset_remove): Update.
20611         * lib/gl_list.c (gl_oset_remove): Update.
20612         Reported by Eric Blake.
20613
20614 2009-09-28  Eric Blake  <ebb9@byu.net>
20615
20616         doc: mention yet more cygwin 1.7 status
20617         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
20618         cygwin.
20619         * doc/glibc-functions/execvpe.texi (execvpe): New file.
20620         * doc/gnulib.texi (Glibc unistd.h): Mention it.
20621
20622         argp: fix test failure
20623         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
20624         that are not upper-case.  Pass correct range to tolower.
20625
20626 2009-09-27  Jim Meyering  <meyering@redhat.com>
20627
20628         test-yesno: work around sparc-dash here-document infelicity
20629         Without this change, the literal \177 byte in a here document
20630         would make dash 0.5.5.1-3 access uninitialized memory.
20631         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
20632         Instead, use a marker, "@", and filter through tr to create the desired
20633         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
20634
20635 2009-09-27  Bruno Haible  <bruno@clisp.org>
20636
20637         Disable untested support for new flavours of ACLs on AIX.
20638         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
20639         progress.
20640         * lib/set-mode-acl.c (qset_acl): Likewise.
20641
20642 2008-12-07  Bruno Haible  <bruno@clisp.org>
20643
20644         Add support for new flavours of ACLs on AIX. (Untested.)
20645         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
20646         (file_has_acl): Add support for newer AIX.
20647         * lib/set-mode-acl.c (qset_acl): Likewise.
20648         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
20649         Rainer Tammer <tammer@tammer.net>.
20650
20651 2009-09-26  Eric Blake  <ebb9@byu.net>
20652
20653         argp: fix compilation of getopt
20654         * lib/getopt.in.h (includes): Use different guard than glibc.
20655         Reported by Sergey Poznyakoff.
20656
20657         doc: mention more cygwin 1.7 status
20658         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
20659         bug.
20660         * doc/posix-functions/execl.texi (execl): Likewise.
20661         * doc/posix-functions/execle.texi (execle): Likewise.
20662         * doc/posix-functions/execlp.texi (execlp): Likewise.
20663         * doc/posix-functions/execv.texi (execv): Likewise.
20664         * doc/posix-functions/execve.texi (execve): Likewise.
20665         * doc/posix-functions/execvp.texi (execvp): Likewise.
20666         * doc/glibc-functions/canonicalize_file_name.texi
20667         (canonicalize_file_name): Cygwin 1.7 now provides this.
20668         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
20669         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
20670         on AT_SYMLINK_NOFOLLOW.
20671
20672 2009-09-24  Eric Blake  <ebb9@byu.net>
20673
20674         test-linkat: make test more robust
20675         * tests/test-linkat.c (main): Avoid collision with EEXIST.
20676
20677         getopt: fix inclusion guards for cygwin
20678         * modules/getopt-posix (Depends-on): Add include-next.
20679         (Makefile.am): Substitute more items in replacement header.
20680         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
20681         <getopt.h>.
20682         * lib/getopt.in.h (includes): Use split inclusion guard, and
20683         prefer <getopt.h> over include <unistd.h> when one is present.
20684         (option): Also override name of 'struct option'.
20685
20686         same-inode: revert prior change; it is not yet ready
20687         * NEWS: Undo mention of this change.
20688         * lib/same-inode.h (same-inode.h): Undo tri-state change.
20689         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
20690         * lib/cycle-check.c (cycle_check): Likewise.
20691         * lib/same.c (same_name): Likewise.
20692         * lib/at-func2.c (at_func2): Likewise.
20693
20694 2009-09-23  Eric Blake  <ebb9@byu.net>
20695
20696         linkat: new module
20697         * modules/linkat: New file.
20698         * lib/at-func2.c (at_func2): Likewise.
20699         * lib/linkat.c (linkat): Likewise.
20700         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20701         * lib/openat-priv.h (at_func2): Add declaration.
20702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
20703         * modules/unistd (Makefile.am): Substitute them.
20704         * lib/unistd.in.h (linkat): Declare it.
20705         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20706         * doc/posix-functions/linkat.texi (linkat): Likewise.
20707         * doc/posix-functions/link.texi (link): Tweak wording.
20708         * tests/test-link.c (main): Move guts...
20709         * tests/test-link.h (test_link): ...into new file.
20710         * modules/linkat-tests: New test.
20711         * tests/test-linkat.c: Likewise.
20712         * modules/link-tests (Files): Ship new file.
20713         (Depends-on): Add stdbool.
20714
20715         dirname: add library-safe mdir_name
20716         * lib/dirname.h (mdir_name): New prototype.
20717         * lib/dirname.c (dir_name): Move guts...
20718         (mdir_name): ...to new function that avoids xalloc_die.
20719
20720         fchdir: another mingw fix
20721         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
20722         * lib/fchdir.c (get_name): New helper method; skips canonicalize
20723         on mingw (where it has not yet been ported), and make it optional
20724         elsewhere.
20725         (_gl_register_fd): Use it.
20726
20727         same-inode: make SAME_INODE tri-state, to port to mingw
20728         * NEWS: Mention this change.
20729         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
20730         st_ino always being 0.
20731         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
20732         * lib/cycle-check.c (cycle_check): Likewise.
20733         * lib/same.c (same_name): Likewise.
20734
20735         lstat: avoid mingw compilation error
20736         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
20737         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
20738         lstat ourselves.
20739         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
20740         was adequate.
20741         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
20742         the checks for lstat.
20743         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
20744
20745         link: fix test failure on Solaris 9
20746         * lib/link.c (rpl_link): Don't assume link will catch bogus
20747         trailing slash on source.
20748
20749         test-symlinkat: enhance test
20750         * tests/test-readlink.c (main): Move guts...
20751         * tests/test-readlink.h (test_readlink): ...into new file.
20752         * tests/test-symlink.c (main): Move guts...
20753         * tests/test-symlink.h (test_symlink): ...into new file.
20754         * tests/test-symlinkat.c (main): Use new files for further
20755         coverage.
20756         (do_symlink, do_readlink): New helper functions.
20757         * modules/symlink-tests (Files): Ship new file.
20758         (Depends-on): Add stdbool.
20759         * modules/readlink-tests (Files): Ship new file.
20760         (Depends-on): Add stdbool.
20761         * modules/symlinkat-tests (Files): Use new files.
20762
20763 2009-09-23  Eric Blake  <ebb9@byu.net>
20764
20765         readlink: document portability issue with symlink length
20766         * doc/posix-functions/lstat.texi (lstat): Mention that some file
20767         systems have bogus st_size on symlinks, and mention the
20768         areadlink-with-size module.
20769         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
20770         * doc/posix-functions/readlink.texi (readlink): Mention the
20771         areadlink module, and ERANGE failure.
20772         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20773         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
20774
20775         readlink: fix Solaris 9 bug with trailing slash
20776         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
20777         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
20778         * doc/posix-functions/readlink.texi (readlink): Document this.
20779         * modules/readlink-tests: New test.
20780         * tests/test-readlink.c: Likewise.
20781
20782         readlink: fix cygwin 1.5.x bug with return type
20783         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
20784         * lib/unistd.in.h (readlink): Use ssize_t.
20785         * lib/readlink.c (readlink): Likewise.
20786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20787         * modules/unistd (Makefile.am): Substitute it.
20788         * lib/unistd.in.h (readlink): Declare replacement.
20789         * doc/posix-functions/readlink.texi (readlink): Document this.
20790
20791         symlink: use throughout gnulib
20792         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
20793         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
20794         symlink is not used.
20795         * modules/symlinkat (Depends-on): Add symlink.
20796         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20797         * modules/canonicalize-tests (Depends-on): Likewise.
20798         * modules/lstat-tests (Depends-on): Likewise.
20799         * modules/openat-tests (Depends-on): Likewise.
20800         * modules/remove-tests (Depends-on): Likewise.
20801         * modules/rmdir-tests (Depends-on): Likewise.
20802         * modules/unlink-tests (Depends-on): Likewise.
20803         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
20804         * tests/test-canonicalize.c (symlink): Likewise.
20805         * tests/test-fstatat.c (symlink): Likewise.
20806         * tests/test-lstat.c (symlink): Likewise.
20807         * tests/test-remove.c (symlink): Likewise.
20808         * tests/test-rmdir.c (symlink): Likewise.
20809         * tests/test-unlink.c (symlink): Likewise.
20810         * tests/test-unlinkat.c (symlink): Likewise.
20811
20812         symlink: new module, for Solaris 9 bug
20813         * modules/symlink: New file.
20814         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20815         * lib/symlink.c: Likewise.
20816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20817         * modules/unistd (Makefile.am): Substitute them.
20818         * lib/unistd.in.h (symlink): Declare replacement.
20819         * MODULES.html.sh (File system functions): Mention it.
20820         * doc/posix-functions/symlink.texi (symlink): Likewise.
20821         * modules/symlink-tests: New test.
20822         * tests/test-symlink.c: Likewise.
20823
20824 2009-09-23  Bruno Haible  <bruno@clisp.org>
20825
20826         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
20827         when needed.
20828         Test case: gnulib-tool --import --with-tests atexit inttypes.
20829         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
20830
20831 2009-09-23  Bruno Haible  <bruno@clisp.org>
20832
20833         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
20834         subcommand, not in a subshell.
20835
20836 2009-09-22  Eric Blake  <ebb9@byu.net>
20837
20838         unistd: sort replacement declarations
20839         * lib/unistd.in.h: Sort declarations.
20840
20841         open, openat: minor optimization
20842         * lib/open.c (open): If open succeeded, len is non-zero.
20843         * lib/openat.c (rpl_openat): Likewise.
20844
20845         link-follow: ensure correct result
20846         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
20847         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
20848         distinguish between possible failures.
20849
20850 2009-09-21  Eric Blake  <ebb9@byu.net>
20851
20852         fts: avoid compiler warning
20853         * lib/fts.c (dirent_inode_sort_may_be_useful)
20854         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
20855
20856 2009-09-19  Bruno Haible  <bruno@clisp.org>
20857
20858         * lib/progreloc.c (canonicalize_file_name): New declaration.
20859
20860 2009-09-19  Eric Blake  <ebb9@byu.net>
20861
20862         link: fix quoting
20863         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
20864
20865         openat: fix openat bugs on Solaris 9
20866         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
20867         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
20868         * modules/openat (Depends-on): Add open.
20869         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
20870         * modules/fcntl-h (Makefile.am): Substitute it.
20871         * lib/fcntl.in.h (openat): Declare replacement.
20872         * doc/posix-functions/openat.texi (openat): Document this.
20873
20874         openat: move fstatat and unlinkat into correct files
20875         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
20876         compiled.
20877         * lib/openat.c (fstatat, unlinkat): Move...
20878         * lib/fstatat.c (fstatat): ...into correct files.
20879         * lib/unlinkat.c (unlinkat): Likewise.
20880
20881         openat: fix unlinkat bugs on Solaris 9
20882         * lib/unlinkat.c (unlinkat): New file.
20883         * modules/openat (Depends-on): Add unlink.
20884         (Files): Distribute it.
20885         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
20886         trailing slash behavior is broken.
20887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20888         * modules/unistd (Makefile.am): Substitute it.
20889         * lib/unistd.in.h (unlinkat): Declare replacement.
20890         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
20891
20892         openat: fix fstatat bugs on Solaris 9
20893         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
20894         stat.
20895         * doc/posix-functions/fstatat.texi (fstatat): Document this.
20896
20897         test-unlinkat: enhance test, to expose Solaris 9 bug
20898         * tests/test-unlink.c (main): Factor guts...
20899         * tests/test-unlink.h (test_rmdir_func): ...into new file.
20900         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
20901         * tests/test-rmdir.c (main): Adjust caller.
20902         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
20903         (unlinker): New helper function.
20904         (rmdirat): Enhance check.
20905         * modules/rmdir-tests (Depends-on): Add stdbool.
20906         * modules/unlink-tests (Depends-on): Likewise.
20907         (Files): Add test-unlink.h.
20908         * modules/openat-tests (Files): Likewise.
20909         (Depends-on): Add unlinkdir.
20910
20911         test-fstatat: new test, to expose Solaris 9 bugs
20912         * tests/test-stat.c (main): Factor guts...
20913         * tests/test-stat.h (test_stat_func): ...into new file.
20914         * tests/test-lstat.c (main): Factor guts...
20915         * tests/test-lstat.h (test_lstat_func): ...into new file.
20916         * tests/test-fstatat.c: New file.
20917         * modules/stat-tests (Files): Add test-stat.h.
20918         * modules/lstat-tests (Files): Add test-lstat.h.
20919         (Depends-on): Add stdbool.
20920         * modules/openat-tests (Depends-on): Add pathmax.
20921         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
20922         (Makefile.am): Run new test.
20923
20924         remove: new module, for mingw and Solaris 9 bugs
20925         * modules/remove: New file.
20926         * lib/remove.c: Likewise.
20927         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
20928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
20929         * modules/stdio (Makefile.am): Use them.
20930         * lib/stdio.in.h (remove): Declare replacement.
20931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20932         * doc/posix-functions/remove.texi (remove): Likewise.
20933         * modules/remove-tests: New test.
20934         * tests/test-remove.c: Likewise.
20935
20936         unlink: new module, for Solaris 9 bug
20937         * modules/unlink: New file.
20938         * lib/unlink.c: Likewise.
20939         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
20941         * modules/unistd (Makefile.am): Use them.
20942         * lib/unistd.in.h (stat): Declare replacement.
20943         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20944         * doc/posix-functions/unlink.texi (unlink): Likewise.
20945         * modules/unlink-tests: New test.
20946         * tests/test-unlink.c: Likewise.
20947
20948         lstat: fix Solaris 9 bug
20949         * lib/lstat.c (lstat): Also check for trailing slash on
20950         non-symlink, non-directories.  Use stat module to simplify logic.
20951         * doc/posix-functions/lstat.texi (lstat): Document it.
20952         * modules/lstat-tests (Depends-on): Add errno, same-inode.
20953         (configure.ac): Check for symlink.
20954         * tests/test-lstat.c (main): Add more tests.
20955
20956         stat: add as dependency to other modules
20957         * modules/chown (Depends-on): Add stat.
20958         * modules/euidaccess (Depends-on): Likewise.
20959         * modules/fchdir (Depends-on): Likewise.
20960         * modules/isdir (Depends-on): Likewise.
20961         * modules/link (Depends-on): Likewise.
20962         * modules/lstat (Depends-on): Likewise.
20963         * modules/mkdir-p (Depends-on): Likewise.
20964         * modules/modechange (Depends-on): Likewise.
20965         * modules/open (Depends-on): Likewise.
20966         * modules/readlink (Depends-on): Likewise.
20967         * modules/same (Depends-on): Likewise.
20968
20969         stat: fix Solaris 9 bug
20970         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
20971         slash.
20972         * lib/stat.c (rpl_stat): Work around it.
20973         * doc/posix-functions/stat.texi (stat): Update documentation.
20974
20975         stat: new module, for mingw bug
20976         * modules/stat: New file.
20977         * lib/stat.c: Likewise.
20978         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20979         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
20980         * modules/sys_stat (Makefile.am): Use them.
20981         * lib/sys_stat.in.h (stat): Declare replacement.
20982         * lib/openat.c (fstatat): Deal with lstat and stat being function
20983         macros.
20984         * modules/openat (Depends-on): Add inline.
20985         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20986         * doc/posix-functions/stat.texi (stat): Likewise.
20987         * modules/stat-tests: New test.
20988         * tests/test-stat.c: Likewise.
20989
20990 2009-09-19  Jim Meyering  <meyering@redhat.com>
20991
20992         syntax-check: detect unnecessary inclusion of canonicalize.h
20993         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
20994
20995 2009-09-19  Eric Blake  <ebb9@byu.net>
20996
20997         canonicalize-lgpl: adjust clients to use correct header
20998         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20999         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
21000         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
21001         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
21002         * lib/progreloc.c (includes): Likewise.
21003
21004 2009-09-19  Jim Meyering  <meyering@redhat.com>
21005
21006         test-posixtm.c: correct a comment
21007         * tests/test-posixtm.c: Correct first-line comment.
21008         Spotted by Eric Blake.
21009
21010 2009-09-16  Jim Meyering  <meyering@redhat.com>
21011
21012         posixtm-tests: make T const-correct; add a test case
21013         * tests/test-posixtm.c (T): Declare const.
21014         Add a test for -(2^31+1).
21015         Remove useless can-succeed-only-in-2002 test.
21016
21017         posixtm-tests: adjust the sole failing test
21018         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
21019         expected output matches what mktime now produces.  Cross-checked via
21020         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
21021
21022         posixtm: move #ifdef'd tests into a new module
21023         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
21024         * tests/test-posixtm.c: ... this new file.
21025         * modules/posixtm-tests: New module.
21026
21027 2009-09-19  Eric Blake  <ebb9@byu.net>
21028
21029         openat: simplify use of at-func.c
21030         * lib/at-func.c (includes): Include prerequisites here, to
21031         simplify requirements on client files.
21032         * lib/openat-priv.h: Add double-inclusion guard.
21033         * lib/faccessat.c (includes): Simplify.
21034         * lib/fchmodat.c (includes): Likewise.
21035         * lib/fchownat.c (includes): Likewise.
21036         * lib/mkdirat.c (includes): Likewise.
21037         * lib/mkfifoat.c (includes): Likewise.
21038         * lib/symlinkat.c (includes): Likewise.
21039
21040         openat: allow return of fd 0
21041         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
21042         * modules/save-cwd (Depends-on): Replace fcntl-safer with
21043         unistd-safer.
21044         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
21045         <fcntl.h>; this module does not leak fds.
21046         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
21047         must be allowed to return 0, leaving openat_safer to add the
21048         safety.
21049         (openat_permissive): Avoid writing to just-opened fd 2 if
21050         restoring the current directory fails.
21051         * lib/openat-die.c (openat_restore_fail): Add comment.
21052         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
21053         (save_cwd): Guarantee safe fd, but without use of open_safer.
21054         * tests/test-openat.c: New test.
21055         * modules/openat-tests (Files, Makefile.am): Distribute and build
21056         new file.
21057
21058         relocatable-prog-wrapper: fix build
21059         * modules/relocatable-prog-wrapper (Files): Update name of
21060         canonicalize m4 file, broken on 2009-09-17.
21061         Reported by emad hajjar <aleppos@hotmail.com>.
21062
21063 2009-09-19  Bruno Haible  <bruno@clisp.org>
21064
21065         * lib/safe-alloc.h: Use the standard header with GPL copyright.
21066         * lib/safe-alloc.c: Likewise.
21067         Reported by Ian Beckwith <ianb@erislabs.net>.
21068
21069 2009-09-18  Bruno Haible  <bruno@clisp.org>
21070
21071         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
21072         Reported by <erobles@sensacd.com.mx>.
21073
21074 2009-09-17  Eric Blake  <ebb9@byu.net>
21075
21076         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
21077         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
21078         slashes when checking if last component is missing.
21079         * tests/test-canonicalize.c (main): Test this.
21080
21081         canonicalize, canonicalize-lgpl: honor // if distinct from /
21082         * modules/canonicalize (Files): Add double-slash-root.m4.
21083         * modules/canonicalize-lgpl (Files): Likewise.
21084         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
21085         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
21086         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
21087         fallback definition.
21088         (canonicalize_filename_mode): Use it to protect //.
21089         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
21090         (__realpath): Likewise.
21091         * tests/test-canonicalize.c (main): Test this.
21092         * tests/test-canonicalize-lgpl.c (main): Likewise.
21093         * modules/canonicalize-tests (Depends-on): Add same-inode.
21094         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
21095
21096         canonicalize-lgpl: fix glibc bug with trailing slash
21097         * m4/canonicalize-lgpl.m4: Move contents...
21098         * m4/canonicalize.m4: ...here.
21099         (gl_CANONICALIZE_LGPL): Factor realpath check...
21100         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
21101         glibc 2.3.5 bug, fixed 2005-04-27.
21102         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
21103         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
21104         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
21105         * modules/canonicalize-lgpl (Files): Manage file rename.
21106         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
21107         * modules/stdlib (Makefile.am): Substitute witness.
21108         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
21109         is needed.
21110         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
21111         replacement is required.
21112         * lib/canonicalize.c (canonicalize_file_name): Likewise.
21113         * doc/glibc-functions/canonicalize_file_name.texi
21114         (canonicalize_file_name): Document this.
21115         * doc/posix-functions/realpath.texi (realpath): Likewise.
21116
21117         canonicalize-lgpl: reject non-directory with trailing slash
21118         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
21119         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
21120         catches failures in glibc 2.3.5.
21121         * tests/test-canonicalize.c (main): Likewise.
21122
21123         canonicalize-lgpl: use native realpath if it works
21124         * lib/canonicalize-lgpl.c (realpath): Guard with
21125         FUNC_REALPATH_WORKS.
21126         * lib/stdlib.in.h (realpath): Make declaration optional based on
21127         HAVE_REALPATH.
21128         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
21129         native realpath works.
21130         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
21131         * modules/stdlib (Makefile.am): Substitute witness.
21132
21133         canonicalize, canonicalize-lgpl: use <stdlib.h>
21134         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
21135         (Include): Mention <stdlib.h>.
21136         (configure.ac): Mention functions we provide.
21137         * modules/canonicalize (configure.ac): Likewise.
21138         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
21139         realpath if canonicalize_file_name is missing.
21140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
21141         * modules/stdlib (Makefile.am): Substitute witnesses.
21142         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
21143         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
21144         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
21145         * NEWS: Document this.
21146         * doc/glibc-functions/canonicalize_file_name.texi
21147         (canonicalize_file_name): Likewise.
21148         * doc/posix-functions/realpath.texi (realpath): Likewise.
21149         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
21150
21151         test-canonicalize: consolidate into single C program
21152         * tests/test-canonicalize.sh: Delete; move setup into...
21153         * tests/test-canonicalize.c (main): ...the program, making it
21154         easier to run in debugger.  Add some tests.
21155         * modules/canonicalize-tests (Files): Remove unused file.
21156         (Depends-on): Add progname.
21157         (configure.ac, Makefile.am): Simplify.
21158
21159         test-canonicalize-lgpl: consolidate into single C program
21160         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
21161         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
21162         easier to run in debugger.  Add some tests.
21163         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
21164         (configure.ac, Makefile.am): Simplify.
21165
21166         canonicalize: avoid resolvepath
21167         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
21168         unnecessary checks.
21169         * lib/canonicalize.c (includes): Simplify.
21170         (canonicalize_file_name): Drop resolvepath implementation.
21171         * modules/canonicalize (Depends-on): Drop filenamecat.
21172
21173         canonicalize: don't lose errno
21174         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
21175         over calls to free.
21176
21177         canonicalize: simplify errno handling
21178         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
21179         assignment.
21180
21181         canonicalize, canonicalize-lgpl: update module dependencies
21182         * modules/canonicalize (Depends-on): Add extensions, lstat,
21183         pathmax, stdlib.
21184         (Files): Drop pathmax.h.
21185         (configure.ac): Adjust macro name.
21186         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
21187         lstat, stdlib, sys_stat.
21188         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
21189         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
21190         extensions.
21191         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
21192         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
21193         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
21194         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
21195         declaration, if available.
21196         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
21197         we can rely on the readlink module.
21198         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
21199         (includes): Use <unistd.h> unconditionally.
21200
21201 2009-09-17  Eric Blake  <ebb9@byu.net>
21202
21203         maint: make Include sections of modules consistent
21204         * modules/alloca: Use only header name; no need to list #include.
21205         * modules/alloca-opt: Likewise.
21206         * modules/arpa_inet: Likewise.
21207         * modules/canon-host: Likewise.
21208         * modules/configmake: Likewise.
21209         * modules/dirent: Likewise.
21210         * modules/eealloc: Likewise.
21211         * modules/environ: Likewise.
21212         * modules/fchdir: Likewise.
21213         * modules/fcntl: Likewise.
21214         * modules/fcntl-h: Likewise.
21215         * modules/gethrxtime: Likewise.
21216         * modules/gettime: Likewise.
21217         * modules/ignore-value: Likewise.
21218         * modules/inet_ntop: Likewise.
21219         * modules/inet_pton: Likewise.
21220         * modules/inttypes: Likewise.
21221         * modules/isnand-nolibm: Likewise.
21222         * modules/isnanf-nolibm: Likewise.
21223         * modules/mbchar: Likewise.
21224         * modules/mbfile: Likewise.
21225         * modules/mbiter: Likewise.
21226         * modules/mbuiter: Likewise.
21227         * modules/netdb: Likewise.
21228         * modules/netinet_in: Likewise.
21229         * modules/nproc: Likewise.
21230         * modules/pagealign_alloc: Likewise.
21231         * modules/poll: Likewise.
21232         * modules/printf-frexp: Likewise.
21233         * modules/pthread: Likewise.
21234         * modules/putenv: Likewise.
21235         * modules/random_r: Likewise.
21236         * modules/relocatable-prog: Likewise.
21237         * modules/search: Likewise.
21238         * modules/select: Likewise.
21239         * modules/selinux-h: Likewise.
21240         * modules/settime: Likewise.
21241         * modules/signal: Likewise.
21242         * modules/size_max: Likewise.
21243         * modules/socklen: Likewise.
21244         * modules/ssize_t: Likewise.
21245         * modules/stdarg: Likewise.
21246         * modules/stdbool: Likewise.
21247         * modules/stddef: Likewise.
21248         * modules/stdint: Likewise.
21249         * modules/stdio: Likewise.
21250         * modules/stdlib: Likewise.
21251         * modules/string: Likewise.
21252         * modules/strings: Likewise.
21253         * modules/sys_file: Likewise.
21254         * modules/sys_ioctl: Likewise.
21255         * modules/sys_select: Likewise.
21256         * modules/sys_socket: Likewise.
21257         * modules/sys_stat: Likewise.
21258         * modules/sys_time: Likewise.
21259         * modules/sys_times: Likewise.
21260         * modules/sys_utsname: Likewise.
21261         * modules/sys_wait: Likewise.
21262         * modules/sysexits: Likewise.
21263         * modules/time: Likewise.
21264         * modules/times: Likewise.
21265         * modules/tmpfile: Likewise.
21266         * modules/trim: Likewise.
21267         * modules/unistd: Likewise.
21268         * modules/wchar: Likewise.
21269         * modules/wctype: Likewise.
21270
21271 2009-09-17  Bruno Haible  <bruno@clisp.org>
21272
21273         Make getdate.y compile on QNX and NetBSD 5 / i386.
21274         * m4/getdate.m4 (gl_GETDATE): Conditionally define
21275         TIME_T_FITS_IN_LONG_INT.
21276         * lib/getdate.y (long_time_t): New type.
21277         (relative_time): Change type of 'seconds' field to long_time_t.
21278         (get_date): Update types of local variables. Check against overflow
21279         during conversion from long_time_t to time_t.
21280         Reported by Matt Kraai <kraai@ftbfs.org>
21281         and Hasso Tepper <hasso@netbsd.org>.
21282
21283 2009-09-17  Bruno Haible  <bruno@clisp.org>
21284
21285         * modules/COPYING: Update copyright years.
21286         * modules/README: Likeiwse.
21287         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
21288         Reported by Ian Beckwith <ianb@erislabs.net>.
21289
21290 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
21291
21292         * users.txt: Update references for gnuit package.
21293
21294 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
21295
21296         * m4/getdelim.m4: Fix typo in copyright line.
21297
21298 2009-09-17  Bruno Haible  <bruno@clisp.org>
21299
21300         * lib/atoll.c: Use the standard header with GPL copyright.
21301         * lib/argz.in.h: Likewise.
21302         * lib/glob.c: Likewise.
21303         * lib/glob-libc.h: Likewise.
21304         * lib/random_r.c: Likewise.
21305         * lib/siglist.h: Likewise.
21306         * lib/strsignal.c: Likewise.
21307         Reported by Ian Beckwith <ianb@erislabs.net>.
21308
21309 2009-09-17  Eric Blake  <ebb9@byu.net>
21310
21311         rmdir: ensure correct dependency order
21312         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
21313
21314 2009-09-17  Bruno Haible  <bruno@clisp.org>
21315
21316         Disable assertion that fails on NetBSD 5 / i386.
21317         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
21318         Reported by Sam Steingold <sds@gnu.org>
21319         and Hasso Tepper <hasso@netbsd.org>.
21320
21321 2009-09-16  Eric Blake  <ebb9@byu.net>
21322
21323         unlinkdir: port to mingw
21324         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
21325         on which no one can unlink a directory.
21326
21327         stdlib: sort witness names
21328         * modules/stdlib (Makefile.am): Sort replacements.
21329         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
21330         * lib/stdlib.in.h: Likewise.
21331
21332         parse-duration-tests: avoid link failure
21333         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
21334         LIBINTL.
21335         Reported by Tom G. Christensen.
21336
21337         openat-tests: ensure unlinkat behaves like rmdir
21338         * tests/test-rmdir.c (main): Factor guts...
21339         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
21340         * modules/rmdir-tests (Files): Ship new file.
21341         * modules/openat-tests: New test.
21342         * tests/test-unlinkat.c: Likewise.
21343
21344         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
21345         * modules/rmdir-errno (Status, Notice): Now obsolete.
21346
21347         rmdir: work around cygwin 1.5.x and mingw bugs
21348         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
21349         * lib/rmdir.c (rmdir): Work around it.
21350         * modules/rmdir (Status, Notice): No longer obsolete.
21351         (Files): Add dos.m4.
21352         (Depends-on): Add unistd.
21353         (configure.ac): Set witnesses.
21354         (License): Relax to LGPLv2+.
21355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
21356         * modules/unistd (Makefile.am): Substitute witnesses.
21357         * lib/unistd.in.h (rmdir): Declare replacement.
21358         * doc/posix-functions/rmdir.texi (rmdir): Document this.
21359         * modules/rmdir-tests: New tests.
21360         * tests/test-rmdir.c: Likewise.
21361
21362 2009-09-15  Eric Blake  <ebb9@byu.net>
21363
21364         fchdir: improve use of replacement functions
21365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
21366         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
21367         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
21368         REPLACE_CLOSEDIR.
21369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
21370         * modules/sys_stat (Makefile.am): Substitute correct witness.
21371         * modules/dirent (Makefile.am): Likewise.
21372         * modules/unistd (Makefile.am): Likewise.
21373         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
21374         * lib/unistd.in.h (dup): Likewise.
21375         * lib/sys_stat.in.h (fstat): Likewise.
21376
21377         maint: ignore gnulib-tool temp files
21378         * .gitignore: Ignore files created during gnulib-tool --test.
21379
21380 2009-09-13  Jim Meyering  <meyering@redhat.com>
21381
21382         posixtm: don't reject a time that specify "60" as the number of seconds
21383         * lib/posixtm.c (posixtime): The code to reject invalid dates
21384         would also reject a time specified with the .60 suffix.
21385         But POSIX allows that, in order to accommodate leap seconds.
21386         So don't reject it.
21387         (main): Adjust tests accordingly.
21388         * modules/posixtm (Depends-on): Add stpcpy.
21389
21390 2009-09-11  Jim Meyering  <meyering@redhat.com>
21391
21392         announce-gen: include [$release_type] in emitted Subject:
21393         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
21394         e.g., [stable] in the emitted Subject: line.
21395
21396 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21397
21398         Remove obsolete macros from several modules.
21399         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
21400         obsolete Autoconf macros with their modern counterparts.
21401         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
21402         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
21403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
21404         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
21405         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
21406         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21407         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21408         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21409         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21410         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
21411         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
21412         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21413         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
21414         * m4/sockets.m4 (gl_SOCKETS): Likewise.
21415         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
21416         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
21417         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
21418         * m4/time_r.m4 (gl_TIME_R): Likewise.
21419         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21420         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
21421         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
21422
21423         Fix copyright header in build-aux scripts.
21424         * build-aux/git-version-gen: Fix copyright header to match GPLv3
21425         recommendation.
21426         * build-aux/ncftpput-ftp: Likewise.
21427         * build-aux/update-copyright: Likewise.
21428
21429 2009-09-09  Eric Blake  <ebb9@byu.net>
21430
21431         test-link: allow Linux choice of errno
21432         * tests/test-link.c (main): Relax test for alternate error.
21433
21434         strndup: fix improper m4 caching
21435         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
21436         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
21437         (gl_PREREQ_STRNDUP): Delete.
21438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
21439         * modules/string (Makefile.am): Substitute it.
21440         * lib/string.in.h (strndup): Modernize prototype.
21441
21442         getcwd: port to mingw
21443         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
21444         different from the POSIX assumptions made throughout the getcwd
21445         module; fortunately, the mingw getcwd does not need replacement.
21446         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
21447         * modules/getcwd-tests: New test.
21448         * tests/test-getcwd.c: Likewise.
21449
21450         link: fix platform bugs
21451         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
21452         * lib/link.c (link): Work around them.  Fix related mingw bug.
21453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
21454         * modules/unistd (Makefile.am): Substitute it.
21455         * lib/unistd.in.h (link): Declare replacement.
21456         * doc/posix-functions/link.texi (link): Document this.
21457         * modules/link (Depends-on): Add strdup-posix, sys_stat.
21458
21459         test-link: consolidate into single C program, test more cases
21460         * tests/test-link.sh: Delete.
21461         * tests/test-link.c: Test more error conditions.  Exposes bugs on
21462         at least Cygwin and Solaris.
21463         * modules/link-tests (Files): Remove unused file.
21464         (Depends-on): Add errno, sys_stat.
21465         (Makefile.am): Simplify.
21466
21467 2009-09-08  Bruno Haible  <bruno@clisp.org>
21468
21469         Work around towlower, towupper bug on mingw.
21470         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
21471         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
21472         * doc/posix-functions/towlower.texi: Mention the mingw bug.
21473         * doc/posix-functions/towupper.texi: Likewise.
21474         Reported by Eric Blake.
21475
21476 2009-09-08  Jim Meyering  <meyering@redhat.com>
21477
21478         build: don't try to run autoheader if we don't use it
21479         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
21480         is not used in configure.ac.
21481
21482 2009-09-08  Eric Blake  <ebb9@byu.net>
21483
21484         euidaccess: fix compilation error
21485         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
21486
21487         rawmemchr: relax license
21488         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
21489         okay.
21490         Reported by Jim Meyering.
21491
21492         mkfifoat: new module
21493         * modules/mkfifoat: New file.
21494         * lib/mkfifoat.c: Likewise.
21495         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
21496         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21497         * modules/sys_stat (Makefile.am): Use them.
21498         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
21499         * MODULES.html.sh (File system functions): Mention module.
21500         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
21501         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
21502         * modules/mkfifoat-tests: New test.
21503         * tests/test-mkfifoat.c: Likewise.
21504
21505         strchrnul: relax license
21506         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
21507         okay.
21508         Reported by Jim Meyering.
21509
21510 2009-09-08  Eric Blake  <ebb9@byu.net>
21511
21512         fstatat: fix compilation on Solaris
21513         * lib/fstatat.c (includes): Add fcntl.h.
21514         Reported by Pádraig Brady.
21515
21516 2009-09-07  Eric Blake  <ebb9@byu.net>
21517
21518         rename: modernize replacement
21519         * modules/rename (Depends-on): Add stdio.
21520         (configure.ac): Declare witness.
21521         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
21522         stdio take care of replacement.
21523         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
21524         * modules/stdio (Makefile.am): Substitute them.
21525         * lib/stdio.in.h (rename): Declare replacement.
21526         * lib/rename.c (includes): Allow cross-compilation to non-windows
21527         machines.
21528         * doc/posix-functions/rename.texi (rename): Improve
21529         documentation.
21530
21531         stdio: sort witness names
21532         * modules/stdio (Makefile.am): Sort replacements.
21533         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21534         * lib/stdio.in.h: Likewise.
21535
21536         getcwd: minor cleanups
21537         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
21538         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
21539
21540         openat: provide more convenience names
21541         * modules/faccessat (configure.ac): Add C witness.
21542         * lib/unistd.in.h (readlinkat): Fix typo.
21543         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
21544         convenience wrappers.
21545         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
21546         wrappers in syntax checks.
21547
21548 2009-09-06  Eric Blake  <ebb9@byu.net>
21549
21550         doc: fix comments in recent patches
21551         * lib/faccessat.c: Mention correct function.
21552         * lib/fchmodat.c: Likewise.
21553         * lib/fchownat.c: Likewise.
21554         * lib/symlinkat.c: Likewise.
21555         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
21556         constants.
21557
21558         faccessat, symlinkat: continue cleanup of previous patch
21559         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
21560         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
21561         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
21562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
21563         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
21564         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
21565         set.
21566
21567 2009-09-06  Bruno Haible  <bruno@clisp.org>
21568
21569         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
21570         (fstatat): Declare if GNULIB_FSTATAT is set.
21571         (mkdirat): Declare if GNULIB_MKDIRAT is set.
21572         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
21573         (unlinkat): Declare if GNULIB_UNLINKAT is set.
21574         * modules/fcntl-h (Files): Remove m4/openat.m4.
21575         * modules/sys_stat (Files): Remove m4/openat.m4.
21576         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
21577         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
21578         * modules/unistd (Files): Remove m4/openat.m4.
21579         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
21580         GNULIB_OPENAT.
21581         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
21582         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
21583         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
21584         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
21585         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
21586         gl_OPENAT_DEFAULTS.
21587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
21588         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
21589         Don't require gl_OPENAT_DEFAULTS.
21590         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
21591         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
21592         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
21593         (gl_OPENAT_DEFAULTS): Remove macro.
21594
21595 2009-09-06  Bruno Haible  <bruno@clisp.org>
21596
21597         * modules/openat (configure.ac): Remove unneeded witness.
21598
21599 2009-09-06  Bruno Haible  <bruno@clisp.org>
21600
21601         Set errno to ENOSYS when a function is entirely unsupported.
21602         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
21603         EOPNOTSUPP.
21604         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
21605         * modules/chown (Depends-on): Remove errno.
21606
21607 2009-09-06  Bruno Haible  <bruno@clisp.org>
21608
21609         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
21610
21611 2009-09-06  Bruno Haible  <bruno@clisp.org>
21612
21613         * lib/sys_stat.in.h: Fix preprocessor command indentation.
21614
21615 2009-09-06  Ben Pfaff  <blp@gnu.org>
21616             Bruno Haible  <bruno@clisp.org>
21617
21618         Work around a glibc bug in strtok_r.
21619         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
21620         Undefine if UNDEFINE_STRTOK_R is set.
21621         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
21622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
21623         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
21624         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
21625         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
21626         UNDEFINE_STRTOK_R.
21627         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
21628
21629 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
21630
21631         exclude: minor fix
21632         * lib/exclude.c: Include wctype.h
21633
21634 2009-09-06  Akim Demaille  <demaille@gostai.com>
21635
21636         bootstrap: improve error message
21637         * build-aux/bootstrap (find_tool): Upon failure, report the list
21638         of candidates.
21639         Honor the initial value of the envvar.
21640
21641 2009-09-05  Eric Blake  <ebb9@byu.net>
21642
21643         symlinkat: new module
21644         * modules/symlinkat: New file.
21645         * lib/symlinkat.c: Likewise.
21646         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
21647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
21648         * modules/unistd (Makefile.am): Use them.
21649         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
21650         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
21651         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
21652         * MODULES.html.sh (File system functions): Mention module.
21653         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21654         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21655         * modules/symlinkat-tests: New test.
21656         * tests/test-symlinkat.c: Likewise.
21657
21658         test-openat-safer: add more checks
21659         * tests/test-openat-safer.c (main): Check more code paths.
21660
21661 2009-09-05  Jim Meyering  <meyering@redhat.com>
21662
21663         syntax-check: detect unnecessary inclusion of openat.h
21664         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
21665
21666 2009-09-05  Bruno Haible  <bruno@clisp.org>
21667
21668         Support towlower, towupper.
21669         * doc/posix-functions/towlower.texi: Mention module wctype.
21670         * doc/posix-functions/towupper.texi: Likewise.
21671         * lib/wctype.in.h (towlower, towupper): New functions.
21672         * tests/test-wctype.c: Include stdio.h, stdlib.h.
21673         (ASSERT): New macro.
21674         (e): New variable.
21675         (main): Test also towlower, towupper. Test WEOF argument.
21676         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21677
21678 2009-09-05  Bruno Haible  <bruno@clisp.org>
21679
21680         Fix conversion behaviour when the input is invalid.
21681         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
21682         mark occurring in first pass of indirect conversion.
21683         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
21684         input.
21685         Found by clang's static analyzer.
21686
21687 2009-09-05  Bruno Haible  <bruno@clisp.org>
21688
21689         * tests/test-striconveh.c (main): Test indirect conversion on platforms
21690         where direct conversion is possible.
21691
21692 2009-09-04  Eric Blake  <ebb9@byu.net>
21693
21694         openat: fail with ENOENT on empty name
21695         * lib/openat-proc.c (openat_proc_name): Special-case the empty
21696         buffer.
21697
21698         link-follow: fix logic bug in prior patch
21699         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
21700         reversed sense of yes and no in prior patch.  Avoid confusing
21701         compilation failure with desired semantics.
21702
21703         link-follow: accomodate mingw and cross-compilation
21704         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
21705         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
21706         cross-compilation results to -1, to make linkat easier to
21707         implement when cross-compiling.  Trivially support mingw.
21708         * modules/link-follow (configure.ac): Call new name.
21709         * NEWS: Mention this.
21710
21711 2009-09-03  Eric Blake  <ebb9@byu.net>
21712
21713         faccessat: compile replacement
21714         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
21715         needed.
21716
21717         fts: fix compilation error
21718         * lib/fts.c (includes): Re-add "openat.h", for
21719         openat_needs_fchdir.
21720
21721         faccessat: new module
21722         * modules/faccessat: New file.
21723         * lib/faccessat.c: Likewise.
21724         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
21725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21726         * modules/unistd (Makefile.am): Use it.
21727         * lib/unistd.in.h (faccessat): Declare it.
21728         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
21729         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
21730         * MODULES.html.sh (File system functions): Mention it.
21731         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
21732         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21733
21734         euidaccess: prefer POSIX over non-standard implementation
21735         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
21736         * lib/euidaccess.c (euidaccess): Use it if available.
21737
21738         openat: make template easier to use
21739         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
21740         AT_FUNC_F2 to be undefined.
21741         (VALIDATE_FLAG): New macro; use it to reject bad flags.
21742         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
21743         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
21744         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
21745         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
21746         Likewise.
21747         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
21748         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
21749         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
21750         Likewise.
21751
21752         openat: declare in POSIX headers
21753         * NEWS: Mention this.
21754         * modules/openat (configure.ac): Declare witnesses.
21755         (Depends-on): Add fcntl-h, sys_stat, unistd.
21756         (Include): Mention correct headers.
21757         * modules/fcntl-h (Depends-on): Add link-warning.
21758         (Files): Add openat.m4.
21759         (Makefile.am): Substitute witnesses.
21760         * modules/sys_stat (Files, Makefile.am): Likewise.
21761         * modules/unistd (Files, Makefile.am): Likewise.
21762         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
21763         (gl_OPENAT_DEFAULTS): New macro.
21764         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
21765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
21766         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
21767         (SYS_STAT_H): Remove unused variable.
21768         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
21769         * lib/fcntl--.h (includes): Remove unneeded header.
21770         * lib/openat-safer.c (includes): Likewise.
21771         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
21772         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
21773         appropriate headers.
21774         (__OPENAT_PREFIX): Delete.
21775         * lib/fcntl.in.h (openat): Provide declaration.
21776         (AT_FDCWD): Fix Solaris bug.
21777         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
21778         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
21779         * lib/fchmodat.c (includes):  Adjust to find declaration.
21780         * lib/fchownat.c (includes): Likewise.
21781         * lib/mkdirat.c (includes): Likewise.
21782         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
21783         still visible.
21784
21785 2009-09-02  Eric Blake  <ebb9@byu.net>
21786
21787         errno: use consistently
21788         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
21789         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
21790         * lib/canonicalize.c (ELOOP): Likewise.
21791         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
21792         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
21793         * lib/lchown.c (EOPNOTSUPP): Likewise.
21794         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
21795         * lib/savewd.c (ESTALE): Likewise.
21796         * lib/settime.c (ENOSYS): Likewise.
21797         * lib/utimens.c (ENOSYS): Likewise.
21798         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
21799         * lib/chdir-safer.c (ELOOP): Likewise.
21800         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
21801         * modules/c-stack (Depends-on): Add errno.
21802         * modules/canonicalize (Depends-on): Likewise.
21803         * modules/chdir-safer (Depends-on): Likewise.
21804         * modules/fdopendir (Depends-on): Likewise.
21805         * modules/inet_ntop (Depends-on): Likewise.
21806         * modules/inet_pton (Depends-on): Likewise.
21807         * modules/lchown (Depends-on): Likewise.
21808         * modules/openat (Depends-on): Likewise.
21809         * modules/savewd (Depends-on): Likewise.
21810         * modules/settime (Depends-on): Likewise.
21811         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
21812
21813         fts: avoid leaking fds
21814         * modules/fts (Depends-on): Add cloexec.
21815         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
21816         flag.
21817
21818         fts: make directory fds more robust
21819         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
21820         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
21821
21822         backupfile, chdir-long, fts, savedir: make safer
21823         * lib/backupfile.c (includes): Use "dirent--.h", since
21824         numbered_backup can write to stderr during readdir.
21825         * lib/savedir.c (includes): Likewise.
21826         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
21827         emulation can write to stderr on failure.
21828         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
21829         * lib/getcwd.c: Document why opendir_safer is unused.
21830         * lib/glob.c: Likewise.
21831         * lib/scandir.c: Likewise.
21832         * lib/openat-proc.c: Likewise, for open_safer.
21833         * modules/backupfile (Depends-on): Add dirent-safer.
21834         * modules/savedir (Depends-on): Likewise.
21835         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
21836         * modules/chdir-long (Depends-on): Add openat-safer.
21837
21838         openat-safer: new module
21839         * modules/openat-safer: New file.
21840         * lib/openat-safer.c: Likewise.
21841         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
21842         * lib/fcntl-safer.h (openat_safer): Declare.
21843         * lib/fcntl--.h (openat): Override.
21844         * MODULES.html.sh (File descriptor based I/O): Mention it.
21845         * lib/openat.h: Add double-inclusion guards.
21846         * lib/openat.c (includes): Only include "fcntl-safer.h", not
21847         "fcntl--.h", so we can implement openat.
21848         * modules/openat-safer-tests: New test.
21849         * tests/test-openat-safer.c: New file.
21850
21851         dirent-safer: new module
21852         * modules/dirent-safer: New file.
21853         * lib/dirent--.h: Likewise.
21854         * lib/dirent-safer.h: Likewise.
21855         * lib/opendir-safer.c: Likewise.
21856         * m4/dirent-safer.m4: Likewise.
21857         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
21858         * modules/dirent-safer-tests: New test.
21859         * tests/test-dirent-safer.c: New file.
21860         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
21861
21862         fdopendir: optimize on mingw
21863         * lib/unistd.in.h (_gl_directory_name): New prototype.
21864         * lib/fchdir.c (_gl_directory_name): Implement it.
21865         (fchdir): Use it to simplify implementation.
21866         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
21867         fchdir, when available, to avoid calling [f]chdir().
21868
21869         fdopendir: split into its own module
21870         * lib/openat.c (fdopendir): Move...
21871         * lib/fdopendir.c: ...into new file.
21872         * modules/fdopendir: New module.
21873         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
21874         * modules/openat (Depends-on): Add fdopendir.
21875         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
21876         fdopendir here.
21877         * modules/savedir (Depends-on): Only need fdopendir, not full
21878         openat.
21879         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
21880         * lib/openat.h (fdopendir): Drop prototype.
21881         * lib/dirent.in.h (fdopendir): Provide prototype.
21882         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
21883         * modules/dirent (Makefile.am): Substitute them.
21884         * MODULES.html.sh (File system functions): Mention it.
21885         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
21886         * modules/fdopendir-tests: New file.
21887         * tests/test-fdopendir.c: Likewise.
21888
21889         fchdir: use more consistent macro convention
21890         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
21891         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
21892         REPLACE_FCHDIR, rather than relying on config.h macros.
21893         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
21894         inside a single make-time REPLACE_FCHDIR block, rather than using
21895         the config.h FCHDIR_REPLACEMENT.
21896         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
21897         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
21898         Manage fstat replacement.
21899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
21900         REPLACE_FCHDIR.
21901         * modules/sys_stat (Files): Add m4/unistd_h.m4.
21902         (Makefile.am): Substitute REPLACE_FCHDIR.
21903         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
21904         FCHDIR_REPLACEMENT.
21905         * lib/dup-safer.c (dup_safer): Likewise.
21906         * lib/dup2.c (rpl_dup2): Likewise.
21907         * lib/dup3.c (rpl_dup3): Likewise.
21908         * lib/open.c (rpl_open): Likewise.
21909
21910         fchdir: simplify error handling, and support dup3
21911         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
21912         stdbool, malloc-posix, realloc-posix.
21913         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
21914         (ensure_dirs_slot): Return false on allocation failure.
21915         (rpl_dup2): Delete.
21916         (_gl_register_dup): New function.
21917         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
21918         (_gl_register_fd): Close fd on allocation failure.
21919         * lib/fcntl.in.h (_gl_register_fd): Update signature.
21920         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
21921         prototype.
21922         (rpl_dup2_fchdir): Delete prototype.
21923         * lib/open.c (open): Update caller.
21924         * lib/dup2.c (dup2): Track fchdir metadata.
21925         * lib/dup3.c (dup3): Likewise.
21926         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
21927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
21928
21929 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21930
21931         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
21932         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
21933         don't pass arguments to AC_OUTPUT.
21934
21935 2009-09-02  Bruno Haible  <bruno@clisp.org>
21936
21937         * modules/mkdtemp (License): Relicense under LGPLv2+.
21938         Reported by Paolo Bonzini.
21939
21940 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21941
21942         Replace uses of obsolete autoconf macros in Jim's modules.
21943         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
21944         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
21945         can evoke a warning from autoconf when run with -Wobsolete
21946         enabled.  They were declared obsolete for good reasons (see
21947         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
21948         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
21949         should not continue using the deprecated macros.
21950         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
21951         obsolete Autoconf macros with modern counterparts.
21952         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21953         * m4/dos.m4 (gl_AC_DOS): Likewise.
21954         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
21955         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21956         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
21957         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
21958         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
21959         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
21960         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
21961         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
21962         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
21963         Likewise.
21964         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21965         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21966         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
21967         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
21968         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
21969         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
21970
21971 2009-09-01  Eric Blake  <ebb9@byu.net>
21972
21973         fchdir: fix off-by-one bug in previous patch
21974         * lib/fchdir.c (rpl_fstat): Use correct bounds.
21975         (_gl_unregister_fd): Delete useless if.
21976
21977 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
21978
21979         maint.mk: sort the list of syntax-check rules
21980         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
21981         easier to get a sense of progress when the rules are run sequentially
21982         and take a long time.
21983
21984 2009-09-01  Simon Josefsson  <simon@josefsson.org>
21985
21986         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
21987         * modules/netinet_in: Likewise.
21988         * modules/sys_file: Likewise.
21989         * modules/sys_ioctl: Likewise.
21990         * modules/sys_select: Likewise.
21991         * modules/sys_socket: Likewise.
21992         * modules/sys_stat: Likewise.
21993         * modules/sys_time: Likewise.
21994         * modules/sys_times: Likewise.
21995         * modules/sys_utsname: Likewise.
21996         * modules/sys_wait: Likewise.
21997
21998 2009-09-01  Jim Meyering  <meyering@redhat.com>
21999
22000         fts: help ensure that return values are not ignored
22001         * lib/fts_.h (__GNUC_PREREQ): Define.
22002         (__attribute_warn_unused_result__): Define.
22003         (fts_children, fts_close, fts_open, fts_read): Declare with
22004         __attribute_warn_unused_result__.
22005
22006         fts: fts_close now fails also when closing a dir file descriptor fails
22007         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
22008         and propagate to caller, along with errno.
22009
22010         announce-gen: correct formatting in --help output
22011         * build-aux/announce-gen (usage): Move the one-line description in
22012         --help output "up", to where it belongs, just after Usage:.
22013
22014 2009-08-31  Eric Blake  <ebb9@byu.net>
22015
22016         fchdir: port to mingw
22017         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
22018         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
22019         opened, then use a substitute.
22020         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
22021         replacement.
22022         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
22023         (_gl_register_fd): No need to check stat if open already filters
22024         all directories.
22025         (fchdir): Fix error condition to match POSIX.
22026         * modules/fchdir (Depends-on): Add sys_stat.
22027         * doc/posix-functions/open.texi (open): Document the limitation.
22028         * modules/fchdir-tests: New file.
22029         * tests/test-fchdir.c: Likewise.
22030
22031         canonicalize: allow cross-testing from cygwin to mingw
22032         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
22033         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
22034         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
22035         Likewise.
22036         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
22037         target does not support symlinks.
22038         * tests/test-canonicalize-lgpl.sh: Likewise.
22039
22040         chown: avoid compilation warning on mingw
22041         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
22042         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
22043         mingw.
22044         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
22045         * modules/chown (Depends-on): Add errno.
22046
22047 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22048
22049         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
22050         command.
22051
22052 2009-08-31  Jim Meyering  <meyering@redhat.com>
22053
22054         canonicalize: remove useless initialization
22055         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
22056         initialization of local, "end".
22057
22058 2009-08-30  Bruno Haible  <bruno@clisp.org>
22059
22060         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
22061         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
22062         ENOSYS.
22063
22064 2009-08-30  Bruno Haible  <bruno@clisp.org>
22065
22066         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
22067         /usr/xpg4/bin/tr when it exists.
22068         * tests/test-pipe-filter-gi1.sh: Likewise.
22069
22070 2009-08-30  Bruno Haible  <bruno@clisp.org>
22071
22072         Work around deficient /usr/bin/id program on Solaris.
22073         * tests/test-file-has-acl.sh (ID): New variable.
22074         * tests/test-set-mode-acl.sh (ID): Likewise.
22075         * tests/test-copy-acl.sh (ID): Likewise.
22076         * tests/test-copy-file.sh (ID): Likewise.
22077
22078 2009-08-30  Bruno Haible  <bruno@clisp.org>
22079
22080         New module 'xstriconveh'.
22081         * lib/xstriconveh.h: New file.
22082         * lib/xstriconveh.c: New file.
22083         * modules/xstriconveh: New file.
22084
22085 2009-08-30  Bruno Haible  <bruno@clisp.org>
22086
22087         Make it easier to use mem_cd_iconveh.
22088         * lib/striconveh.h (iconveh_t): New type.
22089         (iconveh_open, iconveh_close): New declarations.
22090         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
22091         with a single 'const iconveh_t *' argument.
22092         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
22093         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
22094         with a single 'const iconveh_t *' argument.
22095         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
22096         * tests/test-striconveh.c (main): Update.
22097         * NEWS: Mention the change.
22098
22099 2009-08-30  Bruno Haible  <bruno@clisp.org>
22100
22101         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
22102         problem.
22103
22104 2009-08-30  Bruno Haible  <bruno@clisp.org>
22105
22106         Work around iconv_open problem on Solaris.
22107         * lib/iconv_open-solaris.gperf: New file.
22108         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
22109         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
22110         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
22111         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
22112         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
22113         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
22114
22115 2009-08-29  Jim Meyering  <meyering@redhat.com>
22116
22117         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
22118         * top/maint.mk (cvs-check): Remove target; it was just an alias
22119         to the better-named vc-diff-check.
22120         (maintainer-distcheck): Remove rule.  It was used only from
22121         the (alpha/beta/major) target, and all of its commands but one
22122         were coreutils-specific.
22123         (vc-dist): Remove rule.
22124         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
22125         Run vc-diff-check, not vc-dist.
22126         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
22127
22128 2009-08-27  Bruno Haible  <bruno@clisp.org>
22129
22130         * tests/test-bitrotate.c (main): Remove test that uses a shift count
22131         of 0.
22132
22133 2009-08-27  Bruno Haible  <bruno@clisp.org>
22134
22135         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
22136         compilers.
22137         * doc/func.texi: Document the SunPRO C bug.
22138
22139 2009-08-27  Bruno Haible  <bruno@clisp.org>
22140
22141         Fix link error on Solaris.
22142         * tests/test-parse-duration.c (xstrdup): Remove function.
22143
22144 2009-08-26  Pádraig Brady  <P@draigbrady.com>
22145
22146         ignore-value: handle pointer types, too
22147         * lib/ignore-value.h (__attribute__): Remove definition.
22148         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
22149         of a more concise and more-often effective "(void) i" statement.
22150         (ignore_ptr): New function to suppress warnings from functions that
22151         return pointers, and to make it explicit that one function doesn't
22152         handle all cases.
22153
22154 2009-08-25  Bruno Haible  <bruno@clisp.org>
22155
22156         dup2: work around a Linux bug.
22157         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
22158         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
22159         * doc/posix-functions/dup2.texi: Mention the Linux bug.
22160         Reported by Simon Josefsson.
22161
22162 2009-08-25  Jim Meyering  <meyering@redhat.com>
22163
22164         libguestfs uses gnulib
22165         * users.txt: Add libguestfs.
22166
22167 2009-08-24  Eric Blake  <ebb9@byu.net>
22168
22169         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
22170         * lib/pipe2.c (includes): Add binary-io.h.
22171         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
22172
22173 2009-08-24  Bruno Haible  <bruno@clisp.org>
22174
22175         Tolerate declared but missing accept4 syscall.
22176         * lib/accept4.c (accept4): Invoke original accept4 function first, if
22177         available.
22178         * lib/sys_socket.in.h (accept4): If the function is already present,
22179         override it.
22180         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
22181         * modules/accept4 (Makefile.am): Compile accept4.c always.
22182         Reported by Paolo Bonzini and Eric Blake.
22183
22184 2009-08-23  Bruno Haible  <bruno@clisp.org>
22185
22186         New module 'accept4'.
22187         * lib/sys_socket.in.h (accept4): New declaration.
22188         * lib/accept4.c: New file.
22189         * m4/accept4.m4: New file.
22190         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22191         GNULIB_ACCEPT4, HAVE_ACCEPT4.
22192         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
22193         HAVE_ACCEPT4.
22194         * modules/accept4: New file.
22195         * doc/glibc-functions/accept4.texi: Mention the new module.
22196
22197 2009-08-24  Jim Meyering  <meyering@redhat.com>
22198
22199         progname: also set global program_invocation_name, when possible
22200         Before this change, a libtool-enabled program that calls glibc's
22201         error function would report the program name as
22202         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
22203         * modules/progname (configure.ac): Check for a declaration of
22204         program_invocation_name.
22205         * lib/progname.c:  Include <errno.h>.
22206         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
22207         Set program_invocation_name.
22208
22209 2009-08-23  Bruno Haible  <bruno@clisp.org>
22210
22211         * lib/dup3.c: Include <string.h>.
22212
22213 2009-08-23  Bruno Haible  <bruno@clisp.org>
22214
22215         * lib/dup3.c (dup3): Test only once whether the system actually exists.
22216         * lib/pipe2.c (pipe2): Likewise.
22217         Suggested by Eric Blake.
22218
22219 2009-08-23  Bruno Haible  <bruno@clisp.org>
22220
22221         Tolerate declared but missing dup3 syscall.
22222         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
22223         * lib/unistd.in.h (dup3): If the function is already present,
22224         override it.
22225         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
22226         * modules/dup3 (Makefile.am): Compile dup3.c always.
22227         Reported by Paolo Bonzini.
22228
22229 2009-08-23  Bruno Haible  <bruno@clisp.org>
22230
22231         Tolerate declared but missing pipe2 syscall.
22232         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
22233         available.
22234         * lib/unistd.in.h (pipe2): If the function is already present,
22235         override it.
22236         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
22237         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
22238         Reported by Paolo Bonzini.
22239
22240 2009-08-23  Bruno Haible  <bruno@clisp.org>
22241
22242         * lib/pipe2.c (pipe2): Move #ifs inside function.
22243
22244 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22245
22246         quotearg: document limitations of quote_these_too
22247         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
22248         those limitations are created.
22249         * lib/quotearg.h (set_char_quoting): Document that digits and
22250         letters that are special after backslash are not permitted.
22251         (quotearg_char): Cross-reference set_char_quoting documentation.
22252
22253 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
22254
22255         quotearg: implement custom_quoting_style
22256         * lib/quotearg.c: (struct quoting_options): Add left_quote and
22257         right_quote fields.
22258         (set_custom_quoting): New public function.
22259         (quotearg_buffer_restyled): Add left_quote and right_quote
22260         arguments, handle them very much like locale quoting, and update
22261         all uses.
22262         (quotearg_n_custom): New public function.
22263         (quotearg_n_custom_mem): New public function.
22264         (quotearg_custom): New public function.
22265         (quotearg_custom_mem): New public function.
22266         * lib/quotearg.h: Prototype and document new public functions.
22267         (enum quoting_style): For escape_quoting_style and
22268         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
22269         ignored even though they're otherwise like c_quoting_style.
22270         Add custom_quoting_style member and document with comparison to
22271         clocale_quoting_style.
22272         * tests/test-quotearg.c (custom_quotes): New array.
22273         (custom_results): New array.
22274         (main): Extend to test custom quoting.
22275
22276 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22277
22278         quotearg: fix right quote escaping when it's in quote_these_too
22279         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
22280         quote, be sure to prepend only one backslash.
22281         * tests/test-quotearg.c (use_quote_double_quotes): New function.
22282         (main): Test it.
22283
22284 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22285
22286         quotearg-tests: test escaping of embedded locale quotes
22287         * tests/test-quotearg.c (struct result_strings): Add member for
22288         new input.
22289         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
22290         (inputs): Add new input.
22291         (results_g): Add expected results.
22292         (flag_results): Likewise.
22293         (locale_results): Likewise.
22294         (compare_strings): Check those.
22295
22296 2009-08-23  Bruno Haible  <bruno@clisp.org>
22297
22298         Tests for module 'dup3'.
22299         * modules/dup3-tests: New file.
22300         * tests/test-dup3.c: New file.
22301
22302         New module 'dup3'.
22303         * lib/unistd.in.h (dup3): New declaration.
22304         * lib/dup3.c: New file.
22305         * m4/dup3.m4: New file.
22306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
22307         HAVE_DUP3.
22308         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
22309         * modules/dup3: New file.
22310         * doc/glibc-functions/dup3.texi: Mention the new module.
22311
22312 2009-08-23  Bruno Haible  <bruno@clisp.org>
22313
22314         Tweak the dup2 test.
22315         * tests/test-dup2.c (main): Create the test file empty. Verify that an
22316         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
22317         the test file is still empty. Fix argument order of lseek.
22318
22319 2009-08-23  Bruno Haible  <bruno@clisp.org>
22320
22321         Avoid test link errors when the modules getopt-gnu, gettext are used.
22322         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
22323         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22324
22325 2009-08-23  Bruno Haible  <bruno@clisp.org>
22326
22327         Fix getdtablesize() on mingw.
22328         * lib/getdtablesize.c (getdtablesize): Implement differently.
22329         * lib/unistd.in.h (getdtablesize): Improve comment.
22330
22331 2009-08-23  Bruno Haible  <bruno@clisp.org>
22332
22333         New module 'mkostemp'.
22334         Based on Ulrich Drepper's 2007-08-10 change in glibc.
22335         * lib/stdlib.in.h (mksotemp): New declaration.
22336         * lib/mkostemp.c: New file, from glibc with modifications.
22337         * lib/tempname.h (GT_FILE): Remove outdated comment.
22338         (gen_tempname): Add flags argument.
22339         * lib/tempname.c (__GT_BIGFILE): Remove macro.
22340         (__GT_FILE): Map to 1.
22341         (small_open, large_open): Remove macros.
22342         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
22343         * lib/mkstemp.c (mkstemp): Update.
22344         * lib/mkdtemp.c (mkdtemp): Likewise.
22345         * m4/mkostemp.m4: New file.
22346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
22347         HAVE_MKOSTEMP.
22348         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
22349         HAVE_MKOSTEMP.
22350         * modules/mkostemp: New file, based on modules/mkstemp.
22351         * doc/glibc-functions/mkostemp.texi: Mention the new module.
22352         * NEWS: Mention the change.
22353
22354 2009-08-23  Bruno Haible  <bruno@clisp.org>
22355
22356         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
22357         Reported by Eric Blake.
22358
22359 2009-08-23  Bruno Haible  <bruno@clisp.org>
22360
22361         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
22362         Reported by Eric Blake.
22363
22364 2009-08-23  Bruno Haible  <bruno@clisp.org>
22365
22366         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
22367         * modules/pipe2 (Depends-on): Likewise.
22368
22369 2009-08-23  Eric Blake  <ebb9@byu.net>
22370
22371         fcntl-h: add O_TTY_INIT support
22372         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
22373         * tests/test-fcntl-h.c (o): Test it.
22374         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22375
22376         fcntl-h: rename from fcntl, in preparation for fcntl(2)
22377         * modules/fcntl: Move <fcntl.h> header replacement...
22378         * modules/fcntl-h: ...to new name, so as not to collide with
22379         like-named function.
22380         * tests/test-fcntl.c: Rename...
22381         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
22382         * modules/fcntl-tests: Rename...
22383         * modules/fcntl-h-tests: ...to this.  Update test file name.
22384         * modules/chdir-long (Depends-on): Update clients.
22385         * modules/chdir-safer (Depends-on): Likewise.
22386         * modules/fcntl-safer (Depends-on): Likewise.
22387         * modules/fts (Depends-on): Likewise.
22388         * modules/mkancesdirs (Depends-on): Likewise.
22389         * modules/mkdir-p (Depends-on): Likewise.
22390         * modules/open (Depends-on): Likewise.
22391         * modules/savewd (Depends-on): Likewise.
22392         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
22393         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22394
22395 2009-08-22  Bruno Haible  <bruno@clisp.org>
22396
22397         * modules/binary-io (License): Relicense under LGPL.
22398         * modules/pipe2 (License): Likewise.
22399
22400 2009-08-22  Bruno Haible  <bruno@clisp.org>
22401
22402         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
22403         return value.
22404         * lib/pipe-filter-gi.c (filter_init): Likewise.
22405         Reported by Eric Blake.
22406
22407 2009-08-22  Bruno Haible  <bruno@clisp.org>
22408
22409         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
22410         * modules/pipe (Depends-on): Add pipe2.
22411
22412 2009-08-22  Bruno Haible  <bruno@clisp.org>
22413
22414         Tests for module 'pipe2'.
22415         * modules/pipe2-tests: New file.
22416         * tests/test-pipe2.c: New file.
22417
22418         New module 'pipe2'.
22419         * lib/unistd.in.h (pipe2): New declaration.
22420         * lib/pipe2.c: New file.
22421         * m4/pipe2.m4: New file.
22422         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
22423         HAVE_PIPE2.
22424         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
22425         * modules/pipe2: New file.
22426         * doc/glibc-functions/pipe2.texi: Mention the new module.
22427
22428 2009-08-22  Bruno Haible  <bruno@clisp.org>
22429
22430         Reference some new glibc functions.
22431         * doc/glibc-functions/accept4.texi: New file.
22432         * doc/glibc-functions/dup3.texi: New file.
22433         * doc/glibc-functions/mkostemp.texi: New file.
22434         * doc/glibc-functions/pipe2.texi: New file.
22435         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
22436         (Glibc sys/socket.h): Refer to accept4.
22437         (Glibc unistd.h): Refer to dup3, pipe2.
22438         Reported by Eric Blake.
22439
22440 2009-08-22  Jim Meyering  <meyering@redhat.com>
22441             Bruno Haible  <bruno@clisp.org>
22442
22443         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
22444         This makes it so packages using automake-1.11's silent-rules option
22445         can print e.g., a single "GEN    configmake.h" line, rather than
22446         the 30+ statements that perform the job.  If you want to see the
22447         actual commands, you can still run "make V=1".
22448         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
22449         so that make output is abbreviated when those variables are defined
22450         appropriately.
22451         * modules/argz: Likewise.
22452         * modules/arpa_inet: Likewise.
22453         * modules/byteswap: Likewise.
22454         * modules/configmake: Likewise.
22455         * modules/dirent: Likewise.
22456         * modules/errno: Likewise.
22457         * modules/fcntl: Likewise.
22458         * modules/float: Likewise.
22459         * modules/fnmatch: Likewise.
22460         * modules/getopt-posix: Likewise.
22461         * modules/glob: Likewise.
22462         * modules/iconv_open: Likewise.
22463         * modules/inttypes: Likewise.
22464         * modules/localcharset: Likewise.
22465         * modules/locale: Likewise.
22466         * modules/math: Likewise.
22467         * modules/netdb: Likewise.
22468         * modules/netinet_in: Likewise.
22469         * modules/poll: Likewise.
22470         * modules/posix_spawnp-tests: Likewise.
22471         * modules/sched: Likewise.
22472         * modules/search: Likewise.
22473         * modules/selinux-h: Likewise.
22474         * modules/signal: Likewise.
22475         * modules/spawn: Likewise.
22476         * modules/stdarg: Likewise.
22477         * modules/stdbool: Likewise.
22478         * modules/stddef: Likewise.
22479         * modules/stdint: Likewise.
22480         * modules/stdio: Likewise.
22481         * modules/stdlib: Likewise.
22482         * modules/string: Likewise.
22483         * modules/strings: Likewise.
22484         * modules/sys_file: Likewise.
22485         * modules/sys_ioctl: Likewise.
22486         * modules/sys_select: Likewise.
22487         * modules/sys_socket: Likewise.
22488         * modules/sys_stat: Likewise.
22489         * modules/sys_time: Likewise.
22490         * modules/sys_times: Likewise.
22491         * modules/sys_utsname: Likewise.
22492         * modules/sys_wait: Likewise.
22493         * modules/sysexits: Likewise.
22494         * modules/time: Likewise.
22495         * modules/unistd: Likewise.
22496         * modules/wchar: Likewise.
22497         * modules/wctype: Likewise.
22498
22499 2009-08-22  Jim Meyering  <meyering@redhat.com>
22500
22501         announce-gen: detect write failure
22502         * build-aux/announce-gen: Add Coda at end.
22503         Remove equivalent-but-more-verbose block at top.
22504
22505 2009-08-19  Akim Demaille  <demaille@gostai.com>
22506
22507         bootstrap: --help to stdout.
22508         * bootstrap (usage): Don't send --help to stderr.
22509         Use a here doc instead of a long string.
22510
22511 2009-08-21  Eric Blake  <ebb9@byu.net>
22512
22513         test-popen-safer: split from test-popen
22514         * tests/test-popen.c (main): Move...
22515         * tests/test-popen.h: ...into new file.
22516         * tests/test-popen-safer2.c: New file.
22517         * modules/popen-tests (Files): Add test-popen.h.
22518         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
22519         Suggested by Bruno Haible.
22520
22521         test-fcntl-safer: split from test-open
22522         * tests/test-open.c (main): Move...
22523         * tests/test-open.h: ...into new file.
22524         * tests/test-fcntl-safer.c: New file.
22525         * modules/open-tests (Files): Add test-open.h.
22526         * modules/fcntl-safer-tests: New file.
22527         Suggested by Bruno Haible.
22528
22529         test-fopen-safer: split from test-fopen
22530         * tests/test-fopen.c (main): Move...
22531         * tests/test-fopen.h: ...into new file.
22532         * tests/test-fopen-safer.c: New file.
22533         * modules/fopen-tests (Files): Add test-fopen.h.
22534         * modules/fopen-safer-tests: New file.
22535         Suggested by Bruno Haible.
22536
22537 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
22538
22539         popen-safer: test O_CLOEXEC at run-time.
22540         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
22541
22542 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
22543
22544         fcntl: move more flags to the header
22545         * lib/cloexec.c: Do not define FD_CLOEXEC here.
22546         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
22547         * lib/fcntl.in.h: Do both things here.
22548
22549 2009-08-21  Jim Meyering  <meyering@redhat.com>
22550
22551         consistently remove $@-t before redirecting to it
22552         * modules/argz: Remove $@-t and $@ before redirecting to the former.
22553         * modules/alloca-opt: Likewise.
22554         * modules/byteswap: Likewise.
22555         * modules/fnmatch: Likewise.
22556         * modules/getopt-posix: Likewise.
22557         * modules/glob: Likewise.
22558         * modules/poll: Likewise.
22559         * modules/posix_spawnp-tests: Likewise.
22560         * modules/sys_socket: Likewise.
22561         * modules/sysexits: Likewise.
22562
22563 2009-08-21  Eric Blake  <ebb9@byu.net>
22564
22565         popen: simplify access to original popen
22566         * lib/popen.c (rpl_popen): No need to worry about popen being a
22567         macro.
22568         Reported by Bruno Haible.
22569
22570 2009-08-20  Eric Blake  <ebb9@byu.net>
22571
22572         build: avoid some compiler warnings
22573         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
22574         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
22575         type.
22576         (new_exclude_segment, excluded_file_pattern_p)
22577         (excluded_file_name_p): Reduce scope.
22578         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
22579         old-style declaration.
22580
22581 2009-08-20  Simon Josefsson  <simon@josefsson.org>
22582
22583         * tests/test-exclude1.sh: Handle Windows EOL.
22584         * tests/test-exclude2.sh: Likewise.
22585         * tests/test-exclude3.sh: Likewise.
22586         * tests/test-exclude4.sh: Likewise.
22587         * tests/test-exclude5.sh: Likewise.
22588         * tests/test-exclude6.sh: Likewise.
22589         * tests/test-exclude7.sh: Likewise.
22590
22591 2009-08-19  Akim Demaille  <demaille@gostai.com>
22592
22593         bootstrap: find sha1sum when named gsha1sum.
22594         * bootstrap (find_tool): New.
22595         ($SHA1SUM): New.
22596         Use it.
22597
22598 2009-08-20  Jim Meyering  <meyering@redhat.com>
22599
22600         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
22601         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
22602         expression that converts "." in a file name to "\." in the resulting
22603         regexp.  Start with a dummy statement, so that prior shell variable
22604         definitions are expanded portably.  Reported by Simon Josefsson.
22605
22606 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
22607
22608         Fix polling for writeability of a screen buffer.
22609         * lib/poll.c: Distinguish input and screen buffers for the
22610         Win32 implementation.
22611         * lib/select.c: Likewise.
22612
22613 2009-08-19  Eric Blake  <ebb9@byu.net>
22614
22615         popen-safer: prevent popen from clobbering std descriptors
22616         * modules/popen-safer: New file.
22617         * lib/popen-safer.c: Likewise.
22618         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
22619         * lib/stdio--.h (popen): Provide override.
22620         * lib/stdio-safer.h (popen_safer): Provide declaration.
22621         * tests/test-popen.c (includes): Partially test this.
22622         * modules/popen-safer-tests: New file, for more tests.
22623         * tests/test-popen-safer.c: Likewise.
22624         * MODULES.html.sh (file stream based Input/Output): Mention it.
22625
22626         tests: test some of the *-safer modules
22627         * modules/fopen-safer (Depends-on): Add fopen.
22628         * modules/fcntl-safer (Depends-on): Add fcntl.
22629         * modules/stdlib-safer (Depends-on): Add stdlib.
22630         (configure.ac): Set indicator.
22631         * modules/unistd-safer (configure.ac): Likewise.
22632         * modules/tmpfile-safer (configure.ac): Likewise.
22633         (Depends-on): Add tmpfile.
22634         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
22635         active.
22636         * tests/test-fopen.c (includes): Test safer versions when they are
22637         in use.
22638         * tests/test-open.c (includes): Likewise.
22639
22640         popen: fix cygwin 1.5 bug when stdin closed
22641         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
22642         * modules/popen: New file.
22643         * modules/popen-tests: Likewise.
22644         * tests/test-popen.c: Likewise.
22645         * m4/popen.m4: Likewise.
22646         * lib/popen.c: Likewise.
22647         * lib/stdio.in.h (popen): New declaration.
22648         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
22649         * modules/stdio (Makefile.am): Likewise.
22650         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
22651
22652 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
22653
22654         maint.mk: give full control over update-copyright exclusions
22655         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
22656         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
22657         (update-copyright): Don't force inclusion of top-level
22658         ChangeLog.  Don't force exclusion of all COPYING files, but make
22659         them the default exclusion instead.
22660
22661 2009-08-16  Bruno Haible  <bruno@clisp.org>
22662
22663         Fix test failures on Solaris 10.
22664         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
22665         tests when Solaris iconv() is used.
22666         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
22667         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
22668         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
22669         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
22670         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
22671
22672 2009-08-16  Bruno Haible  <bruno@clisp.org>
22673
22674         Fix test failures on Solaris 10.
22675         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
22676         'tr' program and pass it as first argument.
22677         * tests/test-pipe-filter-gi1.sh: Likewise.
22678         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
22679         program as first argument.
22680         * tests/test-pipe-filter-gi1.c (main): Likewise.
22681
22682 2009-08-16  Eric Blake  <ebb9@byu.net>
22683
22684         fpurge: fix previous commits
22685         * modules/fpurge (Makefile.am): Make replacement conditional,
22686         partially reverting 2007-04-29 change; missed in previous
22687         attempt.
22688         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
22689         is missing.
22690
22691 2009-08-16  Bruno Haible  <bruno@clisp.org>
22692
22693         Clarify fpurge's effect on the file position.
22694         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
22695         * tests/test-fpurge.c (main): Make a second pass for checking the file
22696         position.
22697
22698 2009-08-16  Bruno Haible  <bruno@clisp.org>
22699
22700         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
22701         declaration of fpurge is missing.
22702         * tests/test-fpurge.c (main): Check that the file has not more contents
22703         than expected. Close the file before removing it.
22704
22705 2009-08-15  Eric Blake  <ebb9@byu.net>
22706
22707         fpurge: don't wrap working cygwin implementation
22708         * lib/fpurge.c (fpurge): Fix comment typo.
22709         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
22710         1.7 to avoid replacement.
22711         * tests/test-fpurge.c (main): Enhance test.
22712
22713 2009-08-15  Eric Blake  <ebb9@byu.net>
22714         and Jim Meyering  <meyering@redhat.com>
22715
22716         test-update-copyright: skip if perl is insufficient
22717         * tests/test-update-copyright.sh: Failure to run maintainer tool
22718         should not cause testsuite failure on cygwin 1.5.
22719
22720 2009-08-14  Eric Blake  <ebb9@byu.net>
22721
22722         doc: mention more functions added in cygwin 1.7.0
22723         * doc/posix-headers/limits.texi (limits.h): Update for recent
22724         cygwin additions.
22725         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
22726         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
22727         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
22728         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
22729         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
22730
22731 2009-08-14  Eric Blake  <ebb9@byu.net>
22732
22733         maint.mk: simplify update-copyright rule
22734         * top/maint.mk (update-copyright-local): Delete, and document how
22735         to do it in cfg.mk instead.
22736         (update-copyright-exclude-regexp): Delete, and document how to do
22737         it in .x-update-copyright instead.
22738         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
22739         exclude ChangeLog.
22740
22741 2009-08-14  Bruno Haible  <bruno@clisp.org>
22742
22743         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
22744
22745 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22746
22747         maint.mk: support update-copyright-env
22748         * top/maint.mk (update-copyright-env): Define place-holder.
22749         (update-copyright): Expand $(update-copyright-env) before
22750         invoking update-copyright.
22751
22752 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22753
22754         update-copyright: implement forced reformatting
22755         * build-aux/update-copyright: Implement and document
22756         UPDATE_COPYRIGHT_FORCE.
22757         * tests/test-update-copyright.sh: Test it.
22758
22759 2009-08-14  Eric Blake  <ebb9@byu.net>
22760         and Bruno Haible  <bruno@clisp.org>
22761
22762         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
22763         * tests/test-locale.c: Revert previous patch related to NULL.
22764         * tests/test-stdio.c: Likewise.
22765         * tests/test-stdlib.c: Likewise.
22766         * tests/test-string.c: Likewise.
22767         * tests/test-unistd.c: Likewise.
22768         * modules/time-tests (Depends-on): Add verify.
22769         * modules/wchar-tests (Depends-on): Likewise.
22770         * tests/test-time.c: Test for NULL compliance.
22771         * tests/test-wchar.c: Likewise.
22772         * modules/locale (Depends-on): Add stddef.
22773         * modules/stdio (Depends-on): Likewise.
22774         * modules/stdlib (Depends-on): Likewise.
22775         * modules/string (Depends-on): Likewise.
22776         * modules/time (Depends-on): Likewise.
22777         * modules/unistd (Depends-on): Likewise.
22778         * modules/wchar (Depends-on): Likewise.
22779         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
22780         * lib/stdlib.in.h (includes): Likewise.
22781         * lib/string.in.h (includes): Likewise.
22782         * lib/time.in.h (includes): Likewise.
22783         * lib/unistd.in.h (includes): Likewise.
22784         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
22785         replaced.
22786         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22787         * m4/stddef_h.m4: New file.
22788         * modules/stddef: Likewise.
22789         * lib/stddef.in.h: Likewise.
22790         * modules/stddef-tests: Likewise.
22791         * tests/test-stddef.c: Likewise.
22792         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
22793         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
22794         * doc/posix-headers/locale.texi (locale.h): Likewise.
22795         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
22796         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22797         * doc/posix-headers/string.texi (string.h): Likewise.
22798         * doc/posix-headers/time.texi (time.h): Likewise.
22799         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
22800         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
22801
22802 2009-08-14  Eric Blake  <ebb9@byu.net>
22803
22804         doc: improve git diff of texinfo files
22805         * .gitattributes: Add rule for *.texi files, with hint on how to
22806         use it.
22807         Copied from m4, and based on a report by Bruno Haible.
22808
22809 2009-08-14  Bruno Haible  <bruno@clisp.org>
22810
22811         Disable multithread support by default on Cygwin 1.5.x for real.
22812         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
22813
22814 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22815
22816         update-copyright: much ado about intervals
22817         * build-aux/update-copyright: Implement and document
22818         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
22819         of copyright year intervals.
22820         Also, document UPDATE_COPYRIGHT_YEAR.
22821         * tests/test-update-copyright.sh: Test it.
22822
22823         update-copyright: convert 2-digit to 4-digit years
22824         * build-aux/update-copyright: Implement and document.
22825         * tests/test-update-copyright.sh: Update.
22826
22827 2009-08-14  Jim Meyering  <meyering@redhat.com>
22828
22829         test-exclude: avoid coreutils "make check" failure
22830         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
22831         just as in test-argmatch.c.
22832
22833 2009-08-13  Eric Blake  <ebb9@byu.net>
22834
22835         test-dup2: fix bad assumption
22836         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
22837         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
22838
22839         test-version-etc: fix CRLF portability issue
22840         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
22841         recognize \r.
22842         * tests/test-argp-version-etc-1.sh: Likewise.
22843
22844         getopt: update client modules
22845         * modules/argp (Depends-on): Use getopt-gnu.
22846         * modules/git-merge-changelog (Depends-on): Likewise.
22847         * modules/long-options (Depends-on): Likewise.
22848         * modules/xstrtol (Depends-on): Likewise.
22849
22850 2009-08-13  Simon Josefsson  <simon@josefsson.org>
22851
22852         * tests/test-version-etc.sh: Don't fail on different
22853         project/version.  Don't fail on CRLF differences.  Rewrite to use
22854         multiple -e instead of multiple sed forks, suggested by Eric Blake
22855         <ebb9@byu.net>.
22856         * tests/test-argp-version-etc-1.sh: Likewise.
22857
22858 2009-08-13  Simon Josefsson  <simon@josefsson.org>
22859
22860         * tests/test-version-etc.sh: Don't fail on different
22861         project/version.
22862
22863 2009-08-12  Bruno Haible  <bruno@clisp.org>
22864
22865         Tests for modules 'getopt-posix', 'getopt-gnu'.
22866         * modules/getopt-posix-tests: New file.
22867         * tests/test-getopt.c: New file.
22868         * tests/test-getopt.h: New file.
22869         * tests/test-getopt_long.h: New file.
22870
22871         New modules 'getopt-posix', 'getopt-gnu'.
22872         * modules/getopt-gnu: New file, renamed from modules/getopt.
22873         * modules/getopt-posix: New file.
22874         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
22875         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
22876         (gl_GETOPT): Remove macro.
22877         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
22878         Disable the test against BSD systems that declare optreset. Test
22879         against mingw bug. Test against lack of support of optional arguments
22880         on many platforms.
22881         * doc/glibc-headers/getopt.texi: Update module name and list of
22882         relevant platforms.
22883         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
22884         'getopt-gnu' and more portability problems.
22885         * NEWS: Mention the changes.
22886
22887 2009-08-12  Bruno Haible  <bruno@clisp.org>
22888
22889         Ensure that optarg etc. get declared by <unistd.h>.
22890         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
22891         AC_USE_SYSTEM_EXTENSIONS.
22892         * modules/getopt (Depends-on): Add 'extensions'.
22893
22894 2009-08-12  Bruno Haible  <bruno@clisp.org>
22895
22896         Avoid test link errors.
22897         * modules/pipe-filter-ii-tests (Makefile.am): Define
22898         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
22899         * modules/pipe-filter-gi-tests (Makefile.am): Define
22900         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
22901         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22902
22903 2009-08-12  Bruno Haible  <bruno@clisp.org>
22904
22905         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
22906         gl_GETOPT_SUBSTITUTE before.
22907         (gl_GETOPT): Use it.
22908         * m4/argp.m4 (gl_ARGP): Update.
22909         Reported by Sergey Poznyakoff.
22910
22911         * m4/getopt.m4: Reorder macros.
22912         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
22913         (gl_GETOPT_SUBSTITUTE): Remove macro.
22914
22915 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
22916
22917         Minor improvement in gitlog-to-changelog
22918
22919         * build-aux/gitlog-to-changelog: New option `--format' makes
22920         output format string configurable.
22921
22922 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
22923
22924         Optimize exclude: use hash tables for non-wildcard patterns.
22925
22926         * lib/exclude.c: Include hash.h and mbuiter.h
22927         (struct exclude_pattern, exclude_segment): New data types.
22928         (struct exclude): Rewrite.
22929         (fnmatch_pattern_has_wildcards): New function.
22930         (new_exclude_segment, free_exclude_segment): New functions.
22931         (excluded_file_pattern_p, excluded_file_name_p): New functions.
22932         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
22933         * lib/exclude.h (is_fnmatch_pattern): New prototype.
22934         * modules/exclude: Depend on hash and mbuiter.
22935
22936         * modules/exclude-tests: New file.
22937         * tests/test-exclude.c: New file.
22938         * tests/test-exclude1.sh: New file.
22939         * tests/test-exclude2.sh: New file.
22940         * tests/test-exclude3.sh: New file.
22941         * tests/test-exclude4.sh: New file.
22942         * tests/test-exclude5.sh: New file.
22943         * tests/test-exclude6.sh: New file.
22944         * tests/test-exclude7.sh: New file.
22945
22946 2009-08-12  Bruno Haible  <bruno@clisp.org>
22947
22948         Ensure that getopt() gets declared by <unistd.h>.
22949         * lib/unistd.in.h: Conditionally include getopt.h.
22950         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
22951         Set GNULIB_UNISTD_H_GETOPT.
22952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22953         GNULIB_UNISTD_H_GETOPT.
22954         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
22955
22956 2009-08-12  Bruno Haible  <bruno@clisp.org>
22957
22958         Clarify logic.
22959         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
22960         gl_replace_getopt instead of GETOPT_H.
22961
22962 2009-08-12  Bruno Haible  <bruno@clisp.org>
22963
22964         * m4/getopt.m4: Add comments.
22965
22966 2009-08-12  Bruno Haible  <bruno@clisp.org>
22967
22968         Disable multithread support by default on Cygwin 1.5.x.
22969         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
22970         set gl_use_threads=no if not specified otherwise.
22971
22972 2009-08-11  Bruno Haible  <bruno@clisp.org>
22973
22974         Avoid compilation error on NetBSD 5.0.
22975         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
22976         * tests/test-stdio.c: Likewise.
22977         * tests/test-stdlib.c: Likewise.
22978         * tests/test-string.c: Likewise.
22979         * tests/test-unistd.c: Likewise.
22980         Reported by Greg Troxel <gdt@ir.bbn.com>
22981         at <https://savannah.gnu.org/support/?106973>.
22982
22983 2009-08-11  Bruno Haible  <bruno@clisp.org>
22984
22985         * modules/dup2-tests (Depends-on): Remove close.
22986
22987         Undo 2009-07-19 commit.
22988         * modules/acl-tests (Depends-on): Remove close.
22989         * modules/binary-io-tests (Depends-on): Likewise.
22990         * modules/closein-tests (Depends-on): Likewise.
22991         * modules/flock-tests (Depends-on): Likewise.
22992         * modules/fsync-tests (Depends-on): Likewise.
22993         * modules/lseek-tests (Depends-on): Likewise.
22994         * modules/pipe-tests (Depends-on): Likewise.
22995         * modules/posix_spawn-tests (Depends-on): Likewise.
22996         * modules/posix_spawnp-tests (Depends-on): Likewise.
22997         * modules/stat-time-tests (Depends-on): Likewise.
22998         * modules/yesno-tests (Depends-on): Likewise.
22999
23000 2009-08-10  Bruno Haible  <bruno@clisp.org>
23001
23002         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
23003
23004 2009-08-10  Bruno Haible  <bruno@clisp.org>
23005
23006         Fix a gcc warning.
23007         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
23008
23009 2009-08-10  Bruno Haible  <bruno@clisp.org>
23010
23011         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
23012         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
23013         not only the first time.
23014         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
23015         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
23016         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
23017         is 1, not only the the first time.
23018
23019 2009-08-10  Bruno Haible  <bruno@clisp.org>
23020
23021         Make it possible to use module 'gethostname' without module 'close'.
23022         * lib/unistd.in.h (close): Evoke a link error only if
23023         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
23024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23025         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
23026         * modules/unistd (Makefile.am): Substitute
23027         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
23028         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
23029         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
23030         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
23031         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
23032         * modules/sys_ioctl (Makefile.am): Substitute
23033         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
23034         * modules/socket (configure.ac): On native Windows, set
23035         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
23036         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
23037         Reported by Sam Steingold <sds@gnu.org>.
23038
23039 2009-08-10  Bruno Haible  <bruno@clisp.org>
23040
23041         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
23042         * modules/ioctl (configure.ac): Likewise.
23043
23044 2009-08-10  Bruno Haible  <bruno@clisp.org>
23045
23046         Avoid collision between gnulib wrapper and libintl wrapper.
23047         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
23048         already defined in intl/printf.c.
23049         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
23050         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
23051
23052 2009-08-09  Bruno Haible  <bruno@clisp.org>
23053
23054         Make <sys/select.h> really self-contained, also on Solaris 10.
23055         * lib/sys_select.in.h: Include <string.h>.
23056         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
23057         Solaris 10 problem.
23058         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
23059         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
23060         Reported by Jim Meyering.
23061
23062 2009-08-09  Bruno Haible  <bruno@clisp.org>
23063
23064         Avoid warnings from 'aclocal' that are due to a use of macro name
23065         AM_XGETTEXT_OPTION that is not defined in automake.
23066         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
23067         automake.
23068         * modules/error (configure.ac): Likewise.
23069         * modules/propername (configure.ac): Likewise.
23070         * modules/vasprintf (configure.ac): Likewise.
23071         * modules/verror (configure.ac): Likewise.
23072         * modules/xprintf (configure.ac): Likewise.
23073         * modules/xvasprintf (configure.ac): Likewise.
23074
23075 2009-08-08  Bruno Haible  <bruno@clisp.org>
23076
23077         Avoid compilation error in C++ mode.
23078         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
23079         Reported by Sam Steingold <sds@gnu.org>.
23080
23081 2009-08-08  Bruno Haible  <bruno@clisp.org>
23082
23083         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
23084         for the various Unix platforms.
23085         * doc/posix-headers/limits.texi: Update platforms list regarding
23086         HOST_NAME_MAX.
23087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23088
23089 2009-08-07  Jim Meyering  <meyering@redhat.com>
23090
23091         selinux-at: fix typo in a comment
23092         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
23093         Spotted by Paolo Bonzini.
23094
23095         selinux-at: remove redundant m4 code, add documentation
23096         * modules/selinux-at (configure.ac): Remove redundant code.
23097         LIB_SELINUX is already set via the dependent module, selinux-h.
23098         (Include): Add quotes around selinux-at.h.
23099         * lib/selinux-at.h: Add documentation.
23100         Reported by Bruno Haible in
23101         http://marc.info/?l=gnulib-bug&m=124958988300749
23102
23103 2009-08-07  Bruno Haible  <bruno@clisp.org>
23104
23105         Avoid link error on MacOS X 10.3 and 10.4.
23106         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
23107         on non-ELF systems.
23108         * lib/argp-pv.c (argp_program_version): Likewise.
23109         Reported by Simon Josefsson.
23110
23111 2009-08-07  Simon Josefsson  <simon@josefsson.org>
23112
23113         * tests/test-version-etc.sh: Use $EXEEXT.
23114
23115 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
23116
23117         update-copyright: update documentation to point to maint.mk
23118         * build-aux/update-copyright: Here.
23119
23120 2009-08-06  Jim Meyering  <meyering@redhat.com>
23121
23122         maint.mk: support update-copyright-local
23123         * top/maint.mk (update-copyright-local): Define place-holder.
23124         (update-copyright): Depend on $(update-copyright-local).
23125
23126 2009-08-06  Jim Meyering  <meyering@redhat.com>
23127
23128         selinux-at: new module
23129         Initially written for coreutils, this module will soon be
23130         used by findutils, too.
23131         * MODULES.html.sh [Misc]: Add selinux-at.
23132         * lib/selinux-at.h: New file, from coreutils.
23133         * lib/selinux-at.c: Likewise.
23134         * modules/selinux-at: Likewise.
23135         (License): Change from LGPL to GPL, since it depends
23136         on the GPL'd openat module.
23137
23138         doc: update README
23139         * README: Remove references to cogito.
23140         Remove cvs-repo-updating instructions from 2007.
23141         Don't imply that CVS is better if you have limited disk space.
23142
23143 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23144
23145         update-copyright: support C-style comments
23146         * build-aux/update-copyright: Implement and document.
23147         * tests/test-update-copyright.sh: Test.
23148
23149 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23150
23151         update-copyright: support omitted "(C)"
23152         * build-aux/update-copyright: Implement and document.  Also,
23153         allow variable whitespace before "(C)".
23154         * tests/test-update-copyright.sh: Test.
23155
23156 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23157
23158         update-copyright: don't trip on non-FSF copyright statements
23159         * build-aux/update-copyright: Fix so that the first correctly
23160         formatted FSF copyright statement is recognized no matter what
23161         appears before it.  Update documentation.
23162         * tests/test-update-copyright.sh: Test that.
23163
23164 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23165
23166         update-copyright: clean up code a little
23167         * build-aux/update-copyright: Append "_re" to the name of any
23168         variable holding a regular expression.
23169         Replace "old" and "new" with "stmt" in variable names.
23170         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
23171         handled correctly.
23172         Format code more consistently.
23173
23174 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23175
23176         update-copyright-tests: improve portability
23177         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
23178         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
23179
23180 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
23181
23182         update-copyright: support @copyright{} and &copy;
23183         * build-aux/update-copyright: Implement and document.
23184         * tests/test-update-copyright.sh: Test.
23185
23186 2009-08-04  Jim Meyering  <meyering@redhat.com>
23187
23188         update-copyright-tests: correctly test EOL=\r\n handling
23189         * tests/test-update-copyright.sh: Put \r at the end of some lines
23190         for the dos-eol tests.  Based on a patch by Joel E. Denny.
23191
23192         maint.mk: make update-copyright exclusion list more configurable
23193         * top/maint.mk (update-copyright): Default to excluding COPYING,
23194         but allow an override, in case someone does want to update that file.
23195
23196         maint.mk: don't update copyright date in COPYING
23197         * top/maint.mk (update-copyright): Exclude COPYING.
23198
23199         maint.mk: add a copyright-updating rule
23200         * top/maint.mk (update-copyright): New rule.
23201         Derived from coreutils/Makefile.am.
23202
23203         update-copyright: rename some variables
23204         * build-aux/update-copyright: Rename a few variables for clarity.
23205         Tweak syntax.  List Joel E. Denny as coauthor.
23206
23207 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
23208
23209         update-copyright: fix bug for 2-digit last year and add tests
23210         * build-aux/update-copyright: Fix bug.
23211         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
23212         specified.
23213         * modules/update-copyright-tests: New
23214         * tests/test-update-copyright.sh: New.
23215
23216 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23217
23218         update-copyright: handle leading tabs in line prefix
23219         * build-aux/update-copyright: Count leading tabs as 8 spaces
23220         when computing margin.  This helps with the formatting of
23221         ChangeLogs, for example.
23222         Fix documentation a little.
23223
23224 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23225
23226         update-copyright: support EOL=\r\n
23227         * build-aux/update-copyright: Implement that.
23228
23229 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23230
23231         update-copyright: automatically format copyright statements
23232         * build-aux/update-copyright: Implement that.
23233         Also, be a little more predictable and safer by always failing
23234         when the full copyright format is not perfectly recognized as an
23235         unbroken whole.  Discussed at
23236         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
23237         Rewrite documentation.
23238
23239 2009-08-03  Bruno Haible  <bruno@clisp.org>
23240
23241         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
23242
23243 2009-08-02  Bruno Haible  <bruno@clisp.org>
23244
23245         Tests for module 'uname'.
23246         * modules/uname-tests: New file.
23247         * tests/test-uname.c: New file.
23248
23249         New module 'uname'.
23250         * lib/uname.c: New file.
23251         * m4/uname.m4: New file.
23252         * modules/uname: New file.
23253         * doc/posix-functions/uname.texi: Mention the new module.
23254
23255 2009-08-02  Bruno Haible  <bruno@clisp.org>
23256
23257         Tests for module 'sys_utsname'.
23258         * modules/sys_utsname-tests: New file.
23259         * tests/test-sys_utsname.c: New file.
23260
23261         New module 'sys_utsname'.
23262         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
23263         * m4/sys_utsname_h.m4: New file.
23264         * modules/sys_utsname: New file.
23265         * doc/posix-headers/sys_utsname.texi: Mention the new module.
23266
23267 2009-08-02  Bruno Haible  <bruno@clisp.org>
23268
23269         Implicitly initialize the sockets library.
23270         * lib/gethostname.c: Include sockets.h.
23271         (rpl_gethostname): Invoke gl_sockets_startup.
23272         * lib/socket.c: Include sockets.h.
23273         (rpl_socket): Invoke gl_sockets_startup.
23274         * modules/gethostname (Depends-on): Add sockets.
23275         * modules/socket (Depends-on): Likewise.
23276         * tests/test-poll.c: Don't include sockets.h.
23277         (main): Don't invoke gl_sockets_startup.
23278         * tests/test-select.c: Don't include sockets.h.
23279         (main): Don't invoke gl_sockets_startup.
23280
23281 2009-08-02  Bruno Haible  <bruno@clisp.org>
23282
23283         Allow multiple calls to gl_sockets_startup.
23284         * lib/sockets.c (initialized_sockets_version): New variable.
23285         (gl_sockets_startup): Do nothing if already called for this or a higher
23286         version.
23287         (gl_sockets_cleanup): Reset initialized_sockets_version.
23288
23289 2009-08-03  Simon Josefsson  <simon@josefsson.org>
23290
23291         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
23292         different project/version.
23293
23294 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
23295             Bruno Haible  <bruno@clisp.org>
23296
23297         Tests for module 'pipe-filter-gi'.
23298         * modules/pipe-filter-gi-tests: New file.
23299         * tests/test-pipe-filter-gi1.sh: New file.
23300         * tests/test-pipe-filter-gi1.c: New file.
23301         * tests/test-pipe-filter-gi2.sh: New file.
23302         * tests/test-pipe-filter-gi2-main.c: New file.
23303         * tests/test-pipe-filter-gi2-child.c: New file.
23304
23305         New module 'pipe-filter-gi'.
23306         * lib/pipe-filter-gi.c: New file.
23307         * modules/pipe-filter-gi: New file.
23308
23309 2009-08-02  Bruno Haible  <bruno@clisp.org>
23310             Paolo Bonzini  <bonzini@gnu.org>
23311
23312         Tests for module 'pipe-filter-ii'.
23313         * modules/pipe-filter-ii-tests: New file.
23314         * tests/test-pipe-filter-ii1.sh: New file.
23315         * tests/test-pipe-filter-ii1.c: New file.
23316         * tests/test-pipe-filter-ii2.sh: New file.
23317         * tests/test-pipe-filter-ii2-main.c: New file.
23318         * tests/test-pipe-filter-ii2-child.c: New file.
23319
23320         New module 'pipe-filter-ii'.
23321         * lib/pipe-filter.h: New file.
23322         * lib/pipe-filter-ii.c: New file.
23323         * lib/pipe-filter-aux.h: New file.
23324         * modules/pipe-filter-ii: New file.
23325
23326 2009-08-02  Simon Josefsson  <simon@josefsson.org>
23327
23328         * lib/gc-libgcrypt.c: Change copyright to FSF.
23329         * lib/gc-gnulib.c: Likewise.
23330
23331 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
23332
23333         * lib/gethostname.c: Include limits.h.
23334
23335 2009-08-02  Simon Josefsson  <simon@josefsson.org>
23336             Bruno Haible  <bruno@clisp.org>
23337
23338         Ensure HOST_NAME_MAX as part of the gethostname module.
23339         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
23340         define also HOST_NAME_MAX.
23341         * tests/test-gethostname.c: Include <limits.h>.
23342         (main): Check also HOST_NAME_MAX.
23343         * doc/posix-headers/limits.texi: Document the mingw problem.
23344
23345 2009-08-02  Bruno Haible  <bruno@clisp.org>
23346
23347         * lib/gethostname.c (gethostname): Fix handling of large len argument.
23348         Add comments.
23349
23350 2009-03-31  Simon Josefsson  <simon@josefsson.org>
23351
23352         * lib/gethostname.c: Add Windows wrapper.
23353         * m4/gethostname.m4: Look for gethostname in -lws2_32.
23354         * modules/gethostname: Depend on sys_socket & errno, for also
23355         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
23356         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
23357
23358 2009-07-31  Jim Meyering  <meyering@redhat.com>
23359
23360         getloadavg: fix symbol name in comment
23361         * lib/getloadavg.c: Correct a typo I introduced when adding
23362         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
23363         Matt Kraai spotted the problem.
23364
23365 2009-07-29  Matt Kraai  <mkraai@beckman.com>
23366
23367         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
23368         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
23369         code also if ! defined N_NAME_POINTER.
23370         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
23371         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
23372         but the n_name member is a 12-byte array.
23373
23374 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
23375
23376         update-copyright: generalize comment handling
23377         * build-aux/update-copyright: Handle copyright statements
23378         within more comment styles.
23379         Document usage.
23380         Report any file with an external copyright holder or parse failure.
23381
23382 2009-07-29  Jim Meyering  <meyering@redhat.com>
23383
23384         mktime: correct setting of REPLACE_MKTIME
23385         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
23386
23387         update-copyright: new module
23388         * modules/update-copyright: New file.
23389         * build-aux/update-copyright: New file.
23390         * MODULES.html.sh (maint+release support): Add update-copyright.
23391
23392 2009-07-27  Bruno Haible  <bruno@clisp.org>
23393
23394         Fix compilation error when <ctime> is used and mktime is replaced.
23395         * lib/time.in.h (mktime): New declaration.
23396         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
23397         REPLACE_MKTIME instead of defining mktime in config.h.
23398         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
23399         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
23400         Reported by Ross McFarland <rwmcfa1@neces.com>.
23401
23402 2009-07-27  Bruno Haible  <bruno@clisp.org>
23403
23404         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
23405         Reported by Matt Kraai <mkraai@beckman.com>.
23406
23407 2009-07-25  Jim Meyering  <meyering@redhat.com>
23408
23409         maint.mk: avoid warnings about missing files
23410         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
23411         diagnostic when .prev-version does not exist.
23412         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
23413         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
23414         nonexistent cfg.mk.
23415         Suggestions from Simon Josefsson.
23416
23417 2009-07-25  Bruno Haible  <bruno@clisp.org>
23418
23419         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
23420         defined as macros. Needed on QNX 6.4.1.
23421         Reported by Matt Kraai <mkraai@beckman.com>.
23422
23423 2009-07-23  Jim Meyering  <meyering@redhat.com>
23424
23425         maint.mk: invoke "make dist" with a working value of XZ_OPT
23426         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
23427
23428 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
23429
23430         Make fseeko.c compile on QNX.
23431         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
23432
23433 2009-07-22  Peter Simons  <simons@cryp.to>
23434
23435         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
23436         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
23437         * lib/md4.h: Likewise.
23438         * lib/md5.h: Likewise.
23439         * lib/sha1.h: Likewise.
23440         * lib/sha256.h: Likewise.
23441         * lib/sha512.h: Likewise.
23442
23443         tests-sha1: don't assign literal string to 'char *' variable
23444         * tests/test-sha1.c (main): Declare locals with "const" to match
23445         attributes of the right hand side.
23446
23447 2009-07-21  Eric Blake  <ebb9@byu.net>
23448
23449         dup2: fix more mingw problems
23450         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
23451         fd to itself.
23452         * doc/posix-functions/dup2.texi (dup2): Document the bug.
23453         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
23454         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
23455         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
23456         care of mingw bugs.
23457
23458 2009-07-21  Jim Meyering  <meyering@redhat.com>
23459
23460         vc-list-files: avoid failure when /bin/sh is dash
23461         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
23462         On some Debian based systems, /bin/sh is a symlink to dash, and running
23463         this command would omit the "/" following each 'tests' prefix:
23464           dash -x build-aux/vc-list-files -C . tests
23465         That is because bash and dash work differently:
23466           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
23467           bash ok
23468           dash odd
23469
23470 2009-07-21  Eric Blake  <ebb9@byu.net>
23471
23472         dup2-tests: test previous patch
23473         * modules/dup2-tests: New file.
23474         * tests/test-dup2.c: Likewise.
23475         * tests/test-open.c (main): Avoid unspecified behavior.
23476         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
23477         test.
23478
23479         dup2: work around mingw and cygwin 1.5 bug
23480         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
23481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23482         * modules/unistd (Makefile.am): Substitute it.
23483         * lib/unistd.in.h (dup2): Declare the replacement.
23484         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
23485         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
23486         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
23487         * modules/execute (Depends-on): Add dup2.
23488         * modules/fseterr (Depends-on): Likewise.
23489         * modules/pipe (Depends-on): Likewise.
23490         * modules/posix_spawn-internal (Depends-on): Likewise.
23491
23492 2009-07-21  Bruno Haible  <bruno@clisp.org>
23493
23494         * modules/.gitattributes: New file.
23495
23496 2009-07-20  Bruno Haible  <bruno@clisp.org>
23497
23498         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
23499         (main): Use it.
23500
23501 2009-07-20  Eric Blake  <ebb9@byu.net>
23502
23503         test-pipe: make a bit more robust.
23504         * tests/test-pipe.c (myerr): Allow error messages regardless of
23505         what we do to stderr.
23506         (test_pipe): Rearrange to avoid deadlock.
23507         (child_main): Try a larger read, to ensure we avoided deadlock.
23508         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
23509         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
23510         if misused.
23511
23512 2009-07-19  Jim Meyering  <meyering@redhat.com>
23513
23514         fts: avoid false-positive cycle-detection
23515         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
23516         for each new command line argument.
23517
23518 2009-07-19  Bruno Haible  <bruno@clisp.org>
23519
23520         Fix build error on mingw with the modules sys_select and unistd.
23521         * modules/acl-tests (Depends-on): Add close.
23522         * modules/binary-io-tests (Depends-on): Likewise.
23523         * modules/closein-tests (Depends-on): Likewise.
23524         * modules/flock-tests (Depends-on): Likewise.
23525         * modules/fsync-tests (Depends-on): Likewise.
23526         * modules/lseek-tests (Depends-on): Likewise.
23527         * modules/pipe-tests (Depends-on): Likewise.
23528         * modules/posix_spawn-tests (Depends-on): Likewise.
23529         * modules/posix_spawnp-tests (Depends-on): Likewise.
23530         * modules/stat-time-tests (Depends-on): Likewise.
23531         * modules/yesno-tests (Depends-on): Likewise.
23532
23533 2009-07-19  Bruno Haible  <bruno@clisp.org>
23534
23535         Unify conditionals.
23536         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
23537         macros, not at the compiler macros.
23538         * lib/pipe.c: Likewise.
23539         * lib/execute.c: Likewise.
23540         * lib/spawni.c: Likewise.
23541
23542 2009-07-19  Bruno Haible  <bruno@clisp.org>
23543
23544         Fix handling of closed stdin/stdout/stderr on mingw.
23545         * lib/w32spawn.h: Include unistd.h.
23546         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
23547         file descriptor with O_NOINHERIT flag.
23548         (fd_safer_noinherit): New function, based on fd-safer.c.
23549         (dup_safer_noinherit): New function, based on dup-safer.c.
23550         (undup_safer_noinherit): New function.
23551         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
23552         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
23553         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
23554         instead of fd_safer.
23555         * tests/test-pipe.c: Include <windows.h>.
23556         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
23557
23558         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
23559         from main.
23560         (test_pipe): Pass an extra argument for disambiguation.
23561         (main): Invoke parent_main or child_main.
23562
23563         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
23564         consistently.
23565
23566 2009-07-18  Eric Blake  <ebb9@byu.net>
23567
23568         test-pipe: fix mingw build
23569         * tests/test-pipe.c (main): Avoid fcntl on mingw.
23570
23571 2009-07-18  Bruno Haible  <bruno@clisp.org>
23572
23573         * modules/pipe-tests (Makefile.am): Fix typo.
23574
23575 2009-07-18  Eric Blake  <ebb9@byu.net>
23576
23577         error: fix mingw build
23578         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
23579         Reported by Bruno Haible.
23580
23581         error: avoid undefined use of stdout
23582         * lib/error.c (error, error_at_line): Check that fd 1 is open
23583         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
23584         is handling faults and the close_stdout module wants to report the
23585         detection of closed stdout as an error.
23586
23587 2009-07-17  Eric Blake  <ebb9@byu.net>
23588
23589         pipe: be robust in face of closed fds
23590         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
23591         should cause child to misbehave.
23592         * modules/pipe-tests: New module.
23593         * tests/test-pipe.c: New file.
23594         * tests/test-pipe.sh: New file.
23595         Reported by Akim Demaille.
23596
23597 2009-07-14  Bruno Haible  <bruno@clisp.org>
23598
23599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
23600         Reported by anonymous kc.
23601
23602 2009-07-07  Jim Meyering  <meyering@redhat.com>
23603
23604         maint.mk: don't look for translatable strings in *.m4 or *.mk
23605         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
23606         when searching for translatable strings.
23607
23608 2009-07-05  Jim Meyering  <meyering@redhat.com>
23609
23610         remove superfluous parentheses in STREQ definition
23611         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
23612         * lib/getugroups.c (STREQ): Likewise.
23613         * lib/fnmatch.c (STREQ): Likewise.
23614         Spotted by Bruno Haible.
23615
23616 2009-07-04  Jim Meyering  <meyering@redhat.com>
23617
23618         argv-iter: new module
23619         * MODULES.html.sh: Add argv-iter.
23620         * lib/argv-iter.c, lib/argv-iter.h: New files.
23621         * modules/argv-iter: New file.
23622         * modules/argv-iter-tests: New file.
23623         * tests/test-argv-iter.c: Test it.
23624
23625 2009-07-04  Bruno Haible  <bruno@clisp.org>
23626
23627         Fix assertion.
23628         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
23629         contains more exact copies of a given entry than file2, leave the extra
23630         copies unpaired rather than aborting.
23631         Reported by Eric Blake.
23632
23633 2009-07-02  Bruno Haible  <bruno@clisp.org>
23634
23635         Speedup git-merge-changelog for git cherry-pick.
23636         * lib/git-merge-changelog.c (struct entries_mapping): New type.
23637         (entries_mapping_get): New function, extracted from compute_mapping.
23638         (entries_mapping_reverse_get): New function.
23639         (compute_mapping): Add a 'full' argument. Return the result in a
23640         'struct entries_mapping'.
23641         (main): Update. Access the mappings through entries_mapping_get.
23642         Reported by Eric Blake.
23643
23644 2009-07-02  Bruno Haible  <bruno@clisp.org>
23645
23646         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
23647         best_i.
23648
23649 2009-07-02  Bruno Haible  <bruno@clisp.org>
23650
23651         Speed up approximate search for matching ChangeLog entries.
23652         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
23653         argument. Call fstrcmp_bounded instead of fstrcmp.
23654         (compute_mapping, try_split_merged_entry, main): Update callers.
23655
23656 2009-07-02  Bruno Haible  <bruno@clisp.org>
23657
23658         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
23659
23660 2009-06-30  Bruno Haible  <bruno@clisp.org>
23661
23662         Reduce the number of uc_is_cased calls.
23663         * lib/unicase.h (casing_suffix_context_t): Add
23664         'first_char_except_ignorable' field.
23665         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
23666         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
23667         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
23668         Update initializer.
23669         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
23670         case-ignorable characters.
23671         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
23672         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
23673         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
23674         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
23675         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
23676
23677 2009-06-30  Bruno Haible  <bruno@clisp.org>
23678
23679         Tests for module 'unicase/ignorable'.
23680         * modules/unicase/ignorable-tests: New file.
23681         * tests/unicase/test-ignorable.c: New file, generated by
23682         gen-uni-tables.
23683
23684         Tests for module 'unicase/cased'.
23685         * modules/unicase/cased-tests: New file.
23686         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
23687         * tests/unicase/test-predicate-part1.h: New file, derived from
23688         tests/unictype/test-predicate-part1.h.
23689         * tests/unicase/test-predicate-part2.h: New file, same as
23690         tests/unictype/test-predicate-part2.h.
23691
23692         Fix evaluation of "Before C" condition of FINAL_SIGMA.
23693         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
23694         (output_casing_properties): New function.
23695         (main): Call it.
23696         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
23697         * lib/unicase/cased.c: Include unictype/bitmap.h.
23698         (uc_is_cased): Define through a bitmap lookup.
23699         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
23700         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
23701         (uc_is_case_ignorable): Define through a bitmap lookup.
23702         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
23703         lib/unictype/bitmap.h.
23704         (Depends-on): Add inline. Clean up.
23705         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
23706         lib/unictype/bitmap.h.
23707         (Depends-on): Add inline. Clean up.
23708         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
23709         recognition.
23710         * tests/unicase/test-u16-tolower.c (main): Likewise.
23711         * tests/unicase/test-u32-tolower.c (main): Likewise.
23712
23713 2009-06-30  Bruno Haible  <bruno@clisp.org>
23714
23715         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
23716         * lib/unicase/u16-casemap.c: Likewise.
23717         * lib/unicase/u32-casemap.c: Likewise.
23718
23719 2009-06-29  Bruno Haible  <bruno@clisp.org>
23720
23721         Define u32_casefold as a wrapper around u32_ct_casefold.
23722         * lib/unicase/u32-casefold.c: Update.
23723         * modules/unicase/u32-casefold (Depends-on): Add
23724         unicase/u32-ct-casefold, unicase/empty-prefix-context,
23725         unicase/empty-suffix-context. Clean up.
23726
23727         Define u16_casefold as a wrapper around u16_ct_casefold.
23728         * lib/unicase/u16-casefold.c: Update.
23729         * modules/unicase/u16-casefold (Depends-on): Add
23730         unicase/u16-ct-casefold, unicase/empty-prefix-context,
23731         unicase/empty-suffix-context. Clean up.
23732
23733         Define u8_casefold as a wrapper around u8_ct_casefold.
23734         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
23735         * lib/unicase/u8-casefold.c: Update.
23736         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
23737         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23738
23739         Define u32_totitle as a wrapper around u32_ct_totitle.
23740         * lib/unicase/u32-totitle.c: Update.
23741         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
23742         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23743
23744         Define u16_totitle as a wrapper around u16_ct_totitle.
23745         * lib/unicase/u16-totitle.c: Update.
23746         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
23747         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23748
23749         Define u8_totitle as a wrapper around u8_ct_totitle.
23750         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
23751         functions.
23752         (FUNC): Delegate to U_CT_TOTITLE.
23753         * lib/unicase/u8-totitle.c: Update.
23754         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
23755         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23756
23757         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
23758         invocation.
23759         * modules/unicase/u32-tolower (Depends-on): Add
23760         unicase/empty-prefix-context, unicase/empty-suffix-context.
23761
23762         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
23763         invocation.
23764         * modules/unicase/u16-tolower (Depends-on): Add
23765         unicase/empty-prefix-context, unicase/empty-suffix-context.
23766
23767         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
23768         * modules/unicase/u8-tolower (Depends-on): Add
23769         unicase/empty-prefix-context, unicase/empty-suffix-context.
23770
23771         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
23772         invocation.
23773         * modules/unicase/u32-toupper (Depends-on): Add
23774         unicase/empty-prefix-context, unicase/empty-suffix-context.
23775
23776         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
23777         invocation.
23778         * modules/unicase/u16-toupper (Depends-on): Add
23779         unicase/empty-prefix-context, unicase/empty-suffix-context.
23780
23781         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
23782         * modules/unicase/u8-toupper (Depends-on): Add
23783         unicase/empty-prefix-context, unicase/empty-suffix-context.
23784
23785         New module 'unicase/u32-ct-casefold'.
23786         * lib/unicase/u32-ct-casefold.c: New file.
23787         * modules/unicase/u32-ct-casefold: New file.
23788
23789         New module 'unicase/u16-ct-casefold'.
23790         * lib/unicase/u16-ct-casefold.c: New file.
23791         * modules/unicase/u16-ct-casefold: New file.
23792
23793         New module 'unicase/u8-ct-casefold'.
23794         * lib/unicase/u8-ct-casefold.c: New file.
23795         * lib/unicase/u-ct-casefold.h: New file, derived from
23796         lib/unicase/u-casefold.h.
23797         * modules/unicase/u8-ct-casefold: New file.
23798
23799         New module 'unicase/u32-ct-totitle'.
23800         * lib/unicase/u32-ct-totitle.c: New file.
23801         * modules/unicase/u32-ct-totitle: New file.
23802
23803         New module 'unicase/u16-ct-totitle'.
23804         * lib/unicase/u16-ct-totitle.c: New file.
23805         * modules/unicase/u16-ct-totitle: New file.
23806
23807         New module 'unicase/u8-ct-totitle'.
23808         * lib/unicase/u8-ct-totitle.c: New file.
23809         * lib/unicase/u-ct-totitle.h: New file, derived from
23810         lib/unicase/u-totitle.h.
23811         * modules/unicase/u8-ct-totitle: New file.
23812
23813         New module 'unicase/u32-ct-tolower'.
23814         * lib/unicase/u32-ct-tolower.c: New file.
23815         * modules/unicase/u32-ct-tolower: New file.
23816
23817         New module 'unicase/u16-ct-tolower'.
23818         * lib/unicase/u16-ct-tolower.c: New file.
23819         * modules/unicase/u16-ct-tolower: New file.
23820
23821         New module 'unicase/u8-ct-tolower'.
23822         * lib/unicase/u8-ct-tolower.c: New file.
23823         * modules/unicase/u8-ct-tolower: New file.
23824
23825         New module 'unicase/u32-ct-toupper'.
23826         * lib/unicase/u32-ct-toupper.c: New file.
23827         * modules/unicase/u32-ct-toupper: New file.
23828
23829         New module 'unicase/u16-ct-toupper'.
23830         * lib/unicase/u16-ct-toupper.c: New file.
23831         * modules/unicase/u16-ct-toupper: New file.
23832
23833         New module 'unicase/u8-ct-toupper'.
23834         * lib/unicase/u8-ct-toupper.c: New file.
23835         * modules/unicase/u8-ct-toupper: New file.
23836
23837         Add context arguments to u*_casemap functions.
23838         * lib/unicase/unicasemap.h: Include unicase.h.
23839         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
23840         suffix_context arguments.
23841         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
23842         functions.
23843         (FUNC): Add prefix_context and suffix_context arguments. Use
23844         uc_is_cased and uc_is_case_ignorable.
23845         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
23846         * lib/unicase/u16-casemap.c: Likewise.
23847         * lib/unicase/u32-casemap.c: Likewise.
23848         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
23849         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23850         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
23851         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23852         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
23853         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23854
23855         New module 'unicase/u32-suffix-context'.
23856         * lib/unicase/u32-suffix-context.c: New file.
23857         * modules/unicase/u32-suffix-context: New file.
23858
23859         New module 'unicase/u16-suffix-context'.
23860         * lib/unicase/u16-suffix-context.c: New file.
23861         * modules/unicase/u16-suffix-context: New file.
23862
23863         New module 'unicase/u8-suffix-context'.
23864         * lib/unicase/u8-suffix-context.c: New file.
23865         * lib/unicase/u-suffix-context.h: New file.
23866         * modules/unicase/u8-suffix-context: New file.
23867
23868         New module 'unicase/empty-suffix-context'.
23869         * lib/unicase/empty-suffix-context.c: New file.
23870         * modules/unicase/empty-suffix-context: New file.
23871
23872         New module 'unicase/u32-prefix-context'.
23873         * lib/unicase/u32-prefix-context.c: New file.
23874         * modules/unicase/u32-prefix-context: New file.
23875
23876         New module 'unicase/u16-prefix-context'.
23877         * lib/unicase/u16-prefix-context.c: New file.
23878         * modules/unicase/u16-prefix-context: New file.
23879
23880         New module 'unicase/u8-prefix-context'.
23881         * lib/unicase/u8-prefix-context.c: New file.
23882         * lib/unicase/u-prefix-context.h: New file.
23883         * lib/unicase/context.h: New file.
23884         * modules/unicase/u8-prefix-context: New file.
23885
23886         New module 'unicase/empty-prefix-context'.
23887         * lib/unicase/empty-prefix-context.c: New file.
23888         * modules/unicase/empty-prefix-context: New file.
23889
23890         New module 'unicase/ignorable'.
23891         * lib/unicase/ignorable.c: New file.
23892         * modules/unicase/ignorable: New file.
23893
23894         New module 'unicase/cased'.
23895         * lib/unicase/caseprop.h: New file.
23896         * lib/unicase/cased.c: New file.
23897         * modules/unicase/cased: New file.
23898
23899         New functions for case mapping of substrings.
23900         * lib/unicase.h (casing_prefix_context_t): New type.
23901         (unicase_empty_prefix_context): New variable.
23902         (u8_casing_prefix_context, u16_casing_prefix_context,
23903         u32_casing_prefix_context, u8_casing_prefixes_context,
23904         u16_casing_prefixes_context, u32_casing_prefixes_context): New
23905         declarations.
23906         (casing_suffix_context_t): New type.
23907         (unicase_empty_suffix_context): New variable.
23908         (u8_casing_suffix_context, u16_casing_suffix_context,
23909         u32_casing_suffix_context, u8_casing_suffixes_context,
23910         u16_casing_suffixes_context, u32_casing_suffixes_context,
23911         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
23912         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
23913         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
23914         declarations.
23915
23916 2009-06-28  Jim Meyering  <meyering@redhat.com>
23917
23918         boostrap: indent only with spaces
23919         * build-aux/bootstrap: Indent only with spaces, never TABs.
23920
23921         bootstrap: split long lines
23922         * build-aux/bootstrap: Keep line length < 80.
23923
23924         bootstrap: sync from coreutils
23925         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
23926         just as autoreconf does.  Verify a list of prerequisite
23927         package-name,version-number pairs if defined in bootstrap.conf.
23928         Refer to README-prereq, if prerequisites are not satisfied.
23929
23930 2009-06-27  Eric Blake  <ebb9@byu.net>
23931
23932         tests: add test for bogus NULL definition
23933         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
23934         * tests/test-stdlib.c: Likewise.
23935         * tests/test-string.c: Likewise.
23936         * tests/test-locale.c: Likewise.
23937         * tests/test-unistd.c: Likewise.
23938         * modules/stdio-tests (Depends-on): Add verify.
23939         * modules/stdlib-tests (Depends-on): Likewise.
23940         * modules/string-tests (Depends-on): Likewise.
23941         * modules/locale-tests (Depends-on): Likewise.
23942         * modules/unistd-tests (Depends-on): Likewise.
23943
23944 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
23945
23946         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
23947         self-explaining comment.
23948         * m4/selinux-selinux-h: Update serial.
23949         (gl_LIBSELINUX): New macro, adding a warning for missing development
23950         packages to code extracted from...
23951         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
23952         Add warning for missing development packages here, too.
23953
23954 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
23955
23956         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
23957
23958 2009-06-25  Eric Blake  <ebb9@byu.net>
23959
23960         version-etc: fix regression
23961         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
23962         gcc.
23963         (version_etc): Use it, to catch bugs with trailing NULL.
23964         * lib/version-etc.c (version_etc_arn): Delete unused argument.
23965         (version_etc_va): Fix logic bug.
23966         * modules/version-etc-tests: Add test.
23967         * tests/test-version-etc.c: New file.
23968         * tests/test-version-etc.sh: Likewise.
23969
23970 2009-06-25  Sam Steingold  <sds@gnu.org>
23971
23972         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
23973         mbtowc declaration.
23974
23975 2009-06-25  Eric Blake  <ebb9@byu.net>
23976
23977         fpurge: migrate into <stdio.h>
23978         * lib/fpurge.h: Delete...
23979         * lib/stdio.in.h (fpurge): ...and declare here, instead.
23980         * lib/fpurge.c (fpurge): Change declaring header.
23981         * modules/fpurge (Files): Drop deleted file.
23982         (Depends-on): Add stdio.
23983         (configure.ac): Set witness.
23984         * modules/stdio (Makefile.am): Support fpurge macros.
23985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23986         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
23987         * lib/fflush.c: Update client.
23988         * tests/test-fpurge.c: Likewise.
23989         * NEWS: Mention the change.
23990
23991 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
23992
23993         * lib/argp-version-etc.c (program_authors): Add const
23994         qualifier.
23995         * lib/version-etc.c: Fix typos in the comments.
23996         * modules/argp-version-etc: Depends on version-etc.
23997
23998 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
23999
24000         argp-version-etc: new module.
24001
24002         * lib/argp-version-etc.c: New file.
24003         * lib/argp-version-etc.h: New file.
24004         * modules/argp-version-etc: New file.
24005         * modules/argp-version-etc-tests: New file.
24006         * tests/test-argp-version-etc.c: New test.
24007         * tests/test-argp-version-etc-1.sh: New test.
24008
24009 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
24010
24011         Provide additional interfaces and documentation for version-etc
24012         module.
24013
24014         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
24015         interfaces.
24016         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
24017         prototypes.
24018
24019 2009-06-24  Bruno Haible  <bruno@clisp.org>
24020
24021         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
24022         HAVE_LIB${NAME} macro.
24023         Reported by Sam Steingold <sds@gnu.org>.
24024
24025 2009-06-23  Simon Josefsson  <simon@josefsson.org>
24026
24027         * modules/hash-tests (test_hash_LDADD): Link to libintl when
24028         needed.
24029
24030 2009-06-21  Bruno Haible  <bruno@clisp.org>
24031
24032         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
24033         work.
24034         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
24035         together with LIB${NAME}, LTLIB${NAME}.
24036         Reported by Sam Steingold <sds@gnu.org>.
24037
24038 2009-06-20  Jim Meyering  <meyering@redhat.com>
24039
24040         tests: make sc_require_test_exit_idiom more generic
24041         * top/maint.mk (Exit_witness_file): New overridable variable.
24042         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
24043         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
24044
24045 2009-06-19  Jim Meyering  <meyering@redhat.com>
24046
24047         hash: reverse order of src/dst parameters in an internal interface
24048         * lib/hash.c (transfer_entries): Reverse order of parameters to
24049         put DST before SRC.  Adjust callers.
24050
24051         tests: test-hash: avoid wholesale duplication
24052         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
24053         Instead, use a loop and add a single conditional.
24054
24055         tests: test-hash: allow seed selection via a command line argument
24056         * tests/test-hash.c (get_seed): New function.
24057         (main): Use it.
24058
24059 2009-06-19  Eric Blake  <ebb9@byu.net>
24060
24061         hash: avoid memory leak on allocation failure
24062         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
24063         failure.  Factor repeated algorithm...
24064         (transfer_entries): ...into new helper routine.
24065         (hash_delete): React to hash_rehash return value.
24066
24067         hash: reduce memory pressure in hash_rehash no-op case
24068         * lib/hash.c (next_prime): Avoid overflow.
24069         (hash_initialize): Factor bucket size computation...
24070         (compute_bucket_size): ...into new helper function.
24071         (hash_rehash): Use new function and open coding to reduce memory
24072         pressure, and avoid a memory leak in USE_OBSTACK code.
24073         Reported by Jim Meyering.
24074
24075 2009-06-18  Eric Blake  <ebb9@byu.net>
24076
24077         hash: make rotation more obvious
24078         * modules/hash (Depends-on): Add bitrotate and stdint.
24079         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
24080         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
24081         (SIZE_MAX): Rely on headers for definition.
24082         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
24083         (raw_hasher): Use rotr_sz.
24084         Suggested by Jim Meyering.
24085
24086         hash: fix memory leak in last patch
24087         * lib/hash.c (hash_rehash): Avoid memory leak.
24088
24089         hash: avoid no-op rehashing
24090         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
24091
24092         hash: provide default callback functions
24093         * lib/hash.c (raw_hasher, raw_comparator): New functions.
24094         (hash_initialize): Use them as defaults.
24095         * tests/test-hash.c (main): Test this.
24096
24097         hash: minor optimization
24098         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
24099         when possible.
24100         (hash_initialize): Document this promise.
24101         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
24102         * tests/test-hash.c (hash_compare_strings): Test this.
24103
24104 2009-06-18  Bruno Haible  <bruno@clisp.org>
24105
24106         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
24107         going to be replaced anyway.
24108
24109 2009-06-18  Bruno Haible  <bruno@clisp.org>
24110
24111         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
24112         in one place.
24113         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
24114         be replaced anyway.
24115
24116 2009-06-18  Eric Blake  <ebb9@byu.net>
24117
24118         hash: check for resize before insertion
24119         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
24120         threshold before insertion, so that a pathological hash_rehash
24121         that fills every bucket can still trigger another rehash.
24122
24123 2009-06-18  Jim Meyering  <meyering@redhat.com>
24124
24125         hash-tests: add a loop around the small tests
24126         * tests/test-hash.c (main): Repeat small tests with selected
24127         small initial table sizes.
24128
24129 2009-06-17  Eric Blake  <ebb9@byu.net>
24130
24131         hash: minor cleanups
24132         * lib/hash.h (hash_entry): Make opaque, by moving...
24133         * lib/hash.c (hash_entry): ...here.
24134         (hash_insert): Clarify restrictions on what can be inserted.
24135         (hash_get_next): Clarify when it is safe to remove an element
24136         during traversal.
24137         (check_tuning): Skip verification when tuning is known safe.
24138         (hash_initialize): Clarify restrictions on tuning.
24139
24140 2009-06-17  Jim Meyering  <jim@meyering.net>
24141         and Eric Blake  <ebb9@byu.net>
24142
24143         hash-tests: new module
24144         * modules/hash-tests: New file.
24145         * tests/test-hash.c: New file.
24146
24147 2009-06-17  Eric Blake  <ebb9@byu.net>
24148
24149         strstr-simple: document new module
24150         * MODULES.html.sh: Document new module.
24151
24152         strstr, strcasestr: replace on platforms with broken memchr
24153         * modules/strstr: Split into...
24154         * modules/strstr-simple: ...new module that does not care about
24155         performance, but does care about glibc bug.
24156         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
24157         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
24158         if platform memchr is broken, per Debian bug 521737.
24159         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
24160         memchr.
24161         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
24162         * doc/posix-functions/strstr.texi (strstr): Document the fix.
24163         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
24164         * modules/mountlist (Depends-on): Add strstr-simple.
24165         * modules/gen-uni-tables (Depends-on): Likewise.
24166         * modules/argz (Depends-on): Add strstr.
24167
24168 2009-06-17  Bruno Haible  <bruno@clisp.org>
24169
24170         * modules/posix_spawn-internal (Depends-on): Add errno.
24171
24172 2009-06-17  Bruno Haible  <bruno@clisp.org>
24173
24174         Define missing ESTALE on Interix 3.5.
24175         * lib/errno.in.h (ESTALE): Assign a value if missing.
24176         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
24177         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
24178         missing.
24179         * doc/posix-headers/errno.texi: Mention the Interix bug.
24180         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
24181
24182 2009-06-15  Eric Blake  <ebb9@byu.net>
24183
24184         memchr, memchr2: add valgrind exception
24185         * lib/memchr.valgrind: New file.
24186         * lib/memchr2.valgrind: New file.
24187         * modules/memchr (Files): Distribute valgrind file.
24188         * modules/memchr2 (Files): Likewise.
24189
24190         docs: memchr is no longer obsolete
24191         * MODULES.html.sh: Move memchr from obsolete to string.h section.
24192         * lib/string.in.h (memchr): Simplify logic.
24193
24194 2009-06-14  Jim Meyering  <meyering@redhat.com>
24195
24196         link-follow: fix the "checking..." message to not mention trailing slash
24197         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
24198         never considered trailing slashes.
24199
24200 2009-06-14  Bruno Haible  <bruno@clisp.org>
24201
24202         * m4/memchr.m4: Mention also the bug on IA-64.
24203         * doc/posix-functions/memchr.texi: Likewise.
24204
24205 2009-06-12  Eric Blake  <ebb9@byu.net>
24206
24207         memchr: detect broken x86_64 and alpha implementations
24208         * modules/memchr-tests (Depends-on): Move mmap detection...
24209         * modules/memchr (Depends-on): ...here.
24210         (configure.ac): Set indicator.
24211         * lib/string.in.h (memchr): Declare replacement.
24212         * modules/string (Makefile.am): Trigger replacement.
24213         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
24214         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
24215         bugs.
24216         * doc/posix-functions/memchr.texi (memchr): Document the bug.
24217         * modules/getpagesize (License): Relax license.
24218
24219 2009-06-11  Bruno Haible  <bruno@clisp.org>
24220
24221         * lib/idpriv.h: Add more references.
24222
24223 2009-06-08  Bruno Haible  <bruno@clisp.org>
24224
24225         Tests for module 'idpriv-droptemp'.
24226         * modules/idpriv-droptemp-tests: New file.
24227         * tests/test-idpriv-droptemp.sh: New file.
24228         * tests/test-idpriv-droptemp.su.sh: New file.
24229         * tests/test-idpriv-droptemp.c: New file.
24230
24231         New module 'idpriv-droptemp'.
24232         * lib/idpriv-droptemp.c: New file.
24233         * modules/idpriv-droptemp: New file.
24234
24235 2009-06-08  Bruno Haible  <bruno@clisp.org>
24236
24237         Tests for module 'idpriv-drop'.
24238         * modules/idpriv-drop-tests: New file.
24239         * tests/test-idpriv-drop.sh: New file.
24240         * tests/test-idpriv-drop.su.sh: New file.
24241         * tests/test-idpriv-drop.c: New file.
24242
24243         New module 'idpriv-drop'.
24244         * lib/idpriv.h: New file.
24245         * lib-idpriv-drop.c: New file.
24246         * m4/idpriv.m4: New file.
24247         * modules/idpriv-drop: New file.
24248
24249 2009-06-08  Bruno Haible  <bruno@clisp.org>
24250
24251         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
24252         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24253         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24254         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24255         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24256         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24257         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24258
24259 2009-06-08  Eric Blake  <ebb9@byu.net>
24260
24261         test-strstr: use memory fence, when possible
24262         * tests/test-strstr.c (main): Use memory fence, in order to be
24263         more likely to trigger Debian bug 521737.
24264         * modules/strstr-tests (Files): Pull in additional files.
24265
24266         memchr: no longer obsolete, for wider field testing
24267         * modules/memchr (Status, Notice): Delete, this module is no
24268         longer obsolete.
24269         * modules/vasnprintf (Depends-on): Add memchr.
24270
24271 2009-06-07  Jim Meyering  <meyering@redhat.com>
24272
24273         hash: declare some functions with the warn_unused_result attribute
24274         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
24275
24276 2009-06-07  Bruno Haible  <bruno@clisp.org>
24277
24278         * tests/test-alignof.c: Don't test int64_t if it does not exist.
24279         Reported by Eric Blake.
24280
24281 2009-06-06  Eric Blake  <ebb9@byu.net>
24282
24283         test-alignof: fix typo with long double
24284         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
24285         compiler error.
24286
24287 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
24288
24289         Escape non-texinfo { and }s.
24290         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
24291         markup error.
24292
24293 2009-06-04  Jim Meyering  <meyering@redhat.com>
24294
24295         gitlog-to-changelog: don't infloop on an empty commit log
24296         * build-aux/gitlog-to-changelog: Warn about an empty log message.
24297         Reported by Boris Petersen <transacid@centerim.org>.
24298
24299 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
24300
24301         version-etc: extend for packagers
24302         Add three new configure options, intended for packagers:
24303           --with-packager="packager name"
24304           --with-packager-version="packager-specific version"
24305           --with-packager-bug-reports="packager bug reporting"
24306         An example with coreutils:
24307           $ ./configure \
24308             --with-packager=Gentoo \
24309             --with-packager-bug-report=http://bugs.gentoo.org/ \
24310             --with-packager-version="patchset 1.6"
24311           $ ./src/ls --version | head -n2
24312           ls (GNU coreutils) 7.1-dirty
24313           Packaged by Gentoo (patchset 1.6)
24314         Note that the bug reporting info via --help doesn't show up because
24315         coreutils uses its own custom emit_bug_reporting_address() implementation
24316         in src/system.h.  If it didn't, it'd look like:
24317           $ ./src/ls --help | tail -n4
24318           Report bugs to <bug-coreutils@gnu.org>.
24319           Report Gentoo bugs to <http://bugs.gentoo.org/>.
24320           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
24321           General help using GNU software: <http://www.gnu.org/gethelp/>.
24322         * lib/version-etc.c: Print new information, if provided.
24323         * m4/version-etc.m4: New file.
24324         * modules/version-etc (Files): Add m4/version-etc.m4.
24325         (configure.ac): Add gl_VERSION_ETC.
24326
24327 2009-05-31  Bruno Haible  <bruno@clisp.org>
24328
24329         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
24330         and 'int64_t'.
24331         * modules/alignof-tests (Dependencies): Add stdint.
24332         Reported by Eric Blake.
24333
24334 2009-05-31  Bruno Haible  <bruno@clisp.org>
24335
24336         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
24337         restriction due to compiler bugs.
24338         Reported by Eric Blake.
24339
24340 2009-05-31  Simon Josefsson  <simon@josefsson.org>
24341             Bruno Haible  <bruno@clisp.org>
24342
24343         Fix test-alignof failure.
24344         * lib/alignof.h (alignof_slot): New macro.
24345         (alignof_type): New macro, with the same semantics as the previous
24346         'alignof'.
24347         (alignof): Alias to alignof_slot.
24348         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
24349         check that the results are usable as constant expressions.
24350
24351 2009-05-31  Bruno Haible  <bruno@clisp.org>
24352
24353         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
24354         * tests/test-memchr.c (main): Check that memchr does not read past the
24355         first occurrence of the byte.
24356         * tests/test-strstr.c (main): Update comment.
24357         Suggested by Eric Blake.
24358
24359 2009-05-30  Bruno Haible  <bruno@clisp.org>
24360
24361         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
24362         detail how to use dumpbin.
24363         Reported by David Byron <dbyron@dbyron.com>.
24364
24365 2009-06-02  Simon Josefsson  <simon@josefsson.org>
24366
24367         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
24368
24369 2009-06-02  Simon Josefsson  <simon@josefsson.org>
24370
24371         * m4/manywarnings.m4: Add GCC 4.4 warnings.
24372
24373 2009-05-28  Bruno Haible  <bruno@clisp.org>
24374
24375         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
24376         build-aux/ files.
24377
24378 2009-05-28  Simon Josefsson  <simon@josefsson.org>
24379
24380         * gnulib-tool (func_import): Transform license on build-aux/ files too.
24381
24382 2009-05-27  Simon Josefsson  <simon@josefsson.org>
24383
24384         * gnulib-tool (sed_transform_main_lib_file)
24385         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
24386         regexps.
24387
24388 2009-05-26  Simon Josefsson  <simon@josefsson.org>
24389
24390         * tests/test-strstr.c: Add another self-test.
24391         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
24392         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
24393
24394 2009-05-23  Bruno Haible  <bruno@clisp.org>
24395
24396         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
24397         change.
24398
24399 2009-05-21  Bruno Haible  <bruno@clisp.org>
24400
24401         Simplify use of mode_t varargs.
24402         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
24403         uses 'mode_t' or 'int'.
24404         * lib/openat.c (openat): Likewise.
24405         * lib/open-safer.c (open_safer): Likewise.
24406         * m4/mode_t.m4: New file.
24407         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
24408         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
24409         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
24410         * modules/open (Files): Add m4/mode_t.m4.
24411         * modules/openat (Files): Likewise.
24412         * modules/fcntl-safer (Files): Likewise.
24413         Suggested by Eric Blake.
24414
24415 2009-05-21  Pádraig Brady  <P@draigbrady.com>
24416
24417         * doc/glibc-functions/fallocate.texi: New file.
24418         * doc/gnulib.texi: Include it.
24419
24420 2009-05-21  Eric Blake  <ebb9@byu.net>
24421             Bruno Haible  <bruno@clisp.org>
24422
24423         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
24424         invocations.
24425         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24426
24427 2009-05-21  Eric Blake  <ebb9@byu.net>
24428             Bruno Haible  <bruno@clisp.org>
24429
24430         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
24431         include_next. Fix of 2008-11-20 commit.
24432         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
24433         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
24434         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
24435         NEXT_MATH_H.
24436         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
24437         instead of NEXT_MATH_H.
24438
24439 2009-05-21  Bruno Haible  <bruno@clisp.org>
24440
24441         Avoid redefinition warnings for SIZE_MAX.
24442         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
24443         Reported by Simon Josefsson.
24444
24445 2009-05-21  Bruno Haible  <bruno@clisp.org>
24446
24447         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
24448         AC_CACHE_VAL.
24449
24450 2009-05-20  Bruno Haible  <bruno@clisp.org>
24451
24452         Make zeroptr.h work on mingw.
24453         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
24454         mprotect.
24455         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
24456         * modules/memchr2-tests (configure.ac): Likewise.
24457         * modules/memcmp-tests (configure.ac): Likewise.
24458         * modules/memmem-tests (configure.ac): Likewise.
24459         * modules/memrchr-tests (configure.ac): Likewise.
24460         Reported by Simon Josefsson.
24461
24462 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24463
24464         * tests/test-glob.c: Include string.h for strcmp prototype.
24465
24466 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24467
24468         * modules/getdelim (Depends-on): Add explicit stdint, although it
24469         was implicitly already pulled in via realloc-posix.
24470         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
24471
24472 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24473
24474         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
24475         G. Christensen" <tgc@jupiterrise.com>.
24476         * m4/sys_socket_h.m4: Check for sa_family_t.
24477         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
24478         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
24479         * tests/test-sys_socket.c: Check that sa_family_t works.
24480
24481 2009-05-18  Eric Blake  <ebb9@byu.net>
24482
24483         maint.mk: allow gnulib_dir in VPATH build
24484         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
24485
24486 2009-05-15  Jim Meyering  <meyering@redhat.com>
24487
24488         maint.mk: Give gnulib_dir a default definition.
24489         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
24490         Thus, most packages no longer need to specify this variable in cfg.mk
24491
24492 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
24493
24494         rename.m4: fix typos that would make non-mingw cross-configure fail
24495         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
24496
24497 2009-05-13  Eric Blake  <ebb9@byu.net>
24498
24499         mmap-anon: avoid out-of-order autoconf expansion
24500         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
24501         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
24502         * modules/memchr-tests (Depends-on): Add extensions.
24503         * modules/memchr2-tests (Depends-on): Add extensions.
24504         * modules/memcmp-tests (Depends-on): Add extensions.
24505         * modules/memmem-tests (Depends-on): Add extensions.
24506         * modules/memrchr-tests (Depends-on): Add extensions.
24507
24508 2009-05-13  Bruno Haible  <bruno@clisp.org>
24509
24510         Make some tests ISO C 99 compliant.
24511         * tests/zerosize-ptr.h: New file.
24512         * tests/test-memchr.c: Include zerosize-ptr.h.
24513         (main): Use a zero-size object pointer instead of NULL.
24514         * tests/test-memchr2.c: Include zerosize-ptr.h.
24515         (main): Use a zero-size object pointer instead of NULL.
24516         * tests/test-memcmp.c: Include zerosize-ptr.h.
24517         (main): Use a zero-size object pointer instead of NULL.
24518         * tests/test-memmem.c: Include zerosize-ptr.h.
24519         (main): Use a zero-size object pointer instead of NULL.
24520         * tests/test-memrchr.c: Include zerosize-ptr.h.
24521         (main): Use a zero-size object pointer instead of NULL.
24522         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
24523         m4/mmap-anon.m4.
24524         (Depends-on): Add getpagesize.
24525         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24526         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
24527         m4/mmap-anon.m4.
24528         (Depends-on): Add getpagesize.
24529         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24530         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
24531         m4/mmap-anon.m4.
24532         (Depends-on): Add getpagesize.
24533         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24534         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
24535         m4/mmap-anon.m4.
24536         (Depends-on): Add getpagesize.
24537         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24538         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
24539         m4/mmap-anon.m4.
24540         (Depends-on): Add getpagesize.
24541         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24542
24543 2009-05-12  Bruno Haible  <bruno@clisp.org>
24544
24545         Tests for module 'alignof'.
24546         * modules/alignof-tests: New file.
24547         * tests/test-alignof.c: New file.
24548
24549 2009-05-12  Bruno Haible  <bruno@clisp.org>
24550
24551         Fix alignof macro.
24552         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
24553         vendor compilers that are always correct.
24554
24555 2009-05-12  Bruno Haible  <bruno@clisp.org>
24556
24557         Make the MAP_ANONYMOUS detection work on HP-UX 11.
24558         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
24559         not whether its fully works.
24560
24561 2009-05-12  Bruno Haible  <bruno@clisp.org>
24562
24563         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
24564
24565 2009-05-12  Jim Meyering  <meyering@redhat.com>
24566
24567         * top/maint.mk: Adjust backslash alignment.
24568
24569 2009-05-11  Simon Josefsson  <simon@josefsson.org>
24570
24571         * top/maint.mk: Make $(srcdir)/build-aux configurable.
24572
24573 2009-05-11  Eric Blake  <ebb9@byu.net>
24574
24575         argp: avoid undefined behavior
24576         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
24577         macros.
24578
24579 2009-05-08  Simon Josefsson  <simon@josefsson.org>
24580
24581         * tests/test-vc-list-files-git.sh: Do git config of user.email and
24582         user.name to prevent git commit from complaining.
24583
24584 2009-05-10  Bruno Haible  <bruno@clisp.org>
24585
24586         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
24587         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
24588         it rewrites every file name only once.
24589         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
24590
24591 2009-05-08  Bruno Haible  <bruno@clisp.org>
24592
24593         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
24594         instead of 'max'.
24595
24596 2009-05-08  Simon Josefsson  <simon@josefsson.org>
24597
24598         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
24599         sockaddr_storage test.
24600
24601 2009-05-07  Simon Josefsson  <simon@josefsson.org>
24602
24603         * modules/sys_socket (Makefile.am): Substitute
24604         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
24605         * m4/sys_socket_h.m4: Check for sockaddr_storage.
24606         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
24607         * tests/test-sys_socket.c: Check sockaddr_storage.
24608
24609 2009-05-08  Bruno Haible  <bruno@clisp.org>
24610
24611         New module 'alignof'.
24612         * lib/alignof.h: New file.
24613         * modules/alignof: New file.
24614
24615 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24616             Bruno Haible  <bruno@clisp.org>
24617
24618         Fix test-file-has-acl on FreeBSD.
24619         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
24620         mask is implicitly added.
24621         * tests/test-file-has-acl.c: Include <signal.h>.
24622         (main): Terminate the test after 5 seconds.
24623         * modules/acl-tests (configure.ac): Check for alarm function.
24624
24625 2009-05-04  Bruno Haible  <bruno@clisp.org>
24626
24627         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
24628         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
24629         * modules/errno (configure.ac): Drop AC_REQUIRE.
24630         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
24631         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
24632
24633 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24634
24635         * modules/glob-tests: New module.
24636         * tests/test-glob.c: Add.
24637
24638 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24639
24640         * modules/fnmatch-tests: New module.
24641         * tests/test-fnmatch.c: Add.
24642
24643 2009-05-04  Eric Blake  <ebb9@byu.net>
24644
24645         maint: make the new no-submodule-changes rule VPATH-safe
24646         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
24647
24648 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24649             Bruno Haible  <bruno@clisp.org>
24650
24651         acl: Fix infinite loop on FreeBSD.
24652         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
24653         of return value from acl_get_entry.
24654         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
24655         Likewise.
24656
24657 2009-05-03  Bruno Haible  <bruno@clisp.org>
24658
24659         * lib/acl-internal.h (acl_entries): Clarify return value.
24660         * lib/acl_entries.c (acl_entries): Likewise.
24661
24662 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24663
24664         Bug fix in acl module.
24665         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
24666
24667 2009-05-03  Bruno Haible  <bruno@clisp.org>
24668
24669         Create gperf-generated file in the source dir, not in the build dir.
24670         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
24671         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
24672         * modules/unicase/locale-language (unicase/locale-languages.h):
24673         Likewise.
24674         * modules/unicase/special-casing (unicase/special-casing-table.h):
24675         Likewise.
24676         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
24677         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
24678         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
24679         Reported by Ralf Wildenhues.
24680
24681 2009-05-03  Bruno Haible  <bruno@clisp.org>
24682
24683         * modules/fnmatch (Description, configure.ac): Taken from
24684         fnmatch-posix.
24685         * modules/fnmatch-posix: Turn into a symbolic reference to the
24686         'fnmatch' module, and deprecate.
24687         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
24688
24689 2009-05-03  Bruno Haible  <bruno@clisp.org>
24690
24691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
24692         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
24693         Reported by Ralf Wildenhues.
24694
24695 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24696
24697         * m4/fnmatch.m4: Fix fnmatch re-define.
24698
24699 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24700
24701         priv-set: new module and tests; adapt write-any-file
24702         * lib/priv-set.c: New file.
24703         * lib/priv-set.h: New file.
24704         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
24705         * lib/write-any-file.c: Simplify by using priv-set module.
24706         * m4/priv-set.m4: New file.
24707         * modules/priv-set: New file.
24708         * modules/unlinkdir: Add dependency on priv-set module.
24709         * modules/write-any-file: Likewise.
24710
24711         Tests for module 'priv-set'.
24712         * modules/priv-set-tests: New file.
24713         * tests/test-priv-set.c: New file.
24714
24715 2009-05-03  Jim Meyering  <meyering@redhat.com>
24716             Bruno Haible  <bruno@clisp.org>
24717
24718         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
24719         use the converted UTF-8 variant of the name instead.
24720
24721 2009-05-03  Jim Meyering  <meyering@redhat.com>
24722
24723         tests: tighten some getdate tests
24724         * tests/test-getdate.c (main): Tighten tests: require equality,
24725         not just greater than.  Set TZ envvar to UTC0.
24726
24727 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
24728
24729         getdate: correctly interpret "next monday" when run on a Monday
24730         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
24731         that e.g., "next tues" (when run on a tuesday) results in a date
24732         that is one week in the future, and not today's date.
24733         I.e., add a week when the wday is the same as the current one.
24734         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
24735         and earlier by Martin Bernreuther and Jan Minář.
24736         * tests/test-getdate.c (main): Check that "next DAY" is always in
24737         the future and that "last DAY" is always in the past.
24738
24739 2009-05-02  Jim Meyering  <meyering@redhat.com>
24740
24741         build: ensure that a release build fails when a submodule is unclean
24742         * top/maint.mk (no-submodule-changes): New rule.
24743         (alpha beta major): Depend on it.
24744
24745 2009-05-02  Bruno Haible  <bruno@clisp.org>
24746
24747         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
24748         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
24749         shell variable gl_fnmatch_required to detect which variant is
24750         requested.
24751         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
24752         gl_FUNC_FNMATCH_POSIX.
24753         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
24754         exclude fnmatch-posix.
24755
24756 2009-05-02  Bruno Haible  <bruno@clisp.org>
24757
24758         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
24759         * modules/mbsrtowcs (License): Change to LGPLv2+.
24760         * modules/strnlen1 (License): Likewise.
24761         Reported by Simon Josefsson.
24762
24763 2009-05-02  Bruno Haible  <bruno@clisp.org>
24764
24765         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
24766         "cross".
24767         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
24768         gnulib-tool was called with option --source-base=lib.
24769
24770 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24771
24772         Use automake *-local hooks without commands, for extensibility.
24773         * modules/localcharset (Makefile.am): Rename install-exec-local
24774         rule to install-exec-localcharset, and make it a prerequisite of
24775         install-exec-local.  Likewise, rename the uninstall-local rule to
24776         uninstall-localcharset, and make it a prerequisite of the former.
24777
24778 2009-05-01  Bruno Haible  <bruno@clisp.org>
24779
24780         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
24781         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
24782         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
24783         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
24784         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
24785         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
24786         m4/locale-zh.m4, m4/codeset.m4.
24787
24788         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
24789         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
24790         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
24791         m4/locale-zh.m4.
24792
24793         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
24794         REPLACE_WCRTOMB if mbstate_t must be replaced.
24795         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
24796         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
24797
24798 2009-05-01  Bruno Haible  <bruno@clisp.org>
24799
24800         Avoid compiler warnings when redefining macros defined by <libintl.h>.
24801         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
24802         dngettext, dcngettext, textdomain, bindtextdomain,
24803         bind_textdomain_codeset): Undefine before redefining.
24804
24805 2009-04-30  Bruno Haible  <bruno@clisp.org>
24806
24807         Fix bug introduced on 2009-04-25.
24808         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
24809         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
24810         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
24811         is defined.
24812         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
24813         is defined.
24814         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
24815         is defined.
24816         Reported by Elbert_Pol <elbert.pol@gmail.com>.
24817
24818 2009-04-28  Bruno Haible  <bruno@clisp.org>
24819
24820         Comment tweaks.
24821         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
24822         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
24823         * lib/unicase.h (u*_casexfrm): Likewise.
24824         Reported by Paolo Bonzini.
24825
24826 2009-04-28  Bruno Haible  <bruno@clisp.org>
24827
24828         Fix a compilation error.
24829         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
24830         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
24831         Reported by Jim Meyering.
24832
24833 2009-04-27  Bruno Haible  <bruno@clisp.org>
24834
24835         New module 'libunistring'.
24836         * modules/libunistring: New file.
24837         * m4/libunistring.m4: New file.
24838         * MODULES.html.sh (Unicode string functions): Add it.
24839
24840 2009-04-27  Eric Blake  <ebb9@byu.net>
24841
24842         maint.mk: allow package-specific header to provide <config.h>
24843         * top/maint.mk (sc_require_config_h): New variable.
24844         (sc_require_config_h, sc_require_config_h_first): Use it.
24845
24846 2009-04-27  Simon Josefsson  <simon@josefsson.org>
24847
24848         * top/maint.mk (sc_avoid_if_before_free): Except
24849         useless-if-before-free script.
24850
24851 2009-04-27  Eric Blake  <ebb9@byu.net>
24852
24853         maintainer-makefile: depend on all required helper scripts
24854         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
24855         useless-if-before-free.
24856         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
24857         version, rather than assuming gnulib checkout is available.
24858         Reported by Simen Josefsson.
24859
24860 2009-04-26  Bruno Haible  <bruno@clisp.org>
24861
24862         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
24863         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
24864         "../" or "..".
24865
24866 2009-04-26  Bruno Haible  <bruno@clisp.org>
24867
24868         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
24869         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
24870         AC_LIB_HAVE_LINKFLAGS.
24871
24872 2009-04-26  Bruno Haible  <bruno@clisp.org>
24873
24874         Simplify calling convention of u*_conv_from_encoding.
24875         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
24876         u32_conv_from_encoding): Expect a resultbuf argument and return the
24877         result directly as a pointer.
24878         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
24879         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
24880         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
24881         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
24882         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
24883         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
24884         Update.
24885         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
24886         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
24887         * lib/vasnprintf.c (VASNPRINTF): Update.
24888         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
24889         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
24890         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
24891         * NEWS: Mention the change.
24892
24893 2009-04-26  Bruno Haible  <bruno@clisp.org>
24894
24895         Simplify calling convention of u*_conv_to_encoding.
24896         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
24897         u32_conv_to_encoding): Expect a resultbuf argument and return the
24898         result directly as a pointer.
24899         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
24900         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
24901         freeing scaled_offsets if mem_iconveha failed.
24902         * lib/unicase/u-casexfrm.h (FUNC): Update.
24903         * lib/uninorm/u-normxfrm.h (FUNC): Update.
24904         * lib/vasnprintf.c (VASNPRINTF): Update.
24905         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
24906         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
24907         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
24908         * NEWS: Mention the change.
24909
24910 2009-04-26  Bruno Haible  <bruno@clisp.org>
24911
24912         Avoid test failures on AIX and OSF/1.
24913         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
24914         malloc(0).
24915         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
24916         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
24917         Likewise.
24918         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
24919         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
24920         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
24921         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
24922         * doc/posix-functions/malloc.texi: Document the portability problem
24923         related to malloc(0).
24924
24925 2009-04-26  Bruno Haible  <bruno@clisp.org>
24926
24927         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
24928         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
24929         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
24930
24931 2009-04-25  Bruno Haible  <bruno@clisp.org>
24932
24933         Avoid link error when creating a namespace clean library.
24934         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
24935         as macro with arguments if already defined as an alias.
24936         * lib/signbitf.c (gl_signbitf): Don't undefine.
24937         * lib/signbitd.c (gl_signbitd): Don't undefine.
24938         * lib/signbitl.c (gl_signbitl): Don't undefine.
24939
24940 2009-04-25  Jim Meyering  <meyering@redhat.com>
24941
24942         vc-list-files: fix another quoting bug
24943         * build-aux/vc-list-files: Avoid sed backslash expansion
24944         of pathological directory names.
24945
24946 2009-04-25  Eric Blake  <ebb9@byu.net>
24947
24948         vc-list-files: fix shell quoting error
24949         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
24950         timestamp.
24951
24952 2009-04-25  Jim Meyering  <meyering@redhat.com>
24953
24954         vc-list-files: restore lost functionality with subdir argument
24955         * build-aux/vc-list-files: When given a non-"." sub-directory
24956         argument, substitute the $dir/ prefix back onto each resulting name.
24957         Otherwise, coreutils' root_tests check would fail.
24958
24959 2009-04-24  Eric Blake  <ebb9@byu.net>
24960
24961         vc-list-files: ignore git symlinks
24962         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
24963         than ls-files, to ignore git symlinks.
24964
24965         maint.mk: import improvements from m4
24966         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
24967         (move_if_change): Delete unused macro.
24968         (news-date-check, vc-diff-check): Support VPATH builds.
24969         (announcement): Likewise.  Split --bootstrap-tools list...
24970         (boostrap-tools): ...into separate list, which can be overridden
24971         in cfg.mk.
24972         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
24973         requiring dependency on useless-if-before-free module.
24974         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
24975         Support VPATH builds.
24976
24977 2009-04-24  Jim Meyering  <meyering@redhat.com>
24978
24979         maint.mk: remove coreutils-specific rules and variables
24980         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
24981         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
24982         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
24983
24984         maint.mk: remove obsolete rule
24985         * top/maint.mk (rel-check): Remove rule.
24986         (WGET, WGETFLAGS): Remove now-unused variables.
24987
24988 2009-04-24  Simon Josefsson  <simon@josefsson.org>
24989
24990         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
24991         consistency.
24992
24993         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
24994         '$(PATH_SEPARATOR)' instead of ':'.
24995
24996 2009-04-24  Simon Josefsson  <simon@josefsson.org>
24997
24998         * lib/getopt1.c (main): Use 'const' for static array.
24999
25000 2009-04-24  Simon Josefsson  <simon@josefsson.org>
25001
25002         * top/maint.mk: Sync with coreutils.
25003         * NEWS: Explain incompatibilities.
25004
25005 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25006             Bruno Haible  <bruno@clisp.org>
25007
25008         Fix cross-compilation results.
25009         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
25010         statement, as third argument of AC_TRY_RUN.
25011         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25012         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25013         Likewise.
25014         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25015         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
25016         Likewise.
25017         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25018         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
25019         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
25020
25021 2009-04-20  Bruno Haible  <bruno@clisp.org>
25022
25023         Avoid test failure on mingw.
25024         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
25025
25026 2009-04-20  Bruno Haible  <bruno@clisp.org>
25027
25028         Avoid compilation error on mingw.
25029         * modules/localename-tests (Depends-on): Add locale.
25030
25031 2009-04-19  Bruno Haible  <bruno@clisp.org>
25032
25033         Support for building a shared library on Windows platforms.
25034         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
25035         (main): Test the presence of UNINORM_NFC here.
25036         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
25037         (main): Test the presence of UNINORM_NFD here.
25038         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
25039         (main): Test the presence of UNINORM_NFKC here.
25040         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
25041         (main): Test the presence of UNINORM_NFKD here.
25042
25043 2009-04-19  Bruno Haible  <bruno@clisp.org>
25044
25045         Avoid a compiler warning.
25046         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
25047         Change type of variable 'sequence'.
25048
25049 2009-04-19  Bruno Haible  <bruno@clisp.org>
25050
25051         * modules/configmake (Makefile.am): When the contents of configmake.h
25052         does not change, arrange to preserve its modification time.
25053
25054 2009-04-17  Simon Josefsson  <simon@josefsson.org>
25055
25056         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
25057         gettext domain.
25058
25059 2009-04-16  Jim Meyering  <meyering@redhat.com>
25060
25061         useless-if-before-free: improve conversion code
25062         * build-aux/useless-if-before-free: Adjust code-in-comment to match
25063         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
25064
25065 2009-04-14  Bruno Haible  <bruno@clisp.org>
25066
25067         * modules/fcntl (Depends-on): Add extensions.
25068         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
25069
25070 2009-04-12  Ben Pfaff  <blp@gnu.org>
25071
25072         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
25073         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
25074
25075 2009-03-20  Ben Pfaff  <blp@gnu.org>
25076
25077         Make rename replace existing destinations on Windows.
25078         * m4/rename.m4: Add test for Mingw.
25079         * lib/rename.c: Add rename replacement that uses MoveFileEx with
25080         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
25081         * doc/posix-functions/rename.texi: Document.
25082
25083 2009-04-10  Bruno Haible  <bruno@clisp.org>
25084
25085         New include file "iconveh.h".
25086         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
25087         * lib/striconveh.h: Include it.
25088         (enum iconv_ilseq_handler): Remove definition.
25089         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
25090         striconveh.h.
25091         * lib/striconveha.c: Include striconveh.h.
25092         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
25093         * modules/striconveh (Files): Add lib/iconveh.h.
25094         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
25095         lib/striconveh.h.
25096
25097 2009-04-10  Bruno Haible  <bruno@clisp.org>
25098
25099         * lib/uniconv.h: Update comment.
25100
25101 2009-04-10  Bruno Haible  <bruno@clisp.org>
25102
25103         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
25104         always.
25105         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
25106         * lib/unistr/u16-mbtouc-aux.c: Likewise.
25107         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
25108         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
25109         "unistring-notinline.h", so that the function gets defined always.
25110         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
25111         * lib/unistr/u8-uctomb.c: Likewise.
25112         * lib/unistr/u16-mbtouc.c: Likewise.
25113         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
25114         * lib/unistr/u16-uctomb.c: Likewise.
25115         * lib/unistr/u32-mbtouc.c: Likewise.
25116         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
25117         * lib/unistr/u32-uctomb.c: Likewise.
25118
25119 2009-04-10  Bruno Haible  <bruno@clisp.org>
25120
25121         Mark 'utime' obsolete.
25122         * modules/utime (Status, Notice): New sections.
25123         Suggested by Jim Meyering.
25124
25125         Fix cross-compile guess for utime test.
25126         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
25127         autoconf.
25128         * doc/posix-functions/utime.texi: Give more precisions.
25129         Reported by Jan <ipif@ymail.com>.
25130
25131 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
25132
25133         filevercmp: correct today's change
25134         * lib/filevercmp.c: Also handle coreutils' test inputs.
25135         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
25136
25137         Fix regression in 'filevercmp' module. Thanks Sven Joachim
25138         for reporting it.
25139         * lib/filevercmp.c: Special handle for "", "." and "..".
25140         * tests/test-filevercmp.c: Enlarge the set suite.
25141
25142 2009-04-07  Jim Meyering  <meyering@redhat.com>
25143
25144         useless-if-before-free: show how to remove braced useless free, too
25145         * build-aux/useless-if-before-free: still only in a comment, though.
25146
25147 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
25148
25149         maint.mk: import changes to syntax-check macros from coreutils
25150         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
25151         Use them in the relevant macros.
25152
25153 2009-04-06  Bruno Haible  <bruno@clisp.org>
25154
25155         Fix unportable use of bit-fields.
25156         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
25157         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
25158         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
25159
25160 2009-04-06  Bruno Haible  <bruno@clisp.org>
25161
25162         Avoid test failures on AIX and OSF/1.
25163         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
25164         that malloc(0) = NULL.
25165         * tests/unicase/test-u8-tolower.c (check): Likewise.
25166         * tests/unicase/test-u8-totitle.c (check): Likewise.
25167         * tests/unicase/test-u8-toupper.c (check): Likewise.
25168         * tests/unicase/test-u16-casefold.c (check): Likewise.
25169         * tests/unicase/test-u16-tolower.c (check): Likewise.
25170         * tests/unicase/test-u16-totitle.c (check): Likewise.
25171         * tests/unicase/test-u16-toupper.c (check): Likewise.
25172         * tests/unicase/test-u32-casefold.c (check): Likewise.
25173         * tests/unicase/test-u32-tolower.c (check): Likewise.
25174         * tests/unicase/test-u32-totitle.c (check): Likewise.
25175         * tests/unicase/test-u32-toupper.c (check): Likewise.
25176         * tests/uninorm/test-u8-nfc.c (check): Likewise.
25177         * tests/uninorm/test-u8-nfd.c (check): Likewise.
25178         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
25179         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
25180         * tests/uninorm/test-u16-nfc.c (check): Likewise.
25181         * tests/uninorm/test-u16-nfd.c (check): Likewise.
25182         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
25183         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
25184         * tests/uninorm/test-u32-nfc.c (check): Likewise.
25185         * tests/uninorm/test-u32-nfd.c (check): Likewise.
25186         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
25187         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
25188
25189 2009-04-05  Bruno Haible  <bruno@clisp.org>
25190
25191         Work around an autoconf limitation.
25192         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
25193         comment line if it would be longer than 3 KB.
25194
25195 2009-04-05  Bruno Haible  <bruno@clisp.org>
25196
25197         Avoid test failure with libiconv-1.13.
25198         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
25199         of the expected test results.
25200
25201 2009-04-05  Bruno Haible  <bruno@clisp.org>
25202
25203         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
25204         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
25205         that it should be installed.
25206
25207 2009-04-05  Bruno Haible  <bruno@clisp.org>
25208
25209         * gnulib-tool: New option --copy-file.
25210         (func_usage): Document it.
25211         (func_dest_tmpfilename): Moved out of func_import.
25212         (func_add_file, func_update_file): New functions, extracted from
25213         func_import.
25214         (func_import): Update.
25215
25216 2009-04-05  Karl Berry  <karl@gnu.org>
25217
25218         * README: prominently mention gnulib-tool.
25219         Rearrange sections so getting the code is near the top.
25220
25221 2009-04-05  Bruno Haible  <bruno@clisp.org>
25222
25223         * lib/unicase.h: Mention u*_cmp2.
25224         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
25225         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
25226         * lib/unicase/ulc-casecmp.c: Likewise.
25227         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
25228         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
25229         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
25230         unistr/u8-cmp.
25231         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
25232         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
25233         unistr/u16-cmp.
25234         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
25235         unistr/u32-cmp.
25236
25237         * lib/uninorm.h: Mention u*_cmp2.
25238         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
25239         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
25240         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
25241         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
25242         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
25243         unistr/u8-cmp.
25244         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
25245         unistr/u16-cmp.
25246         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
25247         unistr/u32-cmp.
25248
25249         New module 'unistr/u32-cmp2'.
25250         * lib/unistr/u32-cmp2.c: New file.
25251         * modules/unistr/u32-cmp2: New file.
25252
25253         New module 'unistr/u16-cmp2'.
25254         * lib/unistr/u16-cmp2.c: New file.
25255         * modules/unistr/u16-cmp2: New file.
25256
25257         New module 'unistr/u8-cmp2'.
25258         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
25259         * lib/unistr/u8-cmp2.c: New file.
25260         * lib/unistr/u-cmp2.h: New file.
25261         * modules/unistr/u8-cmp2: New file.
25262
25263 2009-04-05  Bruno Haible  <bruno@clisp.org>
25264
25265         * lib/unictype.h (uc_property_is_valid): New macro.
25266         * tests/unictype/test-pr_byname.c (main): Use it.
25267
25268         * lib/unistr.h: Doc fixes.
25269         * lib/uniconv.h: Doc fixes.
25270         * lib/unictype.h: Doc fixes.
25271
25272 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
25273
25274         Port coreutils 7.2 to Solaris 8.
25275
25276         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
25277         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
25278         for Solaris 8.  This is a bit of a hack, as it means it's the
25279         caller's responsibility to add -lnsl if needed, but most likely it
25280         won't be needed since only getaddrinfo uses this and getaddrinfo
25281         isn't needed on Solaris 8.
25282
25283         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
25284         problem to Solaris 8 encountered with coreutils 7.2, which
25285         resulted in a message "fnmatch.c:292: warning: passing argument 4
25286         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
25287         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
25288
25289 2009-04-03  Simon Josefsson  <simon@josefsson.org>
25290
25291         * m4/ld-version-script.m4: Add FIXME comment.
25292
25293 2009-04-02  Simon Josefsson  <simon@josefsson.org>
25294
25295         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
25296         SOVERSION variable.
25297
25298 2009-04-02  Bruno Haible  <bruno@clisp.org>
25299
25300         * Makefile (info, html, dvi, pdf): Combine the rules.
25301         Suggested by Jim Meyering.
25302
25303 2009-04-01  Bruno Haible  <bruno@clisp.org>
25304
25305         * Makefile (info, html, dvi, pdf): New targets.
25306         Reported by Reuben Thomas <rrt@sc3d.org>.
25307
25308 2009-04-01  Bruno Haible  <bruno@clisp.org>
25309
25310         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
25311         can be put into PATH.
25312         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
25313
25314 2009-04-01  Bruno Haible  <bruno@clisp.org>
25315
25316         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
25317
25318 2009-04-01  Bruno Haible  <bruno@clisp.org>
25319
25320         Rename module 'visibility'.
25321         * modules/lib-symbol-visibility: Renamed from modules/visibility.
25322         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
25323         * doc/gnulib.texi: Update.
25324         * MODULES.html.sh (Misc): Update.
25325         * NEWS: Mention the change.
25326
25327 2009-04-01  Simon Josefsson  <simon@josefsson.org>
25328
25329         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
25330         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
25331         Eric Blake <ebb9@byu.net> for review.
25332         * MODULES.html.sh: Add lib-msvc-compat.
25333         * doc/gnulib.texi: Link to new section.
25334         * m4/ld-output-def.m4: New file.
25335         * doc/ld-output-def.texi: New file.
25336
25337 2009-04-01  Simon Josefsson  <simon@josefsson.org>
25338
25339         Rename ld-version-script to lib-symbol-versions.  Suggested by
25340         Bruno Haible <bruno@clisp.org>.
25341         * modules/ld-version-script: Renamed to lib-symbol-versions.
25342         * doc/ld-version-script.texi: Fix module name.
25343         * MODULES.html.sh: Add lib-symbol-versions.
25344
25345 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25346
25347         * modules/u64-tests: New file.
25348         * tests/test-u64.c: New file.
25349
25350 2009-03-04  Simon Josefsson  <simon@josefsson.org>
25351
25352         * MODULES.html.sh: Mention u64.
25353         * modules/u64: New module.
25354         * modules/crypto/sha512: Depend on u64 module instead of providing
25355         u64.h.
25356
25357 2009-03-27  Eric Blake  <ebb9@byu.net>
25358
25359         test-strerror: make debugging EAI_SYSTEM easier
25360         * modules/getaddrinfo-tests (Depends-on): Add strerror.
25361         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
25362         failure was EAI_SYSTEM.
25363
25364 2009-03-25  Bruno Haible  <bruno@clisp.org>
25365
25366         Fix a problem with --enable-relocatable on Solaris 7.
25367         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
25368         since 2008-02-24.
25369
25370 2009-03-25  Eric Blake  <ebb9@byu.net>
25371
25372         test-sockets: avoid gcc warning
25373         * tests/test-sockets.c (main): Silence compiler warning.
25374
25375 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
25376
25377         New modules nproc, pthread, contributed by Glen Lenker.
25378
25379         * MODULES.html.sh: Add pthread, nproc.
25380         * lib/nproc.c: New file.
25381         * lib/nproc.h: New file.
25382         * lib/pthread.in.h: New file.
25383         * m4/pthread.m4: New file.
25384         * modules/nproc: New file.
25385         * modules/pthread: New file.
25386
25387 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25388
25389         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
25390         New variable.
25391
25392 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
25393
25394         filevercmp: handle simple~ and numbered.~3~ backup suffixes
25395         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
25396         * tests/test-filevercmp.c: Add tests for backup suffixes.
25397
25398 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25399
25400         * modules/stdlib (Depends-on): Add stdint, needed when defining
25401         struct random_data on, for example, HP-UX 10.20.  Reported by
25402         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25403
25404 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25405
25406         * lib/readline.c (readline): Call fflush on stdout after printing
25407         prompt.
25408
25409 2009-03-20  Bruno Haible  <bruno@clisp.org>
25410
25411         Remove dependency from 'close' module to -lws2_32 on native Windows.
25412         * lib/close-hook.h: New file.
25413         * lib/close-hook.c: New file.
25414         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
25415         w32sock.h.
25416         (_gl_close_fd_maybe_socket): Remove function.
25417         (rpl_close): Invoke execute_all_close_hooks instead of
25418         _gl_close_fd_maybe_socket.
25419         * lib/sockets.c: Include close-hook.h, w32sock.h.
25420         (close_fd_maybe_socket): New function, essentially from lib/close.c.
25421         (close_sockets_hook): New variable.
25422         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
25423         (gl_sockets_cleanup): Unregister it.
25424         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
25425         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
25426         * modules/close-hook: New file.
25427         * modules/close (Files): Remove lib/w32sock.h.
25428         (Depends-on): Add close-hook.
25429         (Link): Remove section.
25430         * modules/sockets (Files): Add lib/w32sock.h.
25431         (Depends-on): Add close-hook.
25432         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
25433         invocation.
25434         * NEWS: Mention that LIB_CLOSE is gone.
25435
25436 2009-03-23  Eric Blake  <ebb9@byu.net>
25437
25438         signal-tests: test previous patch
25439         * tests/test-signal.c: New file.
25440         * modules/signal-tests: Likewise.
25441
25442         signal.h: always support 'volatile sig_atomic_t'
25443         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
25444         (gl_SIGNAL_H_DEFAULTS): Add a default.
25445         * modules/signal (Makefile.am): Substitute if needed.
25446         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
25447         users can blindly add volatile.
25448         * doc/posix-headers/signal.texi (signal.h): Document it.
25449         Reported by Matthew Woehlke.
25450
25451 2009-03-23  Jim Meyering  <meyering@redhat.com>
25452
25453         pathmax: PATH_MAX: use pathconf only when available
25454         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
25455         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
25456         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
25457         This avoids a link failure in a PSP cross-compilation environment
25458         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
25459
25460         * lib/vasnprintf.c (divide): Fix typo in comment.
25461
25462 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25463
25464         * gnulib-tool (func_filter_filelist): Fix comment.
25465
25466 2009-03-20  Bruno Haible  <bruno@clisp.org>
25467
25468         Make sockets.h self-contained.
25469         * lib/sockets.c: Include sockets.h first.
25470         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
25471
25472 2009-03-19  Eric Blake  <ebb9@byu.net>
25473
25474         doc: mention more functions added in cygwin 1.7.0
25475         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
25476         addition.
25477         * doc/posix-functions/log2f.texi: Likewise.
25478
25479 2009-03-19  Jim Meyering  <meyering@redhat.com>
25480
25481         fsusage: avoid syntax error due to statement-before-declaration
25482         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
25483         after all declarations.  Reported by Matthew Woehlke in
25484         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
25485
25486 2009-03-18  Eric Blake  <ebb9@byu.net>
25487
25488         build-aux/compile: sync from automake
25489         * build-aux/compile: New file, from automake.
25490         * config/srclist.txt: Mention build-aux/compile.
25491
25492 2009-03-17  Bruno Haible  <bruno@clisp.org>
25493
25494         * lib/git-merge-changelog.c: Fix typo in comment.
25495         Reported by Reuben Thomas <rrt@sc3d.org>.
25496
25497 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
25498
25499         * m4/regex.m4: update and improve help for
25500         --without-included-regex.
25501
25502 2009-03-17  Simon Josefsson  <simon@josefsson.org>
25503
25504         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
25505         failure on missing include files.
25506
25507 2009-03-17  Eric Blake  <ebb9@byu.net>
25508
25509         doc: mention more functions added in cygwin 1.7.0
25510         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
25511         addition.
25512         * doc/posix-functions/fwscanf.texi: Likewise.
25513         * doc/posix-functions/swprintf.texi: Likewise.
25514         * doc/posix-functions/swscanf.texi: Likewise.
25515         * doc/posix-functions/vfwprintf.texi: Likewise.
25516         * doc/posix-functions/vfwscanf.texi: Likewise.
25517         * doc/posix-functions/vswprintf.texi: Likewise.
25518         * doc/posix-functions/vswscanf.texi: Likewise.
25519         * doc/posix-functions/vwprintf.texi: Likewise.
25520         * doc/posix-functions/vwscanf.texi: Likewise.
25521         * doc/posix-functions/wcscasecmp.texi: Likewise.
25522         * doc/posix-functions/wcsdup.texi: Likewise.
25523         * doc/posix-functions/wcsftime.texi: Likewise.
25524         * doc/posix-functions/wcsncasecmp.texi: Likewise.
25525         * doc/posix-functions/wprintf.texi: Likewise.
25526         * doc/posix-functions/wscanf.texi: Likewise.
25527         * doc/glibc-functions/gethostbyname2.texi: Likewise.
25528
25529 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25530
25531         maint.mk: really add $(AM_MAKEFLAGS)
25532         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
25533         was inadvertently omitted in the last commit.
25534         Spotted by Bruno Haible.
25535
25536         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
25537         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
25538         $(AM_MAKEFLAGS)' rather than plain `make'.
25539
25540         gnulib-tool: execute $MAKE not make
25541         * gnulib-tool: Default $MAKE to 'make'.
25542         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
25543         than make.  Initialize $MAKE in the do-autobuild script.
25544
25545         gnulib-tool: use $MAKE not make in generated files
25546         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
25547         make, in generated files.  Initialize $MAKE in the do-autobuild
25548         script.
25549
25550         * top/GNUmakefile (_have-git-version-gen): Fix typo.
25551
25552         GNUmakefile: disable parallelism only for multiple, recursive targets
25553         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
25554         additions in the Makefile.
25555         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
25556         by Automake.
25557         (.NOTPARALLEL): Only disable parallel builds if multiple targets
25558         are listed on the command line and at least one of them is
25559         listed in $(ALL_RECURSIVE_TARGETS).
25560
25561 2009-03-14  Bruno Haible  <bruno@clisp.org>
25562
25563         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
25564         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
25565         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
25566         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
25567         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
25568         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
25569         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
25570         unistr/u8-uctomb.
25571         * modules/unistr/u8-strchr (Depends-on): Likewise.
25572         * modules/unistr/u8-strrchr (Depends-on): Likewise.
25573         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
25574         unistr/u16-uctomb.
25575         * modules/unistr/u16-strchr (Depends-on): Likewise.
25576         * modules/unistr/u16-strrchr (Depends-on): Likewise.
25577
25578 2009-03-12  Bruno Haible  <bruno@clisp.org>
25579
25580         Work around select() bug on Interix 3.5.
25581         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
25582         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
25583         * m4/select.m4: New file.
25584         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
25585         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
25586         * modules/select (Files): Add m4/select.m4.
25587         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
25588         * modules/nanosleep (Depends-on): Add select.
25589         * modules/poll (Depends-on): Likewise.
25590         * doc/posix-functions/select.texi: Mention the Interix bug.
25591         Reported by Markus Duft <mduft@gentoo.org>.
25592
25593         * lib/select.c: Renamed from lib/winsock-select.c.
25594         * modules/select (Files): Add lib/select.c, remove
25595         lib/winsock-select.c.
25596         (configure.ac): Update.
25597
25598 2009-03-12  Jim Meyering  <meyering@redhat.com>
25599
25600         avoid gcc warnings about unused macro definitions
25601         * lib/readtokens.c (STREQ): Remove unused definition.
25602         * lib/xmalloc.c (SIZE_MAX): Likewise.
25603         * lib/openat-die.c (N_): Likewise.
25604         * lib/mountlist.c (SIZE_MAX): Remove definition.
25605         Instead, include <stdint.h>.
25606         * lib/readutmp.c: Likewise.
25607         * modules/readutmp (Depends-on): Add stdint.
25608         * modules/mountlist (Depends-on): Add stdint.
25609         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
25610
25611 2009-03-10  Bruno Haible  <bruno@clisp.org>
25612
25613         Tests for module 'mbmemcasecoll'.
25614         * modules/mbmemcasecoll-tests: New file.
25615         * tests/test-mbmemcasecoll1.sh: New file.
25616         * tests/test-mbmemcasecoll2.sh: New file.
25617         * tests/test-mbmemcasecoll3.sh: New file.
25618         * tests/test-mbmemcasecoll.c: New file.
25619
25620         New module 'mbmemcasecoll'.
25621         * lib/mbmemcasecoll.h: New file.
25622         * lib/mbmemcasecoll.c: New file.
25623         * modules/mbmemcasecoll: New file.
25624
25625         * tests/test-mbmemcasecmp.h: New file, extracted from
25626         tests/test-mbmemcasecmp.c.
25627         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
25628         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
25629         (main): Update.
25630         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
25631
25632 2009-03-09  Bruno Haible  <bruno@clisp.org>
25633
25634         Tests for module 'mbmemcasecmp'.
25635         * modules/mbmemcasecmp-tests: New file.
25636         * tests/test-mbmemcasecmp1.sh: New file.
25637         * tests/test-mbmemcasecmp2.sh: New file.
25638         * tests/test-mbmemcasecmp3.sh: New file.
25639         * tests/test-mbmemcasecmp.c: New file.
25640
25641         New module 'mbmemcasecmp'.
25642         * lib/mbmemcasecmp.h: New file.
25643         * lib/mbmemcasecmp.c: New file.
25644         * modules/mbmemcasecmp: New file.
25645
25646 2009-03-09  Bruno Haible  <bruno@clisp.org>
25647
25648         Tests for module 'unicase/ulc-casecoll'.
25649         * modules/unicase/ulc-casecoll-tests: New file.
25650         * tests/unicase/test-ulc-casecoll1.sh: New file.
25651         * tests/unicase/test-ulc-casecoll2.sh: New file.
25652         * tests/unicase/test-ulc-casecoll.c: New file.
25653
25654         New module 'unicase/ulc-casecoll'.
25655         * lib/unicase.h (ulc_casecoll): New declaration.
25656         * lib/unicase/ulc-casecoll.c: New file.
25657         * modules/unicase/ulc-casecoll: New file.
25658
25659         New module 'unicase/ulc-casexfrm'.
25660         * lib/unicase.h (ulc_casexfrm): New declaration.
25661         * lib/unicase/ulc-casexfrm.c: New file.
25662         * modules/unicase/ulc-casexfrm: New file.
25663
25664 2009-03-09  Bruno Haible  <bruno@clisp.org>
25665
25666         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
25667         invocations.
25668
25669         * m4/mbscasecmp.m4: Remove file.
25670         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
25671         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
25672
25673         * m4/mbscasestr.m4: Remove file.
25674         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
25675         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
25676
25677         * m4/mbschr.m4: Remove file.
25678         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
25679         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
25680
25681         * m4/mbscspn.m4: Remove file.
25682         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
25683         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
25684
25685         * m4/mbslen.m4: Remove file.
25686         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
25687         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
25688
25689         * m4/mbsncasecmp.m4: Remove file.
25690         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
25691         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
25692
25693         * m4/mbsnlen.m4: Remove file.
25694         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
25695         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
25696
25697         * m4/mbspbrk.m4: Remove file.
25698         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
25699         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
25700
25701         * m4/mbspcasecmp.m4: Remove file.
25702         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
25703         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
25704
25705         * m4/mbsrchr.m4: Remove file.
25706         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
25707         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
25708
25709         * m4/mbssep.m4: Remove file.
25710         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
25711         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
25712
25713         * m4/mbsspn.m4: Remove file.
25714         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
25715         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
25716
25717         * m4/mbsstr.m4: Remove file.
25718         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
25719         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
25720
25721         * m4/mbstok_r.m4: Remove file.
25722         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
25723         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
25724
25725         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
25726
25727         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
25728         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
25729
25730         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
25731
25732 2009-03-08  Bruno Haible  <bruno@clisp.org>
25733
25734         Tests for module 'unicase/ulc-casecmp'.
25735         * modules/unicase/ulc-casecmp-tests: New file.
25736         * tests/unicase/test-ulc-casecmp1.sh: New file.
25737         * tests/unicase/test-ulc-casecmp2.sh: New file.
25738         * tests/unicase/test-ulc-casecmp.c: New file.
25739
25740         New module 'unicase/ulc-casecmp'.
25741         * lib/unicase.h (ulc_casecmp): New declaration.
25742         * lib/unicase/ulc-casecmp.c: New file.
25743         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
25744         'const SRC_UNIT *'.
25745         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
25746         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
25747         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
25748         * modules/unicase/ulc-casecmp: New file.
25749
25750         Tests for module 'unicase/u32-is-cased'.
25751         * modules/unicase/u32-is-cased-tests: New file.
25752         * tests/unicase/test-u32-is-cased.c: New file.
25753
25754         Tests for module 'unicase/u16-is-cased'.
25755         * modules/unicase/u16-is-cased-tests: New file.
25756         * tests/unicase/test-u16-is-cased.c: New file.
25757
25758         Tests for module 'unicase/u8-is-cased'.
25759         * modules/unicase/u8-is-cased-tests: New file.
25760         * tests/unicase/test-u8-is-cased.c: New file.
25761         * tests/unicase/test-is-cased.h: New file.
25762
25763         New module 'unicase/u32-is-cased'.
25764         * lib/unicase/u32-is-cased.c: New file.
25765         * modules/unicase/u32-is-cased: New file.
25766
25767         New module 'unicase/u16-is-cased'.
25768         * lib/unicase/u16-is-cased.c: New file.
25769         * modules/unicase/u16-is-cased: New file.
25770
25771         New module 'unicase/u8-is-cased'.
25772         * lib/unicase/u8-is-cased.c: New file.
25773         * lib/unicase/u-is-cased.h: New file.
25774         * modules/unicase/u8-is-cased: New file.
25775
25776         Tests for module 'unicase/u32-is-casefolded'.
25777         * modules/unicase/u32-is-casefolded-tests: New file.
25778         * tests/unicase/test-u32-is-casefolded.c: New file.
25779
25780         Tests for module 'unicase/u16-is-casefolded'.
25781         * modules/unicase/u16-is-casefolded-tests: New file.
25782         * tests/unicase/test-u16-is-casefolded.c: New file.
25783
25784         Tests for module 'unicase/u8-is-casefolded'.
25785         * modules/unicase/u8-is-casefolded-tests: New file.
25786         * tests/unicase/test-u8-is-casefolded.c: New file.
25787         * tests/unicase/test-is-casefolded.h: New file.
25788
25789         New module 'unicase/u32-is-casefolded'.
25790         * lib/unicase/u32-is-casefolded.c: New file.
25791         * modules/unicase/u32-is-casefolded: New file.
25792
25793         New module 'unicase/u16-is-casefolded'.
25794         * lib/unicase/u16-is-casefolded.c: New file.
25795         * modules/unicase/u16-is-casefolded: New file.
25796
25797         New module 'unicase/u8-is-casefolded'.
25798         * lib/unicase/u8-is-casefolded.c: New file.
25799         * modules/unicase/u8-is-casefolded: New file.
25800
25801         Tests for module 'unicase/u32-is-titlecase'.
25802         * modules/unicase/u32-is-titlecase-tests: New file.
25803         * tests/unicase/test-u32-is-titlecase.c: New file.
25804
25805         Tests for module 'unicase/u16-is-titlecase'.
25806         * modules/unicase/u16-is-titlecase-tests: New file.
25807         * tests/unicase/test-u16-is-titlecase.c: New file.
25808
25809         Tests for module 'unicase/u8-is-titlecase'.
25810         * modules/unicase/u8-is-titlecase-tests: New file.
25811         * tests/unicase/test-u8-is-titlecase.c: New file.
25812         * tests/unicase/test-is-titlecase.h: New file.
25813
25814         New module 'unicase/u32-is-titlecase'.
25815         * lib/unicase/u32-is-titlecase.c: New file.
25816         * modules/unicase/u32-is-titlecase: New file.
25817
25818         New module 'unicase/u16-is-titlecase'.
25819         * lib/unicase/u16-is-titlecase.c: New file.
25820         * modules/unicase/u16-is-titlecase: New file.
25821
25822         New module 'unicase/u8-is-titlecase'.
25823         * lib/unicase/u8-is-titlecase.c: New file.
25824         * modules/unicase/u8-is-titlecase: New file.
25825
25826         Tests for module 'unicase/u32-is-lowercase'.
25827         * modules/unicase/u32-is-lowercase-tests: New file.
25828         * tests/unicase/test-u32-is-lowercase.c: New file.
25829
25830         Tests for module 'unicase/u16-is-lowercase'.
25831         * modules/unicase/u16-is-lowercase-tests: New file.
25832         * tests/unicase/test-u16-is-lowercase.c: New file.
25833
25834         Tests for module 'unicase/u8-is-lowercase'.
25835         * modules/unicase/u8-is-lowercase-tests: New file.
25836         * tests/unicase/test-u8-is-lowercase.c: New file.
25837         * tests/unicase/test-is-lowercase.h: New file.
25838
25839         New module 'unicase/u32-is-lowercase'.
25840         * lib/unicase/u32-is-lowercase.c: New file.
25841         * modules/unicase/u32-is-lowercase: New file.
25842
25843         New module 'unicase/u16-is-lowercase'.
25844         * lib/unicase/u16-is-lowercase.c: New file.
25845         * modules/unicase/u16-is-lowercase: New file.
25846
25847         New module 'unicase/u8-is-lowercase'.
25848         * lib/unicase/u8-is-lowercase.c: New file.
25849         * modules/unicase/u8-is-lowercase: New file.
25850
25851         Tests for module 'unicase/u32-is-uppercase'.
25852         * modules/unicase/u32-is-uppercase-tests: New file.
25853         * tests/unicase/test-u32-is-uppercase.c: New file.
25854
25855         Tests for module 'unicase/u16-is-uppercase'.
25856         * modules/unicase/u16-is-uppercase-tests: New file.
25857         * tests/unicase/test-u16-is-uppercase.c: New file.
25858
25859         Tests for module 'unicase/u8-is-uppercase'.
25860         * modules/unicase/u8-is-uppercase-tests: New file.
25861         * tests/unicase/test-u8-is-uppercase.c: New file.
25862         * tests/unicase/test-is-uppercase.h: New file.
25863
25864         New module 'unicase/u32-is-uppercase'.
25865         * lib/unicase/u32-is-uppercase.c: New file.
25866         * modules/unicase/u32-is-uppercase: New file.
25867
25868         New module 'unicase/u16-is-uppercase'.
25869         * lib/unicase/u16-is-uppercase.c: New file.
25870         * modules/unicase/u16-is-uppercase: New file.
25871
25872         New module 'unicase/u8-is-uppercase'.
25873         * lib/unicase/u8-is-uppercase.c: New file.
25874         * modules/unicase/u8-is-uppercase: New file.
25875
25876         New module 'unicase/u32-is-invariant'.
25877         * lib/unicase/u32-is-invariant.c: New file.
25878         * modules/unicase/u32-is-invariant: New file.
25879
25880         New module 'unicase/u16-is-invariant'.
25881         * lib/unicase/u16-is-invariant.c: New file.
25882         * modules/unicase/u16-is-invariant: New file.
25883
25884         New module 'unicase/u8-is-invariant'.
25885         * lib/unicase/u8-is-invariant.c: New file.
25886         * lib/unicase/invariant.h: New file.
25887         * lib/unicase/u-is-invariant.h: New file.
25888         * modules/unicase/u8-is-invariant: New file.
25889
25890         Tests for module 'unicase/u32-casecoll'.
25891         * modules/unicase/u32-casecoll-tests: New file.
25892         * tests/unicase/test-u32-casecoll.c: New file.
25893
25894         Tests for module 'unicase/u16-casecoll'.
25895         * modules/unicase/u16-casecoll-tests: New file.
25896         * tests/unicase/test-u16-casecoll.c: New file.
25897
25898         Tests for module 'unicase/u8-casecoll'.
25899         * modules/unicase/u8-casecoll-tests: New file.
25900         * tests/unicase/test-u8-casecoll.c: New file.
25901
25902         New module 'unicase/u32-casecoll'.
25903         * lib/unicase/u32-casecoll.c: New file.
25904         * modules/unicase/u32-casecoll: New file.
25905
25906         New module 'unicase/u16-casecoll'.
25907         * lib/unicase/u16-casecoll.c: New file.
25908         * modules/unicase/u16-casecoll: New file.
25909
25910         New module 'unicase/u8-casecoll'.
25911         * lib/unicase/u8-casecoll.c: New file.
25912         * lib/unicase/u-casecoll.h: New file.
25913         * modules/unicase/u8-casecoll: New file.
25914
25915         New module 'unicase/u32-casexfrm'.
25916         * lib/unicase/u32-casexfrm.c: New file.
25917         * modules/unicase/u32-casexfrm: New file.
25918
25919         New module 'unicase/u16-casexfrm'.
25920         * lib/unicase/u16-casexfrm.c: New file.
25921         * modules/unicase/u16-casexfrm: New file.
25922
25923         New module 'unicase/u8-casexfrm'.
25924         * lib/unicase/u8-casexfrm.c: New file.
25925         * lib/unicase/u-casexfrm.h: New file.
25926         * modules/unicase/u8-casexfrm: New file.
25927
25928         Tests for module 'unicase/u32-casecmp'.
25929         * modules/unicase/u32-casecmp-tests: New file.
25930         * tests/unicase/test-u32-casecmp.c: New file.
25931
25932         Tests for module 'unicase/u16-casecmp'.
25933         * modules/unicase/u16-casecmp-tests: New file.
25934         * tests/unicase/test-u16-casecmp.c: New file.
25935
25936         Tests for module 'unicase/u8-casecmp'.
25937         * modules/unicase/u8-casecmp-tests: New file.
25938         * tests/unicase/test-u8-casecmp.c: New file.
25939         * tests/unicase/test-casecmp.h: New file.
25940
25941         New module 'unicase/u32-casecmp'.
25942         * lib/unicase/u32-casecmp.c: New file.
25943         * modules/unicase/u32-casecmp: New file.
25944
25945         New module 'unicase/u16-casecmp'.
25946         * lib/unicase/u16-casecmp.c: New file.
25947         * modules/unicase/u16-casecmp: New file.
25948
25949         New module 'unicase/u8-casecmp'.
25950         * lib/unicase/u8-casecmp.c: New file.
25951         * lib/unicase/u-casecmp.h: New file.
25952         * modules/unicase/u8-casecmp: New file.
25953
25954         Tests for module 'unicase/u32-casefold'.
25955         * modules/unicase/u32-casefold-tests: New file.
25956         * tests/unicase/test-u32-casefold.c: New file.
25957
25958         Tests for module 'unicase/u16-casefold'.
25959         * modules/unicase/u16-casefold-tests: New file.
25960         * tests/unicase/test-u16-casefold.c: New file.
25961
25962         Tests for module 'unicase/u8-casefold'.
25963         * modules/unicase/u8-casefold-tests: New file.
25964         * tests/unicase/test-u8-casefold.c: New file.
25965
25966         New module 'unicase/u32-casefold'.
25967         * lib/unicase/u32-casefold.c: New file.
25968         * modules/unicase/u32-casefold: New file.
25969
25970         New module 'unicase/u16-casefold'.
25971         * lib/unicase/u16-casefold.c: New file.
25972         * modules/unicase/u16-casefold: New file.
25973
25974         New module 'unicase/u8-casefold'.
25975         * lib/unicase/u8-casefold.c: New file.
25976         * lib/unicase/u-casefold.h: New file.
25977         * modules/unicase/u8-casefold: New file.
25978
25979         New module 'unicase/tocasefold'.
25980         * lib/unicase/casefold.h: New file.
25981         * lib/unicase/tocasefold.c: New file.
25982         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
25983         * modules/unicase/tocasefold: New file.
25984
25985         Tests for module 'unicase/u32-totitle'.
25986         * modules/unicase/u32-totitle-tests: New file.
25987         * tests/unicase/test-u32-totitle.c: New file.
25988
25989         Tests for module 'unicase/u16-totitle'.
25990         * modules/unicase/u16-totitle-tests: New file.
25991         * tests/unicase/test-u16-totitle.c: New file.
25992
25993         Tests for module 'unicase/u8-totitle'.
25994         * modules/unicase/u8-totitle-tests: New file.
25995         * tests/unicase/test-u8-totitle.c: New file.
25996
25997         New module 'unicase/u32-totitle'.
25998         * lib/unicase/u32-totitle.c: New file.
25999         * modules/unicase/u32-totitle: New file.
26000
26001         New module 'unicase/u16-totitle'.
26002         * lib/unicase/u16-totitle.c: New file.
26003         * modules/unicase/u16-totitle: New file.
26004
26005         New module 'unicase/u8-totitle'.
26006         * lib/unicase/u8-totitle.c: New file.
26007         * lib/unicase/u-totitle.h: New file.
26008         * modules/unicase/u8-totitle: New file.
26009
26010         Tests for module 'unicase/u32-tolower'.
26011         * modules/unicase/u32-tolower-tests: New file.
26012         * tests/unicase/test-u32-tolower.c: New file.
26013
26014         Tests for module 'unicase/u16-tolower'.
26015         * modules/unicase/u16-tolower-tests: New file.
26016         * tests/unicase/test-u16-tolower.c: New file.
26017
26018         Tests for module 'unicase/u8-tolower'.
26019         * modules/unicase/u8-tolower-tests: New file.
26020         * tests/unicase/test-u8-tolower.c: New file.
26021
26022         New module 'unicase/u32-tolower'.
26023         * lib/unicase/u32-tolower.c: New file.
26024         * modules/unicase/u32-tolower: New file.
26025
26026         New module 'unicase/u16-tolower'.
26027         * lib/unicase/u16-tolower.c: New file.
26028         * modules/unicase/u16-tolower: New file.
26029
26030         New module 'unicase/u8-tolower'.
26031         * lib/unicase/u8-tolower.c: New file.
26032         * modules/unicase/u8-tolower: New file.
26033
26034         Tests for module 'unicase/u32-toupper'.
26035         * modules/unicase/u32-toupper-tests: New file.
26036         * tests/unicase/test-u32-toupper.c: New file.
26037
26038         Tests for module 'unicase/u16-toupper'.
26039         * modules/unicase/u16-toupper-tests: New file.
26040         * tests/unicase/test-u16-toupper.c: New file.
26041
26042         Tests for module 'unicase/u8-toupper'.
26043         * modules/unicase/u8-toupper-tests: New file.
26044         * tests/unicase/test-u8-toupper.c: New file.
26045
26046         New module 'unicase/u32-toupper'.
26047         * lib/unicase/u32-toupper.c: New file.
26048         * modules/unicase/u32-toupper: New file.
26049
26050         New module 'unicase/u16-toupper'.
26051         * lib/unicase/u16-toupper.c: New file.
26052         * modules/unicase/u16-toupper: New file.
26053
26054         New module 'unicase/u8-toupper'.
26055         * lib/unicase/u8-toupper.c: New file.
26056         * modules/unicase/u8-toupper: New file.
26057
26058         New module 'unicase/u32-casemap'.
26059         * lib/unicase/u32-casemap.c: New file.
26060         * modules/unicase/u32-casemap: New file.
26061
26062         New module 'unicase/u16-casemap'.
26063         * lib/unicase/u16-casemap.c: New file.
26064         * modules/unicase/u16-casemap: New file.
26065
26066         New module 'unicase/u8-casemap'.
26067         * lib/unicase/unicasemap.h: New file.
26068         * lib/unicase/u8-casemap.c: New file.
26069         * lib/unicase/u-casemap.h: New file.
26070         * modules/unicase/u8-casemap: New file.
26071
26072         New module 'unicase/special-casing'.
26073         * lib/unicase/special-casing.h: New file.
26074         * lib/unicase/special-casing.c: New file.
26075         * lib/unicase/special-casing-table.gperf: New file, generated by
26076         gen-uni-tables.c.
26077         * modules/unicase/special-casing: New file.
26078
26079         Tests for module 'unicase/locale-language'.
26080         * modules/unicase/locale-language-tests: New file.
26081         * tests/unicase/test-locale-language.sh: New file.
26082         * tests/unicase/test-locale-language.c: New file.
26083
26084         New module 'unicase/locale-language'.
26085         * lib/unicase/locale-language.c: New file.
26086         * lib/unicase/locale-languages.gperf: New file.
26087         * modules/unicase/locale-language: New file.
26088
26089         Generate more tables for case conversion and case folding.
26090         * lib/gen-uni-tables.c (SCC_*): New enum items.
26091         (struct special_casing_rule): New type.
26092         (casing_rules, num_casing_rules, allocated_casing_rules): New
26093         variables.
26094         (add_casing_rule, fill_casing_rules): New functions.
26095         (struct casefold_rule): New type.
26096         (casefolding_rules, num_casefolding_rules,
26097         allocated_casefolding_rules): New variables.
26098         (fill_casefolding_rules): New function.
26099         (unicode_casefold): New variable.
26100         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
26101         sort_casing_rules, output_casing_rules): New functions.
26102         (main): Accept to more arguments: SpecialCasing.txt and
26103         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
26104         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
26105         Output mapping for casefolding.
26106
26107         * lib/unicase.h: Include stdbool.h, uninorm.h.
26108         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
26109         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
26110         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
26111         arguments.
26112         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
26113         resultp arguments.
26114         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
26115         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
26116         resultp arguments.
26117         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
26118         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
26119         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
26120         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
26121         declarations.
26122         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
26123
26124 2009-03-08  Bruno Haible  <bruno@clisp.org>
26125
26126         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
26127         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
26128         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
26129         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
26130
26131 2009-03-07  Bruno Haible  <bruno@clisp.org>
26132
26133         Adjust u*_normcmp, u*_normcoll API.
26134         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
26135         u16_normcoll, u32_normcoll): Change failure conventions.
26136         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
26137         errno and return -1.
26138         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
26139
26140 2009-03-07  Bruno Haible  <bruno@clisp.org>
26141
26142         Tests for module 'uninorm/u32-normcoll'.
26143         * modules/uninorm/u32-normcoll-tests: New file.
26144         * tests/uninorm/test-u32-normcoll.c: New file.
26145
26146         Tests for module 'uninorm/u16-normcoll'.
26147         * modules/uninorm/u16-normcoll-tests: New file.
26148         * tests/uninorm/test-u16-normcoll.c: New file.
26149
26150         Tests for module 'uninorm/u8-normcoll'.
26151         * modules/uninorm/u8-normcoll-tests: New file.
26152         * tests/uninorm/test-u8-normcoll.c: New file.
26153
26154 2009-03-07  Bruno Haible  <bruno@clisp.org>
26155
26156         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
26157         tests/uninorm/test-u32-normcmp.c.
26158         * tests/uninorm/test-u32-normcmp.c: Include it.
26159         (test_nonascii): New function, extracted from main. Add some more
26160         tests.
26161         (main): Invoke test_ascii and test_nonascii.
26162         * modules/uninorm/u32-normcmp-tests (Files): Add
26163         tests/uninorm/test-u32-normcmp.h.
26164         (Depends-on): Remove uninorm/u32-normcmp.
26165
26166         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
26167         tests/uninorm/test-u16-normcmp.c.
26168         * tests/uninorm/test-u16-normcmp.c: Include it.
26169         (test_nonascii): New function, extracted from main. Add some more
26170         tests.
26171         (main): Invoke test_ascii and test_nonascii.
26172         * modules/uninorm/u16-normcmp-tests (Files): Add
26173         tests/uninorm/test-u16-normcmp.h.
26174         (Depends-on): Remove uninorm/u16-normcmp.
26175
26176         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
26177         tests/uninorm/test-u8-normcmp.c.
26178         * tests/uninorm/test-u8-normcmp.c: Include it.
26179         (test_nonascii): New function, extracted from main. Add some more
26180         tests.
26181         (main): Invoke test_ascii and test_nonascii.
26182         * modules/uninorm/u8-normcmp-tests (Files): Add
26183         tests/uninorm/test-u8-normcmp.h.
26184         (Depends-on): Remove uninorm/u8-normcmp.
26185
26186 2009-03-07  Bruno Haible  <bruno@clisp.org>
26187
26188         New module 'uninorm/u32-normcoll'.
26189         * lib/uninorm/u32-normcoll.c: New file.
26190         * modules/uninorm/u32-normcoll: New file.
26191
26192         New module 'uninorm/u16-normcoll'.
26193         * lib/uninorm/u16-normcoll.c: New file.
26194         * modules/uninorm/u16-normcoll: New file.
26195
26196         New module 'uninorm/u8-normcoll'.
26197         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
26198         declarations.
26199         * lib/uninorm/u8-normcoll.c: New file.
26200         * lib/uninorm/u-normcoll.h: New file.
26201         * modules/uninorm/u8-normcoll: New file.
26202
26203         New module 'uninorm/u32-normxfrm'.
26204         * lib/uninorm/u32-normxfrm.c: New file.
26205         * modules/uninorm/u32-normxfrm: New file.
26206
26207         New module 'uninorm/u16-normxfrm'.
26208         * lib/uninorm/u16-normxfrm.c: New file.
26209         * modules/uninorm/u16-normxfrm: New file.
26210
26211         New module 'uninorm/u8-normxfrm'.
26212         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
26213         declarations.
26214         * lib/uninorm/u8-normxfrm.c: New file.
26215         * lib/uninorm/u-normxfrm.h: New file.
26216         * modules/uninorm/u8-normxfrm: New file.
26217
26218 2009-03-07  Bruno Haible  <bruno@clisp.org>
26219
26220         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
26221         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
26222         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
26223
26224 2009-03-07  Bruno Haible  <bruno@clisp.org>
26225
26226         New module 'memxfrm'.
26227         * lib/memxfrm.h: New file.
26228         * lib/memxfrm.c: New file.
26229         * modules/memxfrm: New file.
26230
26231 2009-03-07  Bruno Haible  <bruno@clisp.org>
26232
26233         New module 'memcmp2'.
26234         * lib/memcmp2.h: New file.
26235         * lib/memcmp2.c: New file.
26236         * modules/memcmp2: New file.
26237
26238 2009-03-07  Bruno Haible  <bruno@clisp.org>
26239
26240         Tests for module 'uninorm/decomposing-form'.
26241         * modules/uninorm/decomposing-form-tests: New file.
26242         * tests/uninorm/test-decomposing-form.c: New file.
26243
26244         New module 'uninorm/decomposing-form'.
26245         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
26246         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
26247         Add 'decomposing_variant' field.
26248         * lib/uninorm/decomposing-form.c: New file.
26249         * lib/uninorm/nfc.c (uninorm_nfc): Update.
26250         * lib/uninorm/nfd.c (uninorm_nfd): Update.
26251         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
26252         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
26253         * modules/uninorm/decomposing-form: New file.
26254         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
26255         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
26256
26257 2009-03-07  Bruno Haible  <bruno@clisp.org>
26258
26259         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
26260         strings.
26261
26262 2009-03-06  Bruno Haible  <bruno@clisp.org>
26263
26264         Tests for module 'uninorm/u32-normcmp'.
26265         * tests/uninorm/test-u32-normcmp.c: New file.
26266         * modules/uninorm/u32-normcmp-tests: New file.
26267
26268         Tests for module 'uninorm/u16-normcmp'.
26269         * tests/uninorm/test-u16-normcmp.c: New file.
26270         * modules/uninorm/u16-normcmp-tests: New file.
26271
26272         Tests for module 'uninorm/u8-normcmp'.
26273         * tests/uninorm/test-u8-normcmp.c: New file.
26274         * modules/uninorm/u8-normcmp-tests: New file.
26275
26276         New module 'uninorm/u32-normcmp'.
26277         * lib/uninorm/u32-normcmp.c: New file.
26278         * modules/uninorm/u32-normcmp: New file.
26279
26280         New module 'uninorm/u16-normcmp'.
26281         * lib/uninorm/u16-normcmp.c: New file.
26282         * modules/uninorm/u16-normcmp: New file.
26283
26284         New module 'uninorm/u8-normcmp'.
26285         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
26286         declarations.
26287         * lib/uninorm/u8-normcmp.c: New file.
26288         * lib/uninorm/u-normcmp.h: New file.
26289         * modules/uninorm/u8-normcmp: New file.
26290
26291 2009-03-06  Bruno Haible  <bruno@clisp.org>
26292
26293         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
26294         Reported by Eric Blake.
26295
26296 2009-03-06  Eric Blake  <ebb9@byu.net>
26297             Bruno Haible  <bruno@clisp.org>
26298
26299         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
26300         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
26301         condition.
26302         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
26303         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
26304         condition.
26305         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
26306
26307 2009-03-06  Eric Blake  <ebb9@byu.net>
26308
26309         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
26310         to avoid compiler warnings.
26311         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
26312
26313 2009-03-05  Bruno Haible  <bruno@clisp.org>
26314
26315         * tests/test-ftell.c (main): Disable test beyond end of file on
26316         FreeMiNT.
26317         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
26318
26319 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
26320
26321         * lib/filevercmp.c: Move hidden files up in ordering.
26322         * tests/test-filevercmp.c: Add tests for hidden files.
26323
26324 2009-03-04  Bruno Haible  <bruno@clisp.org>
26325
26326         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
26327         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
26328         AM_CFLAGS.
26329         Reported by Simon Josefsson.
26330
26331 2009-03-03  Bruno Haible  <bruno@clisp.org>
26332
26333         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
26334         Reported by Simon Josefsson.
26335
26336         * doc/ld-version-script.texi: Update node reference.
26337
26338 2009-03-03  Bruno Haible  <bruno@clisp.org>
26339
26340         * modules/visibility (License): Change to 'unlimited'.
26341         Suggested by Simon Josefsson.
26342
26343 2009-03-03  Jim Meyering  <meyering@redhat.com>
26344
26345         unlinkdir: cannot_unlink_dir may modify process state
26346         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
26347         it's neither thread-safe nor appropriate for use in a library.
26348
26349 2009-03-03  Eric Blake  <ebb9@byu.net>
26350
26351         test-closein: silence test under Darwin
26352         * tests/test-closein.sh: Ignore stderr from cat, since we don't
26353         care if it dies from EPIPE or EBADF.
26354
26355 2009-03-03  Bruno Haible  <bruno@clisp.org>
26356
26357         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
26358         earlier.
26359         * doc/visibility.texi: Fix @node and @section.
26360
26361 2009-03-03  Simon Josefsson  <simon@josefsson.org>
26362
26363         * doc/gnulib.texi: Link to sections for ld version script and
26364         visibility.
26365         * doc/visibility.texi: Add @node and @section.
26366         * modules/ld-version-script: New module.
26367         * m4/ld-version-script.m4: New file.
26368         * doc/ld-version-script.texi: New file.
26369
26370 2009-03-02  David Lutterkort  <lutter@redhat.com>
26371
26372         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
26373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26374
26375 2009-03-02  Bruno Haible  <bruno@clisp.org>
26376
26377         * doc/visibility.texi: Mention libtool's -export-symbols option.
26378
26379 2009-03-02  Jim Meyering  <meyering@redhat.com>
26380
26381         announce-gen: new option: --no-print-checksums
26382         * build-aux/announce-gen (usage): Describe it.
26383         (print_checksums): Print a newline here, not in the [*] footnote.
26384         (main): Honor it.
26385
26386 2009-03-01  Bruno Haible  <bruno@clisp.org>
26387
26388         Use socklen_t in the native Windows replacements prototypes.
26389         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
26390         instead of 'int'.
26391         * lib/getsockopt.c (rpl_getsockopt): Likewise.
26392         * lib/setsockopt.c (rpl_setsockopt): Likewise.
26393         * modules/getsockopt (Depends-on): Add socklen.
26394         * modules/setsockopt (Depends-on): Add socklen.
26395
26396 2009-03-01  Bruno Haible  <bruno@clisp.org>
26397
26398         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
26399         least 4.2.
26400
26401 2009-03-01  Eric Blake  <ebb9@byu.net>
26402             Bruno Haible  <bruno@clisp.org>
26403
26404         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
26405         error messages.
26406         * lib/wait-process.c (wait_subprocess): Omit error message about
26407         deadly signal sent to the child of termsigp != NULL.
26408
26409 2009-03-01  Eric Blake  <ebb9@byu.net>
26410
26411         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
26412
26413 2009-03-01  Bruno Haible  <bruno@clisp.org>
26414
26415         Avoid a gcc warning.
26416         * tests/test-sched.c (b): Make global.
26417         Reported by Eric Blake.
26418
26419 2009-01-19  Martin Lambers  <marlam@marlam.de>
26420
26421         Provide POSIX semantics for socket timeout options on W32.
26422         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
26423         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
26424         * modules/setsockopt: Depend on sys_time module for struct timeval.
26425         * modules/getsockopt: Depend on sys_time module for struct timeval.
26426
26427 2009-03-01  Simon Josefsson  <simon@josefsson.org>
26428
26429         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
26430         __USE_GNU, for consistency with netdb.in.h.
26431         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26432
26433 2009-03-01  Bruno Haible  <bruno@clisp.org>
26434
26435         More support for FreeMiNT.
26436         * lib/fseeko.c (rpl_fseeko): Complete last commit.
26437         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26438
26439 2009-03-01  Bruno Haible  <bruno@clisp.org>
26440
26441         More support for FreeMiNT.
26442         * lib/fpurge.c (fpurge): Correct last commit.
26443         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26444
26445 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26446
26447         Fix unportable awk script in vc-list-files.
26448         * build-aux/vc-list-files: In the replacement awk script, use
26449         substr with a second argument of 1, not zero.
26450         Report by Simon Josefsson.
26451
26452 2009-02-28  Bruno Haible  <bruno@clisp.org>
26453
26454         More support for FreeMiNT.
26455         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
26456         to FreeMiNT today.
26457         * lib/fwriting.c (fwriting): Likewise.
26458         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
26459
26460 2009-02-28  Bruno Haible  <bruno@clisp.org>
26461
26462         * tests/test-freadseek.c (main): Disable test beyond end of file on
26463         FreeMiNT.
26464         * tests/test-ftello.c (main): Likewise.
26465         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
26466
26467 2009-02-28  Bruno Haible  <bruno@clisp.org>
26468
26469         Add tentative support for FreeMiNT.
26470         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
26471         * lib/fpurge.c (fpurge): Likewise.
26472         * lib/freadable.c (freadable): Likewise.
26473         * lib/freading.c (freading): Likewise.
26474         * lib/freadptr.c (freadptr): Likewise.
26475         * lib/freadseek.c (freadptrinc): Likewise.
26476         * lib/fseeko.c (rpl_fseeko): Likewise.
26477         * lib/fseterr.c (fseterr): Likewise.
26478         * lib/fwritable.c (fwritable): Likewise.
26479         * lib/fwriting.c (fwriting): Likewise.
26480         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
26481         Hourihane.
26482         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26483
26484 2009-02-28  Bruno Haible  <bruno@clisp.org>
26485
26486         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
26487         SIGCHLD.
26488         Reported by Jim Meyering.
26489
26490 2009-02-28  Bruno Haible  <bruno@clisp.org>
26491
26492         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
26493         Mention the results of these tests on various platforms.
26494         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
26495         order.
26496         * doc/posix-functions/printf.texi: Likewise.
26497         * doc/posix-functions/snprintf.texi: Likewise.
26498         * doc/posix-functions/sprintf.texi: Likewise.
26499         * doc/posix-functions/vfprintf.texi: Likewise.
26500         * doc/posix-functions/vprintf.texi: Likewise.
26501         * doc/posix-functions/vsnprintf.texi: Likewise.
26502         * doc/posix-functions/vsprintf.texi: Likewise.
26503         * doc/glibc-functions/obstack_printf.texi: Likewise.
26504         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
26505
26506 2009-02-28  Bruno Haible  <bruno@clisp.org>
26507
26508         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
26509         Reported by Loïc Minier <lool@dooz.org>.
26510
26511 2009-02-27  Bruno Haible  <bruno@clisp.org>
26512
26513         * gnulib-tool (func_import): Make the sed expression used to create the
26514         sed script for updating the .gitignore file POSIX compliant.
26515         Reported by Eric Blake.
26516
26517 2009-02-27  Bruno Haible  <bruno@clisp.org>
26518
26519         * gnulib-tool (sed): Don't alias as "sed --posix".
26520         Reported by Eric Blake.
26521
26522 2009-02-27  Bruno Haible  <bruno@clisp.org>
26523
26524         Avoid test link errors.
26525         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
26526         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
26527         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
26528         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
26529         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26530
26531 2009-02-27  Bruno Haible  <bruno@clisp.org>
26532
26533         Avoid spurious "(cached)" in configure output.
26534         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
26535         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
26536         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26537         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26538         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26539         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26540         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26541         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26542         Reported by Eric Blake.
26543
26544 2009-02-27  Eric Blake  <ebb9@byu.net>
26545
26546         printf: fix regression in previous patch
26547         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
26548
26549 2009-02-27  Bruno Haible  <bruno@clisp.org>
26550
26551         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
26552         value.
26553         * lib/stdint.in.h: Likewise.
26554         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
26555
26556 2009-02-27  Eric Blake  <ebb9@byu.net>
26557
26558         doc: mention more functions added in cygwin 1.7.0
26559         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
26560         addition.
26561         * doc/posix-functions/open_wmemstream.texi: Likewise.
26562         * doc/posix-functions/wcsnlen.texi: Likewise.
26563         * doc/posix-functions/wcsnrtombs.texi: Likewise.
26564         * doc/posix-functions/wcstod.texi: Likewise.
26565         * doc/posix-functions/wcstof.texi: Likewise.
26566         * doc/posix-functions/wcstoimax.texi: Likewise.
26567         * doc/posix-functions/wcstok.texi: Likewise.
26568         * doc/posix-functions/wcstoumax.texi: Likewise.
26569
26570         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
26571         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
26572         * doc/posix-functions/fprintf.texi: Update.
26573         * doc/posix-functions/printf.texi: Update.
26574         * doc/posix-functions/snprintf.texi: Update.
26575         * doc/posix-functions/sprintf.texi: Update.
26576         * doc/posix-functions/vfprintf.texi: Update.
26577         * doc/posix-functions/vprintf.texi: Update.
26578         * doc/posix-functions/vsnprintf.texi: Update.
26579         * doc/posix-functions/vsprintf.texi: Update.
26580         * doc/glibc-functions/obstack_printf.texi: Update.
26581         * doc/glibc-functions/obstack_vprintf.texi: Update.
26582
26583 2009-02-26  Eric Blake  <ebb9@byu.net>
26584
26585         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
26586         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
26587         compilation bug by using runtime conversion.
26588         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
26589         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
26590         * modules/ceill-tests (Files): Use nan.h.
26591         * modules/floorl-tests (Files): Likewise.
26592         * modules/frexpl-tests (Files): Likewise.
26593         * modules/isnanl-tests (Files): Likewise.
26594         * modules/ldexpl-tests (Files): Likewise.
26595         * modules/roundl-tests (Files): Likewise.
26596         * modules/truncl-tests (Files): Likewise.
26597         * tests/test-ceill.c (main): Use a working NaN.
26598         * tests/test-floorl.c (main): Likewise.
26599         * tests/test-frexpl.c (main): Likewise.
26600         * tests/test-isnan.c (test_long_double): Likewise.
26601         * tests/test-isnanl.h (main): Likewise.
26602         * tests/test-ldexpl.h (main): Likewise.
26603         * tests/test-roundl.h (main): Likewise.
26604         * tests/test-truncl.h (main): Likewise.
26605         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
26606
26607 2009-02-26  Eric Blake  <ebb9@byu.net>
26608             Bruno Haible  <bruno@clisp.org>
26609
26610         Work around a *printf bug with %ls on Solaris.
26611         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
26612         precision is specified, sprintf stops converting the wide string
26613         argument when the number of bytes that have been produced by this
26614         conversion equals or exceeds the precision.
26615         * doc/posix-functions/fprintf.texi: Update.
26616         * doc/posix-functions/printf.texi: Update.
26617         * doc/posix-functions/snprintf.texi: Update.
26618         * doc/posix-functions/sprintf.texi: Update.
26619         * doc/posix-functions/vfprintf.texi: Update.
26620         * doc/posix-functions/vprintf.texi: Update.
26621         * doc/posix-functions/vsnprintf.texi: Update.
26622         * doc/posix-functions/vsprintf.texi: Update.
26623         * doc/glibc-functions/obstack_printf.texi: Update.
26624         * doc/glibc-functions/obstack_vprintf.texi: Update.
26625
26626 2009-02-26  Eric Blake  <ebb9@byu.net>
26627
26628         stdlib: favor compiler check of random.h
26629         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
26630         to avoid an ObjC random.h installed by Swarm.
26631
26632 2009-02-26  Bruno Haible  <bruno@clisp.org>
26633
26634         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
26635         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
26636         Reported by Gary V. Vaughan <gary@gnu.org>.
26637
26638 2009-02-26  Bruno Haible  <bruno@clisp.org>
26639
26640         Fix *printf behaviour regarding the %ls directive.
26641         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
26642         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
26643         NEED_PRINTF_DIRECTIVE_LS.
26644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
26645         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
26646         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26647         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
26648         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
26649         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
26650         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
26651         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26652         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26653         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26654         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26655         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
26656         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26658         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26659         * doc/posix-functions/fprintf.texi: Update.
26660         * doc/posix-functions/printf.texi: Update.
26661         * doc/posix-functions/snprintf.texi: Update.
26662         * doc/posix-functions/sprintf.texi: Update.
26663         * doc/posix-functions/vfprintf.texi: Update.
26664         * doc/posix-functions/vprintf.texi: Update.
26665         * doc/posix-functions/vsnprintf.texi: Update.
26666         * doc/posix-functions/vsprintf.texi: Update.
26667         * doc/glibc-functions/obstack_printf.texi: Update.
26668         * doc/glibc-functions/obstack_vprintf.texi: Update.
26669         Reported by Eric Blake.
26670
26671 2009-02-25  Bruno Haible  <bruno@clisp.org>
26672
26673         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
26674         with known value.
26675         Reported by Gary V. Vaughan <gary@gnu.org>.
26676
26677 2009-02-25  Bruno Haible  <bruno@clisp.org>
26678
26679         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
26680         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
26681         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
26682         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
26683         Reported by Gary V. Vaughan <gary@gnu.org>.
26684
26685 2009-02-25  Bruno Haible  <bruno@clisp.org>
26686
26687         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
26688         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
26689         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
26690         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
26691         Reported by Gary V. Vaughan <gary@gnu.org>.
26692
26693 2009-02-25  Eric Blake  <ebb9@byu.net>
26694
26695         tests: skip fseek/ftell tests if ungetc is broken
26696         * m4/ungetc.m4: New file.
26697         * modules/fseek-tests: Split test, so ungetc dependency is
26698         separate from rest of test.
26699         * modules/fseeko-tests: Likewise.
26700         * modules/ftell-tests: Likewise.
26701         * modules/ftello-tests: Likewise.
26702         * tests/test-fseek.c (main): Isolate ungetc dependency.
26703         * tests/test-fseeko.c (main): Likewise.
26704         * tests/test-ftell.c (main): Likewise.
26705         * tests/test-ftello.c (main): Likewise.
26706         * tests/test-fseek2.sh: New file.
26707         * tests/test-fseeko2.sh: Likewise.
26708         * tests/test-ftell2.sh: Likewise.
26709         * tests/test-ftello2.sh: Likewise.
26710
26711 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
26712
26713         test-getaddrinfo: fix usage of skip return code 77
26714         * tests/test-gettaddrinfo.c: Return skip code 77 only
26715         for first occurance of skip (4x77 is not 77)
26716
26717 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
26718
26719         strtod: avoid C99 decl-after-statement
26720         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
26721
26722 2009-02-24  Eric Blake  <ebb9@byu.net>
26723
26724         strtod: detect HP-UX 11.31 bug
26725         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
26726         Reported by Gary V. Vaughan.
26727
26728 2009-02-23  Bruno Haible  <bruno@clisp.org>
26729
26730         Fix invalid read past end of memory block.
26731         * lib/vasnprintf.c (DCHAR_SET): Define.
26732         (local_wcslen): Define only when needed.
26733         (local_strnlen, local_wcsnlen): New functions.
26734         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
26735         directives that involve a conversion ourselves.
26736         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
26737         wcsnlen, mbrtowc, wcrtomb.
26738         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
26739         * tests/test-vasprintf-posix.c (test_function): Likewise.
26740         * tests/test-snprintf-posix.h (test_function): Likewise.
26741         * tests/test-sprintf-posix.h (test_function): Likewise.
26742         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26743
26744 2009-02-22  Bruno Haible  <bruno@clisp.org>
26745
26746         Implement new clarified decomposition of Hangul syllables.
26747         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
26748         of type LTV, return only a pairwise decomposition.
26749         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
26750         Likewise.
26751         * tests/uninorm/test-decomposition.c (main): Updated expected result.
26752         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
26753         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
26754
26755 2009-02-22  Bruno Haible  <bruno@clisp.org>
26756
26757         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
26758         zero-length results and shrink excess allocated memory.
26759         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
26760         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
26761         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
26762         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
26763         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
26764         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
26765         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
26766         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
26767         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
26768         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
26769         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
26770         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
26771
26772 2009-02-21  Bruno Haible  <bruno@clisp.org>
26773
26774         * doc/gnulib.texi: Include safe-alloc.texi earlier.
26775         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
26776         spaces after a period. Put a space between a macro name and its
26777         argument list. Trivial rewordings.
26778         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
26779         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
26780         (main): Return 0 explicitly.
26781
26782 2009-02-21  Bruno Haible  <bruno@clisp.org>
26783
26784         Tests for module 'uninorm/filter'.
26785         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
26786         * modules/uninorm/filter-tests: New file.
26787
26788         New module 'uninorm/filter'.
26789         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
26790         uninorm_filter_flush, uninorm_filter_free): New declarations.
26791         * lib/uninorm/uninorm-filter.c: New file.
26792         * modules/uninorm/filter: New file.
26793
26794 2009-02-21  Bruno Haible  <bruno@clisp.org>
26795
26796         Tests for module 'uninorm/nfkc'.
26797         * tests/uninorm/test-nfkc.c: New file.
26798         * tests/uninorm/test-u8-nfkc.c: New file.
26799         * tests/uninorm/test-u16-nfkc.c: New file.
26800         * tests/uninorm/test-u32-nfkc.c: New file.
26801         * tests/uninorm/test-u32-nfkc-big.sh: New file.
26802         * tests/uninorm/test-u32-nfkc-big.c: New file.
26803         * modules/uninorm/nfkc-tests: New file.
26804
26805         New module 'uninorm/nfkc'.
26806         * lib/uninorm/nfkc.c: New file.
26807         * modules/uninorm/nfkc: New file.
26808
26809         Tests for module 'uninorm/nfkd'.
26810         * tests/uninorm/test-nfkd.c: New file.
26811         * tests/uninorm/test-u8-nfkd.c: New file.
26812         * tests/uninorm/test-u16-nfkd.c: New file.
26813         * tests/uninorm/test-u32-nfkd.c: New file.
26814         * tests/uninorm/test-u32-nfkd-big.sh: New file.
26815         * tests/uninorm/test-u32-nfkd-big.c: New file.
26816         * modules/uninorm/nfkd-tests: New file.
26817
26818         New module 'uninorm/nfkd'.
26819         * lib/uninorm/nfkd.c: New file.
26820         * modules/uninorm/nfkd: New file.
26821
26822         Tests for module 'uninorm/nfc'.
26823         * tests/uninorm/test-nfc.c: New file.
26824         * tests/uninorm/test-u8-nfc.c: New file.
26825         * tests/uninorm/test-u16-nfc.c: New file.
26826         * tests/uninorm/test-u32-nfc.c: New file.
26827         * tests/uninorm/test-u32-nfc-big.sh: New file.
26828         * tests/uninorm/test-u32-nfc-big.c: New file.
26829         * modules/uninorm/nfc-tests: New file.
26830
26831         New module 'uninorm/nfc'.
26832         * lib/uninorm/nfc.c: New file.
26833         * modules/uninorm/nfc: New file.
26834
26835         Tests for module 'uninorm/nfd'.
26836         * tests/uninorm/test-nfd.c: New file.
26837         * tests/uninorm/test-u8-nfd.c: New file.
26838         * tests/uninorm/test-u16-nfd.c: New file.
26839         * tests/uninorm/test-u32-nfd.c: New file.
26840         * tests/uninorm/test-u32-nfd-big.sh: New file.
26841         * tests/uninorm/test-u32-nfd-big.c: New file.
26842         * tests/uninorm/test-u32-normalize-big.h: New file.
26843         * tests/uninorm/test-u32-normalize-big.c: New file.
26844         * tests/uninorm/NormalizationTest.txt: New file, created from
26845         Unicode 5.1.0 NormalizationTest.txt.
26846         * modules/uninorm/nfd-tests: New file.
26847
26848         New module 'uninorm/nfd'.
26849         * lib/uninorm/nfd.c: New file.
26850         * modules/uninorm/nfd: New file.
26851
26852         New module 'uninorm/u32-normalize'.
26853         * lib/uninorm/u32-normalize.c: New file.
26854         * modules/uninorm/u32-normalize: New file.
26855
26856         New module 'uninorm/u16-normalize'.
26857         * lib/uninorm/u16-normalize.c: New file.
26858         * modules/uninorm/u16-normalize: New file.
26859
26860         New module 'uninorm/u8-normalize'.
26861         * lib/uninorm/u8-normalize.c: New file.
26862         * lib/uninorm/normalize-internal.h: New file.
26863         * lib/uninorm/u-normalize-internal.h: New file.
26864         * modules/uninorm/u8-normalize: New file.
26865
26866         New module 'uninorm/decompose-internal'.
26867         * lib/uninorm/decompose-internal.c: New file.
26868         * modules/uninorm/decompose-internal: New file.
26869
26870         Tests for module 'uninorm/composition'.
26871         * tests/uninorm/test-composition.c: New file.
26872         * modules/uninorm/composition-tests: New file.
26873
26874         New module 'uninorm/composition'.
26875         * lib/uninorm/composition.c: New file.
26876         * lib/uninorm/composition-table.gperf: New file, generated by
26877         gen-uni-tables.
26878         * modules/uninorm/composition: New file.
26879
26880         Tests for module 'uninorm/compat-decomposition'.
26881         * tests/uninorm/test-compat-decomposition.c: New file.
26882         * modules/uninorm/compat-decomposition-tests: New file.
26883
26884         New module 'uninorm/compat-decomposition'.
26885         * lib/uninorm/decompose-internal.h: New file.
26886         * lib/uninorm/compat-decomposition.c: New file.
26887         * modules/uninorm/compat-decomposition: New file.
26888
26889         Tests for module 'uninorm/canonical-decomposition'.
26890         * tests/uninorm/test-canonical-decomposition.c: New file.
26891         * modules/uninorm/canonical-decomposition-tests: New file.
26892
26893         New module 'uninorm/canonical-decomposition'.
26894         * lib/uninorm/canonical-decomposition.c: New file.
26895         * modules/uninorm/canonical-decomposition: New file.
26896
26897         Tests for module 'uninorm/decomposition'.
26898         * tests/uninorm/test-decomposition.c: New file.
26899         * modules/uninorm/decomposition-tests: New file.
26900
26901         New module 'uninorm/decomposition'.
26902         * lib/uninorm/decomposition.c: New file.
26903         * modules/uninorm/decomposition: New file.
26904
26905         New module 'uninorm/decomposition-table'.
26906         * lib/uninorm/decomposition-table.h: New file.
26907         * lib/uninorm/decomposition-table.c: New file.
26908         * lib/uninorm/decomposition-table1.h: New file, generated by
26909         gen-uni-tables.
26910         * lib/uninorm/decomposition-table2.h: New file, generated by
26911         gen-uni-tables.
26912         * modules/uninorm/decomposition-table: New file.
26913
26914         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
26915         (UC_DECOMP_*): New enumeration items.
26916         (get_decomposition): New function.
26917         (struct decomp_table): New type.
26918         (output_decomposition, output_decomposition_tables): New functions.
26919         (unicode_composition_exclusions): New variable.
26920         (fill_composition_exclusions, debug_output_composition_tables): New
26921         functions.
26922         (main): Accept one more argument. Invoke fill_composition_exclusions.
26923         Output decomposition and composition tables.
26924
26925         New module 'uninorm/base'.
26926         * lib/uninorm.h: New file.
26927         * lib/unictype.h: Update comment.
26928         * modules/uninorm/base: New file.
26929
26930 2009-02-21  David Lutterkort  <lutter@redhat.com>
26931
26932         Tests for module 'safe-alloc'.
26933         * tests/test-safe-alloc.c: New file.
26934         * modules/safe-alloc-tests: New file.
26935
26936         New module 'safe-alloc'.
26937         * lib/safe-alloc.h: New file.
26938         * lib/safe-alloc.c: New file.
26939         * m4/safe-alloc.m4: New file.
26940         * modules/safe-alloc: New file.
26941         * doc/safe-alloc.texi: New file.
26942         * doc/gnulib.texi: Include it.
26943         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26944         safe-alloc.
26945
26946 2009-02-18  Bruno Haible  <bruno@clisp.org>
26947
26948         Fix link error on non-glibc systems.
26949         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
26950         variable.
26951         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26952
26953 2009-02-18  Jim Meyering  <meyering@redhat.com>
26954
26955         fts: avoid used-uninitialized error due to recent change
26956         * lib/fts.c (fts_read): Guard uses of the new member,
26957         parent->fts_n_dirs_remaining, since it's not relevant for
26958         the parent of a directory specified on the command-line.
26959
26960 2009-02-17  James Youngman  <jay@gnu.org>
26961             Bruno Haible  <bruno@clisp.org>
26962
26963         * m4/include_next.m4: Reformulate comment.
26964
26965 2009-02-16  Jim Meyering  <meyering@redhat.com>
26966
26967         fts: add #if guards so that the fts_lgpl module still builds
26968         * lib/fts.c: Guard just-added hash-table-using parts with
26969         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
26970         Reported by Simon Josefsson.
26971
26972 2009-02-15  Bruno Haible  <bruno@clisp.org>
26973
26974         * modules/array-mergesort-tests: New file.
26975         * tests/test-array-mergesort.c: New file.
26976
26977         New module 'array-mergesort'.
26978         * modules/array-mergesort: New file.
26979         * lib/array-mergesort.h: New file.
26980
26981 2009-02-15  Bruno Haible  <bruno@clisp.org>
26982
26983         Fix 2009-02-07 commit.
26984         * lib/gen-uni-tables.c (output_predicate, output_category,
26985         output_combclass, output_bidi_category, output_decimal_digit,
26986         output_digit, output_numeric, output_mirror, output_scripts,
26987         output_ident_category, output_simple_mapping): Fix format directives.
26988         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
26989
26990 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
26991
26992         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
26993         fixes are available from IBM.
26994
26995 2009-02-13  Jim Meyering  <meyering@redhat.com>
26996
26997         fts: arrange not to stat non-directories in more cases
26998         This makes GNU find (when it doesn't need to stat each file)
26999         *much* more efficient at traversing reiserfs file systems.
27000         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
27001         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
27002         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
27003         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
27004         (leaf_optimization_applies): New function.
27005         (LCO_hash, LCO_compare): New helper functions.
27006         (link_count_optimize_ok): New function.
27007         (fts_stat): Initialize new member (if dir).
27008         (fts_read): Decrement parent's fts_n_dirs_remaining count if
27009         we've just stat'ed a directory.  Skip the stat call when possible.
27010         ---
27011         Note this AFS-related exchange:
27012         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
27013         and note find's pioctl call in find/fstype.c.
27014         But that is necessary only if you want to enable the
27015         optimization for AFS, and for now, I don't.
27016
27017         fts: move a function definition "up" (no semantic change)
27018         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
27019         "up" to precede upcoming use of a related function.
27020
27021 2009-02-11  Jim Meyering  <meyering@redhat.com>
27022
27023         fts: correct internal computation of nlinks (optimization-related)
27024         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
27025         whether the current entry is a directory, so don't test it.
27026
27027 2009-02-10  Bruno Haible  <bruno@clisp.org>
27028
27029         Tests for module 'uniwbrk/ulc-wordbreaks'.
27030         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
27031         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
27032         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
27033
27034         Tests for module 'uniwbrk/u32-wordbreaks'.
27035         * modules/uniwbrk/u32-wordbreaks-tests: New file.
27036         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
27037
27038         Tests for module 'uniwbrk/u16-wordbreaks'.
27039         * modules/uniwbrk/u16-wordbreaks-tests: New file.
27040         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
27041
27042         Tests for module 'uniwbrk/u8-wordbreaks'.
27043         * modules/uniwbrk/u8-wordbreaks-tests: New file.
27044         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
27045
27046 2009-02-10  Bruno Haible  <bruno@clisp.org>
27047
27048         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
27049         property.
27050         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
27051         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
27052         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
27053
27054 2009-02-10  Simon Josefsson  <simon@josefsson.org>
27055
27056         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
27057         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
27058
27059 2009-02-10  Bruno Haible  <bruno@clisp.org>
27060
27061         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
27062         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
27063         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
27064         * lib/unilbrk/u8-possible-linebreaks.c: Update.
27065         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
27066         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
27067
27068 2009-02-09  Simon Josefsson  <simon@josefsson.org>
27069
27070         * lib/sockets.h (gl_fd_to_handle): New function.
27071
27072         * tests/test-sockets.c: Call gl_fd_to_handle.
27073
27074 2009-02-09  Bruno Haible  <bruno@clisp.org>
27075
27076         * doc/havelib.texi: Document the conventions on bi-arch systems.
27077
27078 2009-02-08  Bruno Haible  <bruno@clisp.org>
27079
27080         Document the AC_LIB_LINKFLAGS macro.
27081         * doc/havelib.texi: New file, mostly written on 2005-05-24.
27082         * doc/gnulib.texi: Include it.
27083
27084 2009-02-08  Bruno Haible  <bruno@clisp.org>
27085
27086         Fix wrong order of sections, compared to TOC.
27087         * doc/gnulib.texi: Include relocatable-maint.texi after the
27088         "Regular expressions" node, not before.
27089
27090 2009-02-08  Bruno Haible  <bruno@clisp.org>
27091
27092         Tests for module 'unicase/totitle'.
27093         * modules/unicase/totitle-tests: New file.
27094
27095         Tests for module 'unicase/tolower'.
27096         * modules/unicase/tolower-tests: New file.
27097
27098         Tests for module 'unicase/toupper'.
27099         * modules/unicase/toupper-tests: New file.
27100         * tests/unicase/test-mapping-part1.h: New file.
27101         * tests/unicase/test-mapping-part2.h: New file.
27102
27103         New module 'unicase/totitle'.
27104         * modules/unicase/totitle: New file.
27105         * lib/unicase/totitle.c: New file.
27106
27107         New module 'unicase/tolower'.
27108         * modules/unicase/tolower: New file.
27109         * lib/unicase/tolower.c: New file.
27110
27111         New module 'unicase/toupper'.
27112         * modules/unicase/toupper: New file.
27113         * lib/unicase/toupper.c: New file.
27114         * lib/unicase/simple-mapping.h: New file.
27115
27116         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
27117         (mapping_table): New structure.
27118         (output_simple_mapping): New function.
27119         (main): Invoke output_simple_mapping_test and output_simple_mapping.
27120         * modules/gen-uni-tables (Description): Update.
27121         * lib/unicase/toupper.h: New file, automatically generated by
27122         gen-uni-tables.
27123         * lib/unicase/tolower.h: New file, automatically generated by
27124         gen-uni-tables.
27125         * lib/unicase/totitle.h: New file, automatically generated by
27126         gen-uni-tables.
27127         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
27128         gen-uni-tables.
27129         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
27130         gen-uni-tables.
27131         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
27132         gen-uni-tables.
27133
27134         New module 'unicase/base'.
27135         * modules/unicase/base: New file.
27136         * lib/unicase.h: New file.
27137
27138 2009-02-08  Bruno Haible  <bruno@clisp.org>
27139
27140         New module 'uniwbrk/ulc-wordbreaks'.
27141         * modules/uniwbrk/ulc-wordbreaks: New file.
27142         * lib/uniwbrk/ulc-wordbreaks.c: New file.
27143
27144         New module 'uniwbrk/u32-wordbreaks'.
27145         * modules/uniwbrk/u32-wordbreaks: New file.
27146         * lib/uniwbrk/u32-wordbreaks.c: New file.
27147
27148         New module 'uniwbrk/u16-wordbreaks'.
27149         * modules/uniwbrk/u16-wordbreaks: New file.
27150         * lib/uniwbrk/u16-wordbreaks.c: New file.
27151
27152         New module 'uniwbrk/u8-wordbreaks'.
27153         * modules/uniwbrk/u8-wordbreaks: New file.
27154         * lib/uniwbrk/u8-wordbreaks.c: New file.
27155         * lib/uniwbrk/u-wordbreaks.h: New file.
27156
27157         New module 'uniwbrk/table'.
27158         * modules/uniwbrk/table: New file.
27159         * lib/uniwbrk/wbrktable.h: New file.
27160         * lib/uniwbrk/wbrktable.c: New file.
27161
27162         New module 'uniwbrk/wordbreak-property'.
27163         * modules/uniwbrk/wordbreak-property: New file.
27164         * lib/uniwbrk/wordbreak-property.c: New file.
27165
27166         * lib/gen-uni-tables.c (WBP_*): New enum items.
27167         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
27168         (unicode_org_wbp): New variable.
27169         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
27170         New functions.
27171         (wbp_table): New structure.
27172         (output_wbp, output_wbrk_tables): New functions.
27173         (main): Accept additional argument. Invoke fill_org_wbp,
27174         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
27175         output_wbrk_tables.
27176         * modules/gen-uni-tables (Description): Update.
27177         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
27178         gen-uni-tables.
27179
27180         New module 'uniwbrk/base'.
27181         * modules/uniwbrk/base: New file.
27182         * lib/uniwbrk.h: New file.
27183
27184 2009-02-08  Bruno Haible  <bruno@clisp.org>
27185
27186         Update to Unicode 5.1.0.
27187         * lib/gen-uni-tables.c (is_property_alphabetic): Include
27188         U+2185..U+2188.
27189         (is_property_default_ignorable_code_point): Don't include characters
27190         of category Cc or Cs and not-a-characters.
27191         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
27192         U+0D79, U+109E, U+109F, U+A60C.
27193         * lib/unictype/bidi_of.h: Regenerated.
27194         * lib/unictype/blocks.h: Regenerated.
27195         * lib/unictype/categ_C.h: Regenerated.
27196         * lib/unictype/categ_Cf.h: Regenerated.
27197         * lib/unictype/categ_Cn.h: Regenerated.
27198         * lib/unictype/categ_L.h: Regenerated.
27199         * lib/unictype/categ_Ll.h: Regenerated.
27200         * lib/unictype/categ_Lm.h: Regenerated.
27201         * lib/unictype/categ_Lo.h: Regenerated.
27202         * lib/unictype/categ_Lu.h: Regenerated.
27203         * lib/unictype/categ_M.h: Regenerated.
27204         * lib/unictype/categ_Mc.h: Regenerated.
27205         * lib/unictype/categ_Me.h: Regenerated.
27206         * lib/unictype/categ_Mn.h: Regenerated.
27207         * lib/unictype/categ_N.h: Regenerated.
27208         * lib/unictype/categ_Nd.h: Regenerated.
27209         * lib/unictype/categ_Nl.h: Regenerated.
27210         * lib/unictype/categ_No.h: Regenerated.
27211         * lib/unictype/categ_P.h: Regenerated.
27212         * lib/unictype/categ_Pd.h: Regenerated.
27213         * lib/unictype/categ_Pe.h: Regenerated.
27214         * lib/unictype/categ_Pf.h: Regenerated.
27215         * lib/unictype/categ_Pi.h: Regenerated.
27216         * lib/unictype/categ_Po.h: Regenerated.
27217         * lib/unictype/categ_Ps.h: Regenerated.
27218         * lib/unictype/categ_S.h: Regenerated.
27219         * lib/unictype/categ_Sk.h: Regenerated.
27220         * lib/unictype/categ_Sm.h: Regenerated.
27221         * lib/unictype/categ_So.h: Regenerated.
27222         * lib/unictype/categ_of.h: Regenerated.
27223         * lib/unictype/combining.h: Regenerated.
27224         * lib/unictype/ctype_alnum.h: Regenerated.
27225         * lib/unictype/ctype_alpha.h: Regenerated.
27226         * lib/unictype/ctype_graph.h: Regenerated.
27227         * lib/unictype/ctype_lower.h: Regenerated.
27228         * lib/unictype/ctype_print.h: Regenerated.
27229         * lib/unictype/ctype_punct.h: Regenerated.
27230         * lib/unictype/ctype_upper.h: Regenerated.
27231         * lib/unictype/decdigit.h: Regenerated.
27232         * lib/unictype/digit.h: Regenerated.
27233         * lib/unictype/mirror.h: Regenerated.
27234         * lib/unictype/numeric.h: Regenerated.
27235         * lib/unictype/pr_alphabetic.h: Regenerated.
27236         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
27237         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
27238         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
27239         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
27240         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
27241         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
27242         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
27243         * lib/unictype/pr_combining.h: Regenerated.
27244         * lib/unictype/pr_dash.h: Regenerated.
27245         * lib/unictype/pr_decimal_digit.h: Regenerated.
27246         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
27247         * lib/unictype/pr_deprecated.h: Regenerated.
27248         * lib/unictype/pr_diacritic.h: Regenerated.
27249         * lib/unictype/pr_extender.h: Regenerated.
27250         * lib/unictype/pr_format_control.h: Regenerated.
27251         * lib/unictype/pr_grapheme_base.h: Regenerated.
27252         * lib/unictype/pr_grapheme_extend.h: Regenerated.
27253         * lib/unictype/pr_grapheme_link.h: Regenerated.
27254         * lib/unictype/pr_id_continue.h: Regenerated.
27255         * lib/unictype/pr_id_start.h: Regenerated.
27256         * lib/unictype/pr_ideographic.h: Regenerated.
27257         * lib/unictype/pr_ignorable_control.h: Regenerated.
27258         * lib/unictype/pr_lowercase.h: Regenerated.
27259         * lib/unictype/pr_math.h: Regenerated.
27260         * lib/unictype/pr_numeric.h: Regenerated.
27261         * lib/unictype/pr_other_alphabetic.h: Regenerated.
27262         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
27263         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
27264         * lib/unictype/pr_other_id_continue.h: Regenerated.
27265         * lib/unictype/pr_other_lowercase.h: Regenerated.
27266         * lib/unictype/pr_other_math.h: Regenerated.
27267         * lib/unictype/pr_punctuation.h: Regenerated.
27268         * lib/unictype/pr_sentence_terminal.h: Regenerated.
27269         * lib/unictype/pr_soft_dotted.h: Regenerated.
27270         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
27271         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
27272         * lib/unictype/pr_unified_ideograph.h: Regenerated.
27273         * lib/unictype/pr_uppercase.h: Regenerated.
27274         * lib/unictype/pr_xid_continue.h: Regenerated.
27275         * lib/unictype/pr_xid_start.h: Regenerated.
27276         * lib/unictype/pr_zero_width.h: Regenerated.
27277         * lib/unictype/scripts.h: Regenerated.
27278         * lib/unictype/scripts_byname.gperf: Regenerated.
27279         * lib/unictype/sy_java_ident.h: Regenerated.
27280         * lib/unilbrk/lbrkprop1.h: Regenerated.
27281         * lib/unilbrk/lbrkprop2.h: Regenerated.
27282         * tests/unictype/test-categ_C.c: Regenerated.
27283         * tests/unictype/test-categ_Cf.c: Regenerated.
27284         * tests/unictype/test-categ_Cn.c: Regenerated.
27285         * tests/unictype/test-categ_L.c: Regenerated.
27286         * tests/unictype/test-categ_Ll.c: Regenerated.
27287         * tests/unictype/test-categ_Lm.c: Regenerated.
27288         * tests/unictype/test-categ_Lo.c: Regenerated.
27289         * tests/unictype/test-categ_Lu.c: Regenerated.
27290         * tests/unictype/test-categ_M.c: Regenerated.
27291         * tests/unictype/test-categ_Mc.c: Regenerated.
27292         * tests/unictype/test-categ_Me.c: Regenerated.
27293         * tests/unictype/test-categ_Mn.c: Regenerated.
27294         * tests/unictype/test-categ_N.c: Regenerated.
27295         * tests/unictype/test-categ_Nd.c: Regenerated.
27296         * tests/unictype/test-categ_Nl.c: Regenerated.
27297         * tests/unictype/test-categ_No.c: Regenerated.
27298         * tests/unictype/test-categ_P.c: Regenerated.
27299         * tests/unictype/test-categ_Pd.c: Regenerated.
27300         * tests/unictype/test-categ_Pe.c: Regenerated.
27301         * tests/unictype/test-categ_Pf.c: Regenerated.
27302         * tests/unictype/test-categ_Pi.c: Regenerated.
27303         * tests/unictype/test-categ_Po.c: Regenerated.
27304         * tests/unictype/test-categ_Ps.c: Regenerated.
27305         * tests/unictype/test-categ_S.c: Regenerated.
27306         * tests/unictype/test-categ_Sk.c: Regenerated.
27307         * tests/unictype/test-categ_Sm.c: Regenerated.
27308         * tests/unictype/test-categ_So.c: Regenerated.
27309         * tests/unictype/test-ctype_alnum.c: Regenerated.
27310         * tests/unictype/test-ctype_alpha.c: Regenerated.
27311         * tests/unictype/test-ctype_graph.c: Regenerated.
27312         * tests/unictype/test-ctype_lower.c: Regenerated.
27313         * tests/unictype/test-ctype_print.c: Regenerated.
27314         * tests/unictype/test-ctype_punct.c: Regenerated.
27315         * tests/unictype/test-ctype_upper.c: Regenerated.
27316         * tests/unictype/test-decdigit.h: Regenerated.
27317         * tests/unictype/test-digit.h: Regenerated.
27318         * tests/unictype/test-numeric.h: Regenerated.
27319         * tests/unictype/test-pr_alphabetic.c: Regenerated.
27320         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
27321         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
27322         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
27323         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
27324         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
27325         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
27326         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
27327         * tests/unictype/test-pr_combining.c: Regenerated.
27328         * tests/unictype/test-pr_dash.c: Regenerated.
27329         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
27330         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
27331         * tests/unictype/test-pr_deprecated.c: Regenerated.
27332         * tests/unictype/test-pr_diacritic.c: Regenerated.
27333         * tests/unictype/test-pr_extender.c: Regenerated.
27334         * tests/unictype/test-pr_format_control.c: Regenerated.
27335         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
27336         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
27337         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
27338         * tests/unictype/test-pr_id_continue.c: Regenerated.
27339         * tests/unictype/test-pr_id_start.c: Regenerated.
27340         * tests/unictype/test-pr_ideographic.c: Regenerated.
27341         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
27342         * tests/unictype/test-pr_lowercase.c: Regenerated.
27343         * tests/unictype/test-pr_math.c: Regenerated.
27344         * tests/unictype/test-pr_numeric.c: Regenerated.
27345         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
27346         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
27347         Regenerated.
27348         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
27349         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
27350         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
27351         * tests/unictype/test-pr_other_math.c: Regenerated.
27352         * tests/unictype/test-pr_punctuation.c: Regenerated.
27353         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
27354         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
27355         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
27356         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
27357         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
27358         * tests/unictype/test-pr_uppercase.c: Regenerated.
27359         * tests/unictype/test-pr_xid_continue.c: Regenerated.
27360         * tests/unictype/test-pr_xid_start.c: Regenerated.
27361         * tests/unictype/test-pr_zero_width.c: Regenerated.
27362
27363         Update to Unicode 5.1.0.
27364         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
27365         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
27366         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
27367         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
27368         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
27369         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
27370         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
27371         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
27372         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
27373         (nonspacing_table_ind): Update.
27374         * tests/uniwidth/test-uc_width2.sh: Update expected result.
27375
27376         Update to Unicode 5.1.0.
27377         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
27378         code transform.
27379         * lib/uniname/uniname.c (unicode_character_name,
27380         unicode_name_character): Add the range 0x1Fxxx to the code transform.
27381         * lib/uniname/uninames.h: Regenerated.
27382         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
27383
27384 2009-02-07  Bruno Haible  <bruno@clisp.org>
27385
27386         Merge gen-ctype and gen-lbrk into a single program.
27387         * lib/gen-uni-tables.c: New file, incorporating
27388         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
27389         Add directory prefixes to the names of the generated files.
27390         * lib/unictype/gen-ctype.c: Remove file.
27391         * lib/unilbrk/gen-lbrk.c: Remove file.
27392         * modules/gen-uni-tables: New file.
27393         * modules/unictype/gen-ctype: Remove file.
27394         * modules/unilbrk/gen-lbrk: Remove file.
27395
27396 2009-02-07  Bruno Haible  <bruno@clisp.org>
27397
27398         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
27399
27400         New module 'unistr/u32-strcoll'.
27401         * modules/unistr/u32-strcoll: New file.
27402         * lib/unistr/u32-strcoll.c: New file.
27403
27404         New module 'unistr/u16-strcoll'.
27405         * modules/unistr/u16-strcoll: New file.
27406         * lib/unistr/u16-strcoll.c: New file.
27407
27408         New module 'unistr/u8-strcoll'.
27409         * modules/unistr/u8-strcoll: New file.
27410         * lib/unistr/u8-strcoll.c: New file.
27411         * lib/unistr/u-strcoll.h: New file.
27412
27413 2009-02-07  Bruno Haible  <bruno@clisp.org>
27414
27415         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
27416         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
27417         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
27418         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
27419         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
27420         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
27421
27422 2009-02-07  Bruno Haible  <bruno@clisp.org>
27423
27424         Make 64-bit clean.
27425         * lib/unictype/gen-ctype.c (output_predicate, output_category,
27426         output_combclass, output_bidi_category, output_decimal_digit,
27427         output_digit, output_numeric, output_mirror, output_scripts,
27428         output_ident_category): Use proper width specifier in format strings.
27429
27430 2009-02-07  Bruno Haible  <bruno@clisp.org>
27431
27432         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
27433         failure behaviour.
27434
27435 2009-02-07  Jim Meyering  <meyering@redhat.com>
27436
27437         regex: avoid compilation failure with upcoming gcc-4.4
27438         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
27439         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
27440         "... error: integer overflow in preprocessor expression".
27441
27442 2009-02-05  Ben Pfaff  <blp@gnu.org>
27443
27444         Fix link errors on Windows when close module is used.
27445         * modules/close: Add $(LIB_CLOSE) to Link section.
27446         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
27447         $(LIB_CLOSE) on Windows.
27448
27449 2009-02-05  Jim Meyering  <meyering@redhat.com>
27450
27451         still avoid unused-parameter warnings, but do it cleanly
27452         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
27453         (get_fs_usage): Cast to void instead.
27454         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
27455         (dev_from_mount_options, read_file_system_list): Cast to void.
27456         Prompted by Bruno Haible.
27457
27458 2009-02-04  Jim Meyering  <meyering@redhat.com>
27459
27460         fsusage.c: correct copyright year
27461         * lib/fsusage.c: Reflect year in which the change is pushed into
27462
27463         avoid misc. warnings
27464         * lib/fsusage.c (UNUSED_PARAM): Define.
27465         (get_fs_usage): Mark parameter "disk" as unused.
27466         * lib/getugroups.c (getgrent): Use "void" in prototype.
27467         * lib/mountlist.c: Mark unused parameters.
27468         (read_file_system_list): Declare a local with "const".
27469         * lib/nanosleep.c (getnow): Declare static.
27470         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
27471
27472         dirfd: set errno upon failure
27473         * lib/dirfd.c: Include <errno.h>.
27474         Set errno to ENOTSUP when returning -1.
27475         * modules/dirfd (Depends-on): Add errno.
27476         Suggested by John Kodis <kodis@comcast.net>.
27477
27478 2009-02-01  Bruno Haible  <bruno@clisp.org>
27479
27480         Don't assume sizeof (long) >= sizeof (void *).
27481         * lib/memcmp.c: Include stdint.h.
27482         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
27483         srcp2 to 'const byte *'.
27484         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
27485         types to uintptr_t.
27486         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
27487         * modules/memcmp (Depends-on): Add stdint.
27488         Reported by Ozkan Sezer <sezeroz@gmail.com>.
27489
27490 2009-01-30  Eric Blake  <ebb9@byu.net>
27491
27492         fix more require-before-expand issues
27493         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
27494         expand, AC_PROG_AWK.
27495         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
27496
27497 2009-01-28  Eric Blake  <ebb9@byu.net>
27498
27499         version-etc: use consistent URL formatting
27500         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
27501         Improve formatting.  Use fputs for string without %.
27502
27503 2009-01-28  Jim Meyering  <meyering@redhat.com>
27504
27505         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
27506         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
27507         "underquoted definition of NAME" from autoconf-2.59.
27508
27509 2009-01-28  Bruno Haible  <bruno@clisp.org>
27510
27511         * doc/gnulib.texi: Add "Obsolete modules" to index.
27512
27513 2009-01-28  Jim Meyering  <meyering@redhat.com>
27514
27515         useless-if-before-free: recognize more variants
27516         * build-aux/useless-if-before-free: Also recognize e.g.,
27517         if (NULL != p) free (p);
27518
27519 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
27520
27521         test-getaddrinfo: skip (don't fail) this test when there's no network
27522         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
27523         on the presumption that it means you lack network access.
27524
27525 2009-01-26  Jim Meyering  <meyering@redhat.com>
27526
27527         fflush: avoid warnings on modern systems
27528         * lib/fflush.c (rpl_fflush): Move declarations of locals,
27529         pos and result, into scopes where they're used.
27530
27531 2009-01-26  Eric Blake  <ebb9@byu.net>
27532
27533         Silence warning reintroduced by recent extensions patch.
27534         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
27535         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
27536         autoconf.
27537
27538         Backport improved autoconf semantics of AC_DEFUN_ONCE.
27539         * m4/00gnulib.m4: New file.
27540         * gnulib-tool (func_get_filelist): Always use it.
27541         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
27542         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
27543
27544 2009-01-25  Bruno Haible  <bruno@clisp.org>
27545
27546         Make test-quotearg work on MacOS X and AIX.
27547         * tests/test-quotearg.sh: New file.
27548         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
27549         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
27550         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
27551         include <libintl.h>.
27552         (fake_locale): Remove variable.
27553         (gettext, dgettext, dcgettext): Remove functions.
27554         (main): Instead of setting a fake locale, set a real locale. Call
27555         textdomain and bindtextdomain.
27556         * modules/quotearg-tests (Files): Add the new files.
27557         (Depends-on): Add gettext, setenv, unsetenv.
27558         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
27559         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
27560         Augment TESTS_ENVIRONMENT.
27561
27562 2009-01-25  Bruno Haible  <bruno@clisp.org>
27563
27564         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
27565         fr_FR.ISO8859-1 locale on MacOS X.
27566         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
27567         ja_JP.eucJP locale on MacOS X.
27568         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
27569         zh_CN.GB18030 locale on MacOS X.
27570
27571 2009-01-25  Bruno Haible  <bruno@clisp.org>
27572
27573         Avoid link errors on MacOS X 10.3.
27574         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
27575         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27576
27577 2009-01-25  Bruno Haible  <bruno@clisp.org>
27578
27579         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
27580         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
27581         * modules/pipe (Files): Remove m4/posix_spawn.m4.
27582         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
27583         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
27584         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
27585         posix_spawnattr_init, posix_spawnattr_setsigmask,
27586         posix_spawnattr_setflags, posix_spawnattr_destroy.
27587
27588         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
27589         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
27590         * modules/execute (Files): Remove m4/posix_spawn.m4.
27591         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
27592         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
27593         posix_spawnattr_init, posix_spawnattr_setsigmask,
27594         posix_spawnattr_setflags, posix_spawnattr_destroy.
27595
27596 2009-01-25  Bruno Haible  <bruno@clisp.org>
27597
27598         * lib/glthread/threadlib.c: Include <stdlib.h>.
27599
27600 2009-01-25  Bruno Haible  <bruno@clisp.org>
27601
27602         * lib/glthread/threadlib.c (dummy): New declaration.
27603
27604 2009-01-25  Bruno Haible  <bruno@clisp.org>
27605
27606         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
27607         multibyte characters also for the GB18030 encoding. Don't crash when
27608         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
27609
27610 2009-01-25  Bruno Haible  <bruno@clisp.org>
27611
27612         Avoid redefining 'struct random_data' on OSF/1 5.1.
27613         * lib/stdlib.in.h: Include <random.h> if it exists.
27614         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
27615         HAVE_RANDOM_H. Include <random.h> when testing whether
27616         'struct random_data' exists.
27617         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
27618
27619 2009-01-25  Bruno Haible  <bruno@clisp.org>
27620
27621         Don't install charset.alias on MacOS X >= 10.3.
27622         * lib/localcharset.c (DARWIN7): New macro.
27623         (get_charset_aliases): Hardcode the result for Darwin7.
27624         * modules/localcharset (install-exec-local): Don't install
27625         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
27626
27627 2009-01-25  Bruno Haible  <bruno@clisp.org>
27628
27629         Don't install charset.alias on mingw and Cygwin.
27630         * modules/localcharset (install-exec-local): Don't install
27631         charset.alias on mingw and Cygwin, if the file does not yet exist.
27632         The result for these platforms is hardcoded in localcharset.c.
27633
27634 2009-01-25  Bruno Haible  <bruno@clisp.org>
27635
27636         Make it possible again to use AC_GNU_SOURCE together with gnulib.
27637         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
27638         before requiring AC_USE_SYSTEM_EXTENSIONS.
27639
27640 2009-01-25  Jim Meyering  <meyering@redhat.com>
27641
27642         c-strtod: avoid warnings
27643         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
27644         "assignment discards qualifiers from pointer target type" warnings.
27645
27646 2009-01-24  Bruno Haible  <bruno@clisp.org>
27647
27648         Add support for non-UTF-8 locales on MacOS X.
27649         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
27650         canonical encodings. For Darwin 7 and newer, don't map traditional
27651         encodings to UTF-8.
27652         Reported by Vincent Lefevre <vincent@vinc17.org>
27653         at <http://savannah.gnu.org/bugs/?25235>.
27654
27655 2009-01-24  Bruno Haible  <bruno@clisp.org>
27656
27657         * doc/gnulib.texi (Obsolete modules): New section.
27658         Reported by Mike Frysinger <vapier@gentoo.org>.
27659
27660 2009-01-24  Bruno Haible  <bruno@clisp.org>
27661
27662         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
27663         (%.dvi): New rule.
27664
27665 2009-01-24  Bruno Haible  <bruno@clisp.org>
27666
27667         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
27668         Reported by Eric Blake.
27669
27670 2009-01-24  Bruno Haible  <bruno@clisp.org>
27671
27672         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
27673         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
27674         Reported by Gary V. Vaughan <gary@gnu.org>.
27675
27676 2009-01-24  Bruno Haible  <bruno@clisp.org>
27677
27678         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
27679
27680 2009-01-23  Bruno Haible  <bruno@clisp.org>
27681
27682         Make c-strtod, c-strtold usable in libraries.
27683         * lib/c-strtod.c: Include string.h instead of xalloc.h.
27684         (C_STRTOD): Call strdup instead of xstrdup.
27685         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
27686         * modules/c-strtold (Depends-on): Likewise.
27687         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
27688         * NEWS: Mention the change.
27689         Reported by Michael Gold <mgold@ncf.ca>.
27690
27691 2009-01-23  Jim Meyering  <meyering@redhat.com>
27692
27693         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
27694         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
27695         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
27696
27697 2009-01-23  Simon Josefsson  <simon@josefsson.org>
27698
27699         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
27700         GNU CoreUtils.
27701         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
27702         * modules/version-etc (Description): Update.
27703
27704 2009-01-22  Bruno Haible  <bruno@clisp.org>
27705
27706         Cache the C locale object.
27707         * lib/c-strtod.c (c_locale_cache): New variable.
27708         (c_locale): New function.
27709         (C_STRTOD): Use it, and don't call freelocale.
27710         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
27711         Suggested by Paolo Bonzini.
27712
27713 2009-01-21  Bruno Haible  <bruno@clisp.org>
27714
27715         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
27716         conditions other than overflow.
27717
27718 2009-01-21  Bruno Haible  <bruno@clisp.org>
27719
27720         * lib/c-strtod.c: Include errno.h.
27721         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
27722         value from STRTOD_L and STRTOD.
27723
27724 2009-01-21  Bruno Haible  <bruno@clisp.org>
27725         and Jim Meyering  <meyering@redhat.com>
27726
27727         nanosleep: skip configure test (fail it) for apple universal builds
27728         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
27729         universal builds, assume that nanosleep does not work.
27730         * modules/nanosleep (Depends-on): Add multiarch.
27731
27732         mktime: skip configure test (fail it) for apple universal builds
27733         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
27734         universal builds, assume that mktime does not work.
27735         * modules/mktime (Depends-on): Add multiarch.
27736
27737 2009-01-21  Eric Blake  <ebb9@byu.net>
27738
27739         multiarch: avoid expand-before-require warning
27740         * modules/multiarch (configure.ac): Require, rather than expand,
27741         gl_MULTIARCH.
27742         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
27743         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
27744         enforce that all clients require it.  Partial reversion of
27745         2008-12-29 patch.
27746
27747         error: avoid expand-before-require warning
27748         * modules/errno (configure.ac): Require, rather than expand,
27749         gl_HEADER_ERRNO_H.
27750         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
27751         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
27752         enforce that all clients require it.
27753
27754         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
27755         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
27756         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
27757         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
27758
27759 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
27760
27761         Revert:
27762         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
27763
27764         regex: do not depend on obsolete modules.
27765         * modules/regex: Remove memcmp and memmove.
27766
27767 2009-01-20  Bruno Haible  <bruno@clisp.org>
27768
27769         Make the 'link' module link on Windows NT 4.
27770         * lib/link.c (_WIN32_WINNT): Don't define.
27771         (CreateHardLinkFuncType): New type.
27772         (CreateHardLinkFunc, initialized): New variables.
27773         (initialize): New function.
27774         (link): Invoke CreateHardLink indirectly through the function pointer.
27775
27776 2009-01-20  Bruno Haible  <bruno@clisp.org>
27777
27778         Fix compilation failure on mingw.
27779         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
27780
27781 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
27782
27783         * doc/c-strtod.texi: Mention a couple of restrictions.
27784
27785 2009-01-20  Jim Meyering  <meyering@redhat.com>
27786
27787         gettimeofday: move more declarations out of functions
27788         * lib/gettimeofday.c: Move extern declarations of tzset and
27789         gmtime out of containing functions.  Prompted by Bruno Haible.
27790
27791 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
27792
27793         regex: do not depend on obsolete modules.
27794         * modules/regex: Remove memcmp and memmove.
27795
27796 2009-01-19  Bruno Haible  <bruno@clisp.org>
27797
27798         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
27799         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
27800         gl_BIGENDIAN, not AC_C_BIGENDIAN.
27801         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
27802         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
27803
27804 2009-01-19  Bruno Haible  <bruno@clisp.org>
27805
27806         * tests/test-link.c: Include <errno.h>.
27807         (main): Exit with code 77 when a hard link cannot be created due to
27808         the file system.
27809         * tests/test-link.sh: Skip test when a hard link cannot be created due
27810         to the file system.
27811         Suggested by Eric Blake.
27812
27813 2009-01-19  Martin Lambers  <marlam@marlam.de>
27814
27815         * modules/link-tests: New file.
27816         * tests/test-link.sh: New file.
27817         * tests/test-link.c: New file.
27818
27819 2009-01-19  Eric Blake  <ebb9@byu.net>
27820
27821         doc: mention another function added in cygwin 1.7.0
27822         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
27823         Another new function in cygwin 1.7.
27824
27825 2009-01-19  Bruno Haible  <bruno@clisp.org>
27826
27827         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
27828         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
27829         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
27830         gl_BIGENDIAN, not AC_C_BIGENDIAN.
27831         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27832         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
27833         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27834         * m4/md4.m4 (gl_MD4): Likewise.
27835         * m4/md5.m4 (gl_MD5): Likewise.
27836         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
27837         * m4/sha1.m4 (gl_SHA1): Likewise.
27838         * m4/sha256.m4 (gl_SHA256): Likewise.
27839         * m4/sha512.m4 (gl_SHA512): Likewise.
27840
27841 2009-01-19  Bruno Haible  <bruno@clisp.org>
27842
27843         * modules/uniname/uniname-tests (Depends-on): Add progname.
27844         * tests/uniname/test-uninames.c: Include progname.h.
27845         (main): Call set_program_name.
27846
27847         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
27848         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
27849         (main): Call set_program_name.
27850
27851         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
27852         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
27853         (main): Call set_program_name.
27854
27855         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
27856         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
27857         (main): Call set_program_name.
27858
27859         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
27860         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
27861         (main): Call set_program_name.
27862
27863         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
27864         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
27865         (main): Call set_program_name.
27866
27867         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
27868         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
27869         (main): Call set_program_name.
27870
27871         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
27872         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
27873         (main): Call set_program_name.
27874
27875         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
27876         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
27877         (main): Call set_program_name.
27878
27879 2009-01-19  Eric Blake  <ebb9@byu.net>
27880
27881         test-unistd: test previous patch
27882         * tests/test-unistd.c: Test *_FILENO macros.
27883
27884         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
27885         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27886         Guarantee a definition.
27887         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
27888         * modules/unistd-safer (Depends-on): Add dependency on unistd.
27889         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
27890         * lib/dup-safer.c (STDERR_FILENO): Likewise.
27891         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27892         Likewise.
27893         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
27894         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
27895         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27896         Likewise.
27897         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
27898         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
27899         (STDERR_FILENO): Likewise.
27900         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
27901         (STDERR_FILENO): Likewise.
27902         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
27903         (STDERR_FILENO): Likewise.
27904         Reported by Elbert Pol.
27905
27906 2009-01-19  Eric Blake  <ebb9@byu.net>
27907
27908         doc: mention more functions added in cygwin 1.7.0
27909         * doc/posix-functions/abort.texi (abort): Update wording related
27910         to cygwin.
27911         * doc/posix-functions/daylight.texi (daylight): Likewise.
27912         * doc/posix-functions/optarg.texi (optarg): Likewise.
27913         * doc/posix-functions/optarg.texi (opterr): Likewise.
27914         * doc/posix-functions/optarg.texi (optind): Likewise.
27915         * doc/posix-functions/optarg.texi (optopt): Likewise.
27916         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
27917         worked in 1.5.x, and was withdrawn in 1.7.
27918         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
27919         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
27920         cygwin versions.
27921         * doc/posix-functions/perror.texi (perror): Likewise.
27922         * doc/posix-functions/printf.texi (printf): Likewise.
27923         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
27924         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
27925         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
27926         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
27927         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27928         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
27929         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27930         Likewise.
27931         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27932         Likewise.
27933         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
27934         this function.
27935         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
27936         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
27937         Likewise.
27938         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
27939         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
27940         * doc/posix-functions/confstr.texi (confstr): Likewise.
27941         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
27942         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
27943         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
27944         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
27945         * doc/posix-functions/fputws.texi (fputws): Likewise.
27946         * doc/posix-functions/fwide.texi (fwide): Likewise.
27947         * doc/posix-functions/getwc.texi (getwc): Likewise.
27948         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
27949         * doc/posix-functions/putwc.texi (putwc): Likewise.
27950         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
27951         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
27952         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
27953         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
27954         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
27955         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
27956         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
27957         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
27958         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
27959         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
27960         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
27961
27962 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
27963
27964         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
27965         * lib/ioctl.c: Include <sys/ioctl.h>.
27966
27967 2009-01-19  Simon Josefsson  <simon@josefsson.org>
27968
27969         * modules/getdate-tests (Depends-on): Add progname.
27970         * tests/test-getdate.c: Use progname module, to avoid link errors
27971         on non-glibc systems.
27972
27973 2009-01-18  Simon Josefsson  <simon@josefsson.org>
27974
27975         * modules/filenamecat-tests (Depends-on): Add progname.
27976         * modules/fstrcmp-tests (Depends-on): Likewise.
27977
27978         * tests/test-filenamecat.c: Use progname module, to avoid link
27979         errors on non-glibc systems.
27980         * tests/test-fstrcmp.c: Likewise.
27981
27982 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
27983
27984         gettimeofday: avoid warning: nested extern declaration of 'localtime'
27985         * lib/gettimeofday.c: Move extern declaration out of function.
27986
27987 2009-01-18  Bruno Haible  <bruno@clisp.org>
27988
27989         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
27990         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
27991         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
27992
27993 2009-01-18  Bruno Haible  <bruno@clisp.org>
27994
27995         * lib/strftime.c (MEMPCPY): Remove unused macro.
27996         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
27997
27998 2009-01-18  Martin Lambers  <marlam@marlam.de>
27999
28000         New module 'link'.
28001         * lib/unistd.in.h (link): New declaration.
28002         * lib/link.c: New file.
28003         * m4/link.m4: New file.
28004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
28005         HAVE_LINK.
28006         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
28007         * modules/link: New file.
28008         * doc/posix-functions/link.texi: Mention the new module.
28009
28010 2009-01-18  Bruno Haible  <bruno@clisp.org>
28011
28012         * tests/test-avltree_list.c (main): Call set_program_name.
28013         * tests/test-avltree_oset.c (main): Likewise.
28014         * tests/test-obstack-printf.c: Include progname.h.
28015         (main): Call set_program_name.
28016         * tests/test-quotearg.c: Include progname.h.
28017         (main): Call set_program_name.
28018         * tests/test-xmemdup0.c: Include progname.h.
28019         (main): Call set_program_name.
28020
28021 2009-01-18  Bruno Haible  <bruno@clisp.org>
28022
28023         New module 'alphasort'.
28024         * lib/dirent.in.h (alphasort): New declaration.
28025         * lib/alphasort.c: New file, from glibc with modifications.
28026         * m4/alphasort.m4: New file.
28027         * modules/alphasort: New file.
28028         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
28029         HAVE_ALPHASORT.
28030         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
28031         HAVE_ALPHASORT.
28032         * doc/posix-functions/alphasort.texi: Mention the new module and the
28033         portability problems.
28034
28035 2009-01-18  Bruno Haible  <bruno@clisp.org>
28036
28037         New module 'scandir'.
28038         * lib/dirent.in.h (scandir): New declaration.
28039         * lib/scandir.c: New file, from glibc with modifications.
28040         * m4/scandir.m4: New file.
28041         * modules/scandir: New file.
28042         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
28043         HAVE_SCANDIR.
28044         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
28045         HAVE_SCANDIR.
28046         * doc/posix-functions/scandir.texi: Mention the new module and the
28047         portability problems.
28048
28049 2009-01-17  Bruno Haible  <bruno@clisp.org>
28050
28051         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
28052         Update documentation.
28053         (func_remove_suffix): Escape all dots in the suffix. Update
28054         documentation.
28055         (func_filter_filelist): Update documentation.
28056         Reported by Ralf Wildenhues.
28057
28058 2009-01-17  Bruno Haible  <bruno@clisp.org>
28059
28060         * modules/dprintf-posix-tests: New file.
28061         * tests/test-dprintf-posix.sh: New file.
28062         * tests/test-dprintf-posix.c: New file.
28063
28064         New modules 'dprintf', 'dprintf-posix'.
28065         * lib/stdio.in.h (dprintf): New declaration.
28066         * lib/dprintf.c: New file.
28067         * m4/dprintf.m4: New file.
28068         * m4/dprintf-posix.m4: New file.
28069         * modules/dprintf: New file.
28070         * modules/dprintf-posix: New file.
28071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
28072         HAVE_DPRINTF, REPLACE_DPRINTF.
28073         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
28074         HAVE_DPRINTF, REPLACE_DPRINTF.
28075         * doc/posix-functions/dprintf.texi: Mention the new modules.
28076
28077 2009-01-17  Bruno Haible  <bruno@clisp.org>
28078
28079         * modules/vdprintf-posix-tests: New file.
28080         * tests/test-vdprintf-posix.sh: New file.
28081         * tests/test-vdprintf-posix.c: New file.
28082
28083         New modules 'vdprintf', 'vdprintf-posix'.
28084         * lib/stdio.in.h (vdprintf): New declaration.
28085         * lib/vdprintf.c: New file.
28086         * m4/vdprintf.m4: New file.
28087         * m4/vdprintf-posix.m4: New file.
28088         * modules/vdprintf: New file.
28089         * modules/vdprintf-posix: New file.
28090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
28091         HAVE_VDPRINTF, REPLACE_VDPRINTF.
28092         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
28093         HAVE_VDPRINTF, REPLACE_VDPRINTF.
28094         * doc/posix-functions/vdprintf.texi: Mention the new modules.
28095
28096 2009-01-17  Bruno Haible  <bruno@clisp.org>
28097
28098         Fix replacement of fopen on mingw.
28099         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
28100         mingw.
28101
28102 2009-01-17  Bruno Haible  <bruno@clisp.org>
28103
28104         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
28105         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
28106
28107 2009-01-17  Bruno Haible  <bruno@clisp.org>
28108
28109         Avoid test-fflush2.sh failure on mingw.
28110         * tests/test-fflush2.c: Include binary-io.h.
28111         (main): Put standard input into binary mode.
28112         * modules/fflush-tests (Depends-on): Add binary-io.
28113
28114 2009-01-17  Bruno Haible  <bruno@clisp.org>
28115
28116         * lib/wchar.in.h: In another particular situation, include only the
28117         system's <wchar.h> file.
28118         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
28119         Reported by Albert Chin-A-Young <china@thewrittenword.com>
28120         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
28121
28122 2009-01-17  Bruno Haible  <bruno@clisp.org>
28123
28124         Support for stripping executables in --enable-relocatable.
28125         * build-aux/install-reloc: Expect one more argument, or an environment
28126         variable RELOC_STRIP_PROG. If set, strip the destination program and
28127         its wrapper.
28128         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
28129         RELOC_STRIP_PROG.
28130         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
28131         to set RELOCATABLE_STRIP.
28132         * NEWS: Mention the new Makefile requirement.
28133
28134 2009-01-17  Bruno Haible  <bruno@clisp.org>
28135
28136         * build-aux/install-reloc: Remove debugging information left over by
28137         C compiler on MacOS X.
28138
28139 2009-01-17  Bruno Haible  <bruno@clisp.org>
28140
28141         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
28142         * lib/progreloc.c (find_executable): Fix type of pointer passed to
28143         _NSGetExecutablePath.
28144
28145 2009-01-16  Jim Meyering  <meyering@redhat.com>
28146
28147         strerror: avoid warnings about discarding "const"
28148         * lib/strerror.c (rpl_strerror): Instead of returning a const
28149         string from each and every "case", use a variable, and add a single
28150         cast after the switch.
28151
28152 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
28153
28154         * lib/arpa_inet.in.h: Add extern "C" block for C++.
28155
28156 2009-01-16  Bruno Haible  <bruno@clisp.org>
28157
28158         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
28159         array initializer syntax that also works in C++ mode.
28160         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28161
28162 2009-01-16  Jim Meyering  <meyering@redhat.com>
28163
28164         poll: suppress a warning
28165         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
28166         to ignore "...unsigned expression < 0 is always false" warnings.
28167
28168 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
28169
28170         poll: remove declarations of unused variables
28171         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
28172         sockbuf and optlen.
28173
28174 2009-01-15  Bruno Haible  <bruno@clisp.org>
28175
28176         Make fflush-after-ungetc POSIX compliant on BSD systems.
28177         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
28178         (clear_ungetc_buffer): Implement also for other systems.
28179         (rpl_fflush): On glibc systems, invoke
28180         clear_ungetc_buffer_preserving_position. Otherwise, invoke
28181         clear_ungetc_buffer after fetching the stream's position, not before.
28182
28183 2009-01-15  Bruno Haible  <bruno@clisp.org>
28184
28185         Make fflush-after-ungetc POSIX compliant on glibc systems.
28186         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
28187         after ungetc.
28188         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
28189         (rpl_fflush): On glibc systems, simply call the system's fflush
28190         function after clearing the ungetc buffer.
28191         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
28192         Instead, lseek only to the end of file, then use the system's fseeko
28193         for the rest. On glibc systems, reset the EOF indicator bit.
28194
28195 2009-01-15  Jim Meyering  <meyering@redhat.com>
28196
28197         openmp.m4: revert quote-adding change, for portability to older autoconf
28198         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
28199         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
28200         Simon Josefsson noticed the problem when using autoconf-2.61.
28201
28202 2009-01-15  Bruno Haible  <bruno@clisp.org>
28203
28204         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
28205         * tests/test-fflush2.c (ASSERT): Always fail.
28206         (main): Add two tests for fflush() after ungetc(), taking into account
28207         the Austin Group's clarification.
28208         Suggested by Eric Blake.
28209
28210 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
28211
28212         mktime.m4: remove K&R-style function prototypes
28213         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
28214         for the Sun C++ compiler.
28215
28216 2009-01-14  Bruno Haible  <bruno@clisp.org>
28217
28218         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
28219         while including <wchar.h>.
28220         * lib/wchar.in.h: In two particular situations on HP-UX, include only
28221         the system's <wchar.h> file.
28222         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28223
28224 2009-01-14  Bruno Haible  <bruno@clisp.org>
28225
28226         * m4/csharp.m4: Don't mention gettext on the serial number line.
28227         * m4/csharpexec.m4: Likewise.
28228         * m4/eaccess.m4: Likewise.
28229         * m4/javaexec.m4: Likewise.
28230         * m4/sig_atomic_t.m4: Likewise.
28231         * m4/tmpdir.m4: Likewise.
28232         * m4/intldir.m4: Bump gettext version.
28233         * m4/lib-ld.m4: Likewise.
28234
28235 2009-01-14  Bruno Haible  <bruno@clisp.org>
28236
28237         * lib/progname.c (set_program_name): Add more comments.
28238         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
28239
28240 2009-01-14  Simon Josefsson  <simon@josefsson.org>
28241
28242         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
28243         were sys/stat.h does not define it.
28244
28245 2009-01-14  Jim Meyering  <meyering@redhat.com>
28246
28247         many *.m4 files: improve m4 quoting
28248         99% of this change was performed by running the following commands:
28249         git ls-files | grep '\.m4$' | xargs perl -pi \
28250           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
28251           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
28252           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
28253           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
28254         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
28255         The remainder were to add Copyright dates, increment serial numbers,
28256         undo some changes in comments, exclude m4/intl.m4, and add quotes
28257         around the "1" in ",1" where the unusual spacing prohibited the
28258         above regexps from doing the job.  For more details, see
28259         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
28260         * m4/acl.m4: Modified.
28261         * m4/afs.m4: Likewise.
28262         * m4/alloca.m4: Likewise.
28263         * m4/argp.m4: Likewise.
28264         * m4/argz.m4: Likewise.
28265         * m4/atexit.m4: Likewise.
28266         * m4/bison-i18n.m4: Likewise.
28267         * m4/bison.m4: Likewise.
28268         * m4/byteswap.m4: Likewise.
28269         * m4/c-stack.m4: Likewise.
28270         * m4/c-strtod.m4: Likewise.
28271         * m4/calloc.m4: Likewise.
28272         * m4/canonicalize-lgpl.m4: Likewise.
28273         * m4/chown.m4: Likewise.
28274         * m4/clock_time.m4: Likewise.
28275         * m4/codeset.m4: Likewise.
28276         * m4/copy-file.m4: Likewise.
28277         * m4/csharp.m4: Likewise.
28278         * m4/csharpcomp.m4: Likewise.
28279         * m4/csharpexec.m4: Likewise.
28280         * m4/d-ino.m4: Likewise.
28281         * m4/d-type.m4: Likewise.
28282         * m4/dirfd.m4: Likewise.
28283         * m4/double-slash-root.m4: Likewise.
28284         * m4/eaccess.m4: Likewise.
28285         * m4/eealloc.m4: Likewise.
28286         * m4/environ.m4: Likewise.
28287         * m4/errno_h.m4: Likewise.
28288         * m4/euidaccess.m4: Likewise.
28289         * m4/execute.m4: Likewise.
28290         * m4/fatal-signal.m4: Likewise.
28291         * m4/fchdir.m4: Likewise.
28292         * m4/fcntl_h.m4: Likewise.
28293         * m4/fileblocks.m4: Likewise.
28294         * m4/filenamecat.m4: Likewise.
28295         * m4/findprog.m4: Likewise.
28296         * m4/flexmember.m4: Likewise.
28297         * m4/fnmatch.m4: Likewise.
28298         * m4/fopen.m4: Likewise.
28299         * m4/fpending.m4: Likewise.
28300         * m4/fprintf-posix.m4: Likewise.
28301         * m4/free.m4: Likewise.
28302         * m4/frexp.m4: Likewise.
28303         * m4/frexpl.m4: Likewise.
28304         * m4/fsusage.m4: Likewise.
28305         * m4/ftruncate.m4: Likewise.
28306         * m4/gc-camellia.m4: Likewise.
28307         * m4/gc-random.m4: Likewise.
28308         * m4/gc.m4: Likewise.
28309         * m4/getaddrinfo.m4: Likewise.
28310         * m4/getcwd-abort-bug.m4: Likewise.
28311         * m4/getcwd-path-max.m4: Likewise.
28312         * m4/getdate.m4: Likewise.
28313         * m4/getdomainname.m4: Likewise.
28314         * m4/getgroups.m4: Likewise.
28315         * m4/gethostname.m4: Likewise.
28316         * m4/gethrxtime.m4: Likewise.
28317         * m4/getline.m4: Likewise.
28318         * m4/getloadavg.m4: Likewise.
28319         * m4/getndelim2.m4: Likewise.
28320         * m4/getpass.m4: Likewise.
28321         * m4/gettext.m4: Likewise.
28322         * m4/gettime.m4: Likewise.
28323         * m4/gettimeofday.m4: Likewise.
28324         * m4/gnulib-common.m4: Likewise.
28325         * m4/group-member.m4: Likewise.
28326         * m4/host-os.m4: Likewise.
28327         * m4/iconv.m4: Likewise.
28328         * m4/iconv_open.m4: Likewise.
28329         * m4/inet_ntop.m4: Likewise.
28330         * m4/inet_pton.m4: Likewise.
28331         * m4/inline.m4: Likewise.
28332         * m4/intldir.m4: Likewise.
28333         * m4/intlmacosx.m4: Likewise.
28334         * m4/intmax.m4: Likewise.
28335         * m4/intmax_t.m4: Likewise.
28336         * m4/inttypes.m4: Likewise.
28337         * m4/inttypes_h.m4: Likewise.
28338         * m4/inttypes-pri.m4: Likewise.
28339         * m4/isapipe.m4: Likewise.
28340         * m4/isnand.m4: Likewise.
28341         * m4/isnanf.m4: Likewise.
28342         * m4/isnanl.m4: Likewise.
28343         * m4/javacomp.m4: Likewise.
28344         * m4/javaexec.m4: Likewise.
28345         * m4/jm-winsz1.m4: Likewise.
28346         * m4/jm-winsz2.m4: Likewise.
28347         * m4/lchown.m4: Likewise.
28348         * m4/lcmessage.m4: Likewise.
28349         * m4/ldexpl.m4: Likewise.
28350         * m4/lib-ld.m4: Likewise.
28351         * m4/lib-link.m4: Likewise.
28352         * m4/libsigsegv.m4: Likewise.
28353         * m4/link-follow.m4: Likewise.
28354         * m4/localcharset.m4: Likewise.
28355         * m4/locale-fr.m4: Likewise.
28356         * m4/locale-ja.m4: Likewise.
28357         * m4/locale-tr.m4: Likewise.
28358         * m4/locale-zh.m4: Likewise.
28359         * m4/lock.m4: Likewise.
28360         * m4/longlong.m4: Likewise.
28361         * m4/ls-mntd-fs.m4: Likewise.
28362         * m4/lstat.m4: Likewise.
28363         * m4/malloc.m4: Likewise.
28364         * m4/mathl.m4: Likewise.
28365         * m4/mbrtowc.m4: Likewise.
28366         * m4/mbstate_t.m4: Likewise.
28367         * m4/mbswidth.m4: Likewise.
28368         * m4/memchr.m4: Likewise.
28369         * m4/memcmp.m4: Likewise.
28370         * m4/memcpy.m4: Likewise.
28371         * m4/memmem.m4: Likewise.
28372         * m4/memmove.m4: Likewise.
28373         * m4/mempcpy.m4: Likewise.
28374         * m4/memrchr.m4: Likewise.
28375         * m4/memset.m4: Likewise.
28376         * m4/minmax.m4: Likewise.
28377         * m4/mkdir-slash.m4: Likewise.
28378         * m4/mkdtemp.m4: Likewise.
28379         * m4/mktime.m4: Likewise.
28380         * m4/mmap-anon.m4: Likewise.
28381         * m4/mountlist.m4: Likewise.
28382         * m4/nanosleep.m4: Likewise.
28383         * m4/nls.m4: Likewise.
28384         * m4/nocrash.m4: Likewise.
28385         * m4/open.m4: Likewise.
28386         * m4/openat.m4: Likewise.
28387         * m4/openmp.m4: Likewise.
28388         * m4/pathmax.m4: Likewise.
28389         * m4/perl.m4: Likewise.
28390         * m4/physmem.m4: Likewise.
28391         * m4/pipe.m4: Likewise.
28392         * m4/po.m4: Likewise.
28393         * m4/poll.m4: Likewise.
28394         * m4/posixtm.m4: Likewise.
28395         * m4/posixver.m4: Likewise.
28396         * m4/printf-frexp.m4: Likewise.
28397         * m4/printf-frexpl.m4: Likewise.
28398         * m4/printf-posix.m4: Likewise.
28399         * m4/printf-posix-rpl.m4: Likewise.
28400         * m4/printf.m4: Likewise.
28401         * m4/progtest.m4: Likewise.
28402         * m4/putenv.m4: Likewise.
28403         * m4/readline.m4: Likewise.
28404         * m4/readlink.m4: Likewise.
28405         * m4/readutmp.m4: Likewise.
28406         * m4/realloc.m4: Likewise.
28407         * m4/regex.m4: Likewise.
28408         * m4/relocatable.m4: Likewise.
28409         * m4/relocatable-lib.m4: Likewise.
28410         * m4/rename-dest-slash.m4: Likewise.
28411         * m4/rename.m4: Likewise.
28412         * m4/rmdir-errno.m4: Likewise.
28413         * m4/rmdir.m4: Likewise.
28414         * m4/roundf.m4: Likewise.
28415         * m4/roundl.m4: Likewise.
28416         * m4/rpmatch.m4: Likewise.
28417         * m4/save-cwd.m4: Likewise.
28418         * m4/selinux-selinux-h.m4: Likewise.
28419         * m4/setenv.m4: Likewise.
28420         * m4/settime.m4: Likewise.
28421         * m4/sig2str.m4: Likewise.
28422         * m4/sig_atomic_t.m4: Likewise.
28423         * m4/signalblocking.m4: Likewise.
28424         * m4/signbit.m4: Likewise.
28425         * m4/sigpipe.m4: Likewise.
28426         * m4/sockets.m4: Likewise.
28427         * m4/sockpfaf.m4: Likewise.
28428         * m4/st_dm_mode.m4: Likewise.
28429         * m4/stat-time.m4: Likewise.
28430         * m4/stdbool.m4: Likewise.
28431         * m4/stdint.m4: Likewise.
28432         * m4/stdint_h.m4: Likewise.
28433         * m4/stpcpy.m4: Likewise.
28434         * m4/stpncpy.m4: Likewise.
28435         * m4/strcase.m4: Likewise.
28436         * m4/strchrnul.m4: Likewise.
28437         * m4/strcspn.m4: Likewise.
28438         * m4/strdup.m4: Likewise.
28439         * m4/strftime.m4: Likewise.
28440         * m4/strndup.m4: Likewise.
28441         * m4/strnlen.m4: Likewise.
28442         * m4/strpbrk.m4: Likewise.
28443         * m4/strptime.m4: Likewise.
28444         * m4/strsep.m4: Likewise.
28445         * m4/strtod.m4: Likewise.
28446         * m4/strtoimax.m4: Likewise.
28447         * m4/strtok_r.m4: Likewise.
28448         * m4/strtol.m4: Likewise.
28449         * m4/strtoll.m4: Likewise.
28450         * m4/strtoul.m4: Likewise.
28451         * m4/strtoull.m4: Likewise.
28452         * m4/strtoumax.m4: Likewise.
28453         * m4/strverscmp.m4: Likewise.
28454         * m4/threadlib.m4: Likewise.
28455         * m4/timegm.m4: Likewise.
28456         * m4/tm_gmtoff.m4: Likewise.
28457         * m4/tmpdir.m4: Likewise.
28458         * m4/tmpfile.m4: Likewise.
28459         * m4/tzset.m4: Likewise.
28460         * m4/uintmax_t.m4: Likewise.
28461         * m4/unlinkdir.m4: Likewise.
28462         * m4/unlocked-io.m4: Likewise.
28463         * m4/uptime.m4: Likewise.
28464         * m4/userspec.m4: Likewise.
28465         * m4/utimbuf.m4: Likewise.
28466         * m4/utime.m4: Likewise.
28467         * m4/utimes-null.m4: Likewise.
28468         * m4/utimes.m4: Likewise.
28469         * m4/vararrays.m4: Likewise.
28470         * m4/vasnprintf.m4: Likewise.
28471         * m4/vfprintf-posix.m4: Likewise.
28472         * m4/vprintf-posix.m4: Likewise.
28473         * m4/wait-process.m4: Likewise.
28474         * m4/wchar_t.m4: Likewise.
28475         * m4/wint_t.m4: Likewise.
28476         * m4/write-any-file.m4: Likewise.
28477         * m4/yield.m4: Likewise.
28478
28479 2009-01-13  Bruno Haible  <bruno@clisp.org>
28480
28481         Avoid test-copy-file.sh failures when ACL support insufficient.
28482         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
28483         TESTS_ENVIRONMENT.
28484         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
28485         Reported by Jim Meyering.
28486
28487 2009-01-13  Bruno Haible  <bruno@clisp.org>
28488
28489         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
28490         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
28491         * modules/unistdio/u8-printf-parse (Files): Likewise.
28492         * modules/unistdio/u32-printf-parse (Files): Likewise.
28493         * modules/unistdio/ulc-printf-parse (Files): Likewise.
28494
28495 2009-01-13  Simon Josefsson  <simon@josefsson.org>
28496
28497         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
28498         and m4/inttypes_h.m4 too.
28499
28500 2009-01-12  Eric Blake  <ebb9@byu.net>
28501
28502         tests: IRIX 6.2 cc can't compile -0.0 into .data
28503         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
28504         rather than at compile-time.
28505         * tests/test-floorl.c (minus_zero): Likewise.
28506         * tests/test-frexpl.c (minus_zero): Likewise.
28507         * tests/test-isnan.c (minus_zerol): Likewise.
28508         * tests/test-isnanl.h (minus_zero): Likewise.
28509         * tests/test-ldexpl.c (minus_zero): Likewise.
28510         * tests/test-roundl.c (minus_zero): Likewise.
28511         * tests/test-signbit.c (minus_zerol): Likewise.
28512         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
28513         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
28514         * tests/test-truncl.c (minus_zero): Likewise.
28515         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
28516         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
28517         Reported by Tom G. Christensen and Nelson H. F. Beebe.
28518
28519 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28520
28521         regex: fix glibc bug 9697
28522         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
28523         handling.
28524
28525 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28526
28527         regex: fix glibc bug 697
28528         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
28529         being NULL also if there are no backreferences.
28530
28531 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28532
28533         regex: merge glibc changes
28534         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
28535         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
28536         re_string_skip_chars, re_string_reconstruct): Likewise.
28537         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
28538
28539 2009-01-07  Jim Meyering  <meyering@redhat.com>
28540
28541         poll: filter through cppi
28542         * lib/poll.c: Indent cpp directives to reflect nesting.
28543
28544 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
28545
28546         poll: don't return uninitialized
28547         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
28548
28549 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
28550
28551         avoid compile failure on AIX 6.1
28552         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
28553         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
28554
28555 2009-01-04  Jim Meyering  <meyering@redhat.com>
28556
28557         remove duplicate inclusion of <stdio.h>
28558         * tests/test-fprintf-posix.c: Likewise.
28559         * tests/test-printf-posix.c: Likewise.
28560         * tests/test-snprintf-posix.c: Likewise.
28561         * tests/test-sprintf-posix.c: Likewise.
28562         * tests/test-vasprintf-posix.c: Likewise.
28563         * tests/test-vfprintf-posix.c: Likewise.
28564         * tests/test-vprintf-posix.c: Likewise.
28565         * tests/test-vsnprintf-posix.c: Likewise.
28566         * tests/test-vsprintf-posix.c: Likewise.
28567
28568 2009-01-03  Jim Meyering  <meyering@redhat.com>
28569
28570         gnulib-tool: fix sed-based filtering
28571         * gnulib-tool (func_filter_filelist): Remove extra backslash
28572         in sed_fff_filter definition.
28573
28574 2009-01-02  Jim Meyering  <meyering@redhat.com>
28575
28576         strftime: avoid compilation failure on Solaris 2.6
28577         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
28578         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
28579         Don't #define mbrlen or mbsinit, since now they're guaranteed to
28580         be available.  Reported by Tom G. Christensen.  Details in
28581         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
28582
28583 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28584             Bruno Haible  <bruno@clisp.org>
28585
28586         Speed up gnulib-tool by doing more string processing through shell
28587         built-ins.
28588         * gnulib-tool (fast_func_append): New variable.
28589         (func_remove_prefix, func_remove_suffix): New functions.
28590         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
28591         (func_filter_filelist): New function.
28592         (func_get_dependencies): Use func_remove_suffix instead of sed.
28593         (func_get_automake_snippet): Use func_filter_filelist instead of a
28594         subshell and sed invocation.
28595
28596 2009-01-01  Bruno Haible  <bruno@clisp.org>
28597
28598         Fix a security bug.
28599         * gnulib-tool (func_import, import, update): Don't allow the characters
28600         '"', '$', '`', '\' in macro arguments that become part of commands that
28601         are evaluated.
28602
28603 2009-01-01  Bruno Haible  <bruno@clisp.org>
28604
28605         * gnulib-tool (func_reset_sigpipe): Add more comments.
28606
28607 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28608
28609         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
28610         func_emit_tests_Makefile_am, func_import): Abort loops early if we
28611         already know the answer.
28612
28613 2009-01-01  Jim Meyering  <meyering@redhat.com>
28614
28615         * lib/version-etc.c (version_etc_va): Update copyright year.
28616
28617 2008-12-30  Bruno Haible  <bruno@clisp.org>
28618
28619         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
28620         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
28621         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
28622
28623 2008-12-29  Eric Blake  <ebb9@byu.net>
28624
28625         multiarch: avoid autoconf AC_REQUIRE bug
28626         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
28627         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
28628         2.63 and older.
28629         Reported by Bruno Haible, and analyzed in
28630         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
28631
28632 2008-12-29  Bruno Haible  <bruno@clisp.org>
28633
28634         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
28635         files in subdirectories correctly.
28636         Reported by Ralf Wildenhues.
28637
28638 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28639
28640         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
28641         rather than 'join FILE -', for Solaris join.
28642
28643 2008-12-29  Bruno Haible  <bruno@clisp.org>
28644
28645         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
28646         quoting.
28647         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28648         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28649         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28650         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
28651         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28652         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28653         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28654         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28655         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28656         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28657         * m4/nls.m4 (AM_NLS): Likewise.
28658         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
28659         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28660         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
28661         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28662         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28663         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28664         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
28665         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28666         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28667         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28668         * m4/xsize.m4 (gl_XSIZE): Likewise.
28669         Suggested by Jim Meyering.
28670
28671 2008-11-17  Bruce Korb  <bkorb@gnu.org>
28672
28673         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
28674         * lib/parse-duration.c: use a switch instead of cascading if's.
28675
28676 2008-12-29  Eric Blake  <ebb9@byu.net>
28677
28678         wchar.h: supply WEOF on Irix 5.3
28679         * lib/wchar.in.h (wint_t): Also supply WEOF.
28680         * lib/wctype.in.h (wint_t): Likewise.
28681         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
28682         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
28683         Reported by Tom G. Christensen.
28684
28685 2008-12-26  Bruno Haible  <bruno@clisp.org>
28686
28687         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
28688         i486, i586, i686.
28689
28690 2008-12-26  Bruno Haible  <bruno@clisp.org>
28691
28692         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
28693
28694 2008-12-26  Bruno Haible  <bruno@clisp.org>
28695
28696         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
28697         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
28698         not __STDC_CONSTANT_MACROS.
28699         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
28700
28701 2008-12-25  Bruno Haible  <bruno@clisp.org>
28702
28703         Add support for universal builds to vasnprintf.
28704         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
28705         universal builds, guess no.
28706         * modules/vasnprintf-posix (Depends-on): Add multiarch.
28707         * modules/vasprintf-posix (Depends-on): Likewise.
28708         * modules/fprintf-posix (Depends-on): Likewise.
28709         * modules/vfprintf-posix (Depends-on): Likewise.
28710         * modules/snprintf-posix (Depends-on): Likewise.
28711         * modules/vsnprintf-posix (Depends-on): Likewise.
28712         * modules/sprintf-posix (Depends-on): Likewise.
28713         * modules/vsprintf-posix (Depends-on): Likewise.
28714         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28715         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28716         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28717         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28718         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28719         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28720         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28721
28722         Add support for universal builds to <inttypes.h>.
28723         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
28724         _SCNu64_PREFIX): In Apple
28725         universal builds, define directly, using _LP64.
28726         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
28727         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
28728         * modules/inttypes (Depends-on): Add multiarch.
28729         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
28730
28731         Add support for universal builds to <stdint.h>.
28732         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
28733         universal builds, define directly, using _LP64.
28734         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
28735         Apple universal builds, don't test for the size and suffix of ptrdiff_t
28736         and size_t.
28737         * modules/stdint (Depends-on): Add multiarch.
28738         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
28739
28740         New module 'multiarch'.
28741         * modules/multiarch: New file.
28742         * m4/multiarch.m4: New file.
28743
28744 2008-12-25  Bruno Haible  <bruno@clisp.org>
28745
28746         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
28747
28748 2008-12-25  Bruno Haible  <bruno@clisp.org>
28749
28750         * modules/btowc (License): Relicense under LGPLv2+.
28751         * modules/mbsinit (License): Likewise.
28752         * modules/mbrtowc (License): Likewise.
28753         * modules/wcrtomb (License): Likewise.
28754         * modules/streq (License): Likewise.
28755         Reported by David Lutterkort <lutter@redhat.com>.
28756
28757 2008-12-23  Bruno Haible  <bruno@clisp.org>
28758
28759         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
28760
28761 2008-12-23  Bruno Haible  <bruno@clisp.org>
28762
28763         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
28764         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
28765         GETADDRINFO_LIB, not in LIBS.
28766         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
28767         * modules/canon-host (Link): Likewise.
28768         * NEWS: Mention the change.
28769         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
28770         GETADDRINFO_LIB.
28771
28772 2008-12-22  Bruno Haible  <bruno@clisp.org>
28773
28774         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
28775         * doc/posix-functions/iswalpha_l.texi: Likewise.
28776         * doc/posix-functions/iswblank_l.texi: Likewise.
28777         * doc/posix-functions/iswcntrl_l.texi: Likewise.
28778         * doc/posix-functions/iswctype_l.texi: Likewise.
28779         * doc/posix-functions/iswdigit_l.texi: Likewise.
28780         * doc/posix-functions/iswgraph_l.texi: Likewise.
28781         * doc/posix-functions/iswlower_l.texi: Likewise.
28782         * doc/posix-functions/iswprint_l.texi: Likewise.
28783         * doc/posix-functions/iswpunct_l.texi: Likewise.
28784         * doc/posix-functions/iswspace_l.texi: Likewise.
28785         * doc/posix-functions/iswupper_l.texi: Likewise.
28786         * doc/posix-functions/iswxdigit_l.texi: Likewise.
28787         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
28788         * doc/posix-functions/open_wmemstream.texi: Likewise.
28789         * doc/posix-functions/swscanf.texi: Likewise.
28790         * doc/posix-functions/towctrans_l.texi: Likewise.
28791         * doc/posix-functions/towlower.texi: Likewise.
28792         * doc/posix-functions/towlower_l.texi: Likewise.
28793         * doc/posix-functions/towupper.texi: Likewise.
28794         * doc/posix-functions/towupper_l.texi: Likewise.
28795         * doc/posix-functions/vfwprintf.texi: Likewise.
28796         * doc/posix-functions/vfwscanf.texi: Likewise.
28797         * doc/posix-functions/vswscanf.texi: Likewise.
28798         * doc/posix-functions/vwprintf.texi: Likewise.
28799         * doc/posix-functions/vwscanf.texi: Likewise.
28800         * doc/posix-functions/wcpcpy.texi: Likewise.
28801         * doc/posix-functions/wcpncpy.texi: Likewise.
28802         * doc/posix-functions/wcscasecmp.texi: Likewise.
28803         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
28804         * doc/posix-functions/wcscoll_l.texi: Likewise.
28805         * doc/posix-functions/wcsdup.texi: Likewise.
28806         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28807         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
28808         * doc/posix-functions/wcsnlen.texi: Likewise.
28809         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28810         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
28811         * doc/posix-functions/wctrans_l.texi: Likewise.
28812         * doc/posix-functions/wctype_l.texi: Likewise.
28813         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
28814         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
28815         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
28816         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
28817         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
28818         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
28819         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
28820         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
28821         * doc/glibc-functions/wcschrnul.texi: Likewise.
28822         * doc/glibc-functions/wcsftime_l.texi: Likewise.
28823         * doc/glibc-functions/wcstod_l.texi: Likewise.
28824         * doc/glibc-functions/wcstof_l.texi: Likewise.
28825         * doc/glibc-functions/wcstol_l.texi: Likewise.
28826         * doc/glibc-functions/wcstold_l.texi: Likewise.
28827         * doc/glibc-functions/wcstoll_l.texi: Likewise.
28828         * doc/glibc-functions/wcstoq.texi: Likewise.
28829         * doc/glibc-functions/wcstoul_l.texi: Likewise.
28830         * doc/glibc-functions/wcstoull_l.texi: Likewise.
28831         * doc/glibc-functions/wcstouq.texi: Likewise.
28832         * doc/glibc-functions/wmempcpy.texi: Likewise.
28833
28834 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
28835             Eric Blake  <ebb9@byu.net>
28836             Paolo Bonzini  <bonzini@gnu.org>
28837             Bruno Haible  <bruno@clisp.org>
28838
28839         Make c-stack work on Haiku.
28840         * lib/c-stack.c (SA_ONSTACK): Define fallback.
28841         (c_stack_action): Use SA_ONSTACK flag.
28842
28843 2008-12-22  Bruno Haible  <bruno@clisp.org>
28844
28845         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
28846
28847 2008-12-22  Bruno Haible  <bruno@clisp.org>
28848
28849         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
28850         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
28851         being overridden.
28852         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
28853         New macros.
28854         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
28855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
28856         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
28857         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
28858
28859 2008-12-22  Bruno Haible  <bruno@clisp.org>
28860
28861         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
28862         from test code.
28863
28864 2008-12-22  Eric Blake  <ebb9@byu.net>
28865
28866         Avoid gcc warnings on cygwin.
28867         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
28868         Avoid unused variable.
28869         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
28870         Likewise.
28871
28872 2008-12-22  Bruno Haible  <bruno@clisp.org>
28873
28874         Remove HAVE_MBRTOWC conditionals.
28875         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
28876         (mbscasecmp): Assume mbrtowc function.
28877         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
28878         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
28879         * lib/mbschr.c: Include mbuiter.h unconditionally.
28880         (mbschr): Assume mbrtowc function.
28881         * lib/mbscspn.c: Include mbuiter.h unconditionally.
28882         (mbscspn): Assume mbrtowc function.
28883         * lib/mbslen.c: Include mbuiter.h unconditionally.
28884         (mbslen): Assume mbrtowc function.
28885         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
28886         (mbsncasecmp): Assume mbrtowc function.
28887         * lib/mbsnlen.c: Include mbiter.h unconditionally.
28888         (mbsnlen): Assume mbrtowc function.
28889         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
28890         (mbspbrk): Assume mbrtowc function.
28891         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
28892         (mbspcasecmp): Assume mbrtowc function.
28893         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
28894         (mbsrchr): Assume mbrtowc function.
28895         * lib/mbssep.c: Include mbuiter.h unconditionally.
28896         (mbssep): Assume mbrtowc function.
28897         * lib/mbsspn.c: Include mbuiter.h unconditionally.
28898         (mbsspn): Assume mbrtowc function.
28899         * lib/mbsstr.c: Include mbuiter.h unconditionally.
28900         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
28901         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
28902         (mbstok_r): Assume mbrtowc function.
28903         * lib/propername.c: Include mbuiter.h unconditionally.
28904         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
28905         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
28906         (trim2): Assume mbrtowc function.
28907         * lib/mbswidth.c (mbsinit): Remove fallback definition.
28908         (mbsnwidth): Assume mbrtowc function.
28909         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
28910         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
28911         fallback definitions.
28912         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
28913
28914 2008-12-22  Bruno Haible  <bruno@clisp.org>
28915
28916         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
28917
28918 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
28919
28920         * modules/regex: Request emulations for the mb*/wc* functions we need.
28921         * m4/regex.m4: Don't look for those functions here.
28922         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
28923
28924 2008-12-22  Bruno Haible  <bruno@clisp.org>
28925
28926         * modules/fnmatch (Depends-on): Remove duplicated dependency.
28927
28928 2008-12-21  Bruno Haible  <bruno@clisp.org>
28929
28930         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
28931         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
28932         (Include): Remove conditionalization.
28933         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
28934         (Include): Remove conditionalization.
28935         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
28936         (Include): Remove conditionalization.
28937         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
28938         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28939         * NEWS: Mention the change.
28940         Reported by Alan Hourihane <alanh@fairlite.co.uk>
28941         via Sergey Poznyakoff <gray@gnu.org.ua>.
28942
28943 2008-12-21  Bruno Haible  <bruno@clisp.org>
28944
28945         * MODULES.html.sh (Extended multibyte and wide character utilities
28946         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
28947         wcrtomb, wcsrtombs.
28948         (Support for systems lacking POSIX:2008): Add accept, bind, close,
28949         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
28950         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
28951         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
28952
28953 2008-12-21  Bruno Haible  <bruno@clisp.org>
28954
28955         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
28956
28957 2008-12-21  Bruno Haible  <bruno@clisp.org>
28958
28959         * modules/wcsnrtombs-tests: New file.
28960         * tests/test-wcsnrtombs1.sh: New file.
28961         * tests/test-wcsnrtombs2.sh: New file.
28962         * tests/test-wcsnrtombs3.sh: New file.
28963         * tests/test-wcsnrtombs4.sh: New file.
28964         * tests/test-wcsnrtombs.c: New file.
28965
28966         New module 'wcsnrtombs'.
28967         * lib/wchar.in.h (wcsnrtombs): New declaration.
28968         * lib/wcsnrtombs.c: New file.
28969         * lib/wcsrtombs-state.c: New file.
28970         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
28971         (internal_state): Remove variable.
28972         * m4/wcsnrtombs.m4: New file.
28973         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
28974         compilation units.
28975         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
28976         HAVE_WCSNRTOMBS.
28977         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
28978         HAVE_WCSNRTOMBS.
28979         * modules/wcsnrtombs: New file.
28980         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
28981         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
28982
28983 2008-12-21  Bruno Haible  <bruno@clisp.org>
28984
28985         * modules/wcsrtombs-tests: New file.
28986         * tests/test-wcsrtombs1.sh: New file.
28987         * tests/test-wcsrtombs2.sh: New file.
28988         * tests/test-wcsrtombs3.sh: New file.
28989         * tests/test-wcsrtombs4.sh: New file.
28990         * tests/test-wcsrtombs.c: New file.
28991
28992         New module 'wcsrtombs'.
28993         * lib/wchar.in.h (wcsrtombs): New declaration.
28994         * lib/wcsrtombs.c: New file.
28995         * m4/wcsrtombs.m4: New file.
28996         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
28997         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
28998         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
28999         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
29000         * modules/wcsrtombs: New file.
29001         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
29002         bugs.
29003
29004 2008-12-21  Bruno Haible  <bruno@clisp.org>
29005
29006         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
29007         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
29008         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
29009         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
29010         if not correct.
29011         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
29012         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
29013         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
29014         m4/locale-zh.m4, m4/codeset.m4.
29015         * doc/posix-functions/wcrtomb.texi: Document the bug.
29016
29017 2008-12-21  Bruno Haible  <bruno@clisp.org>
29018
29019         Work around a btowc() bug on IRIX 6.5.
29020         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
29021         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
29022         REPLACE_WTOBC if not.
29023         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
29024         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
29025         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
29026
29027 2008-12-21  Bruno Haible  <bruno@clisp.org>
29028
29029         * modules/wcrtomb-tests: New file.
29030         * tests/test-wcrtomb.sh: New file.
29031         * tests/test-wcrtomb.c: New file.
29032
29033         New module 'wcrtomb'.
29034         * lib/wchar.in.h (wcrtomb): New declaration.
29035         * lib/wcrtomb.c: New file.
29036         * m4/wcrtomb.m4: New file.
29037         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
29038         HAVE_WCRTOMB.
29039         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
29040         HAVE_WCRTOMB.
29041         * modules/wcrtomb: New file.
29042         * doc/posix-functions/wcrtomb.texi: Mention the new module.
29043
29044 2008-12-21  Bruno Haible  <bruno@clisp.org>
29045
29046         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
29047         * modules/mbsrtowcs (Files): Likewise.
29048         * modules/wctob (Files): Likewise.
29049         * modules/c-strcase-tests (Files): Likewise.
29050         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
29051         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
29052         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
29053         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
29054         * modules/vasnprintf-posix-tests (Files): Likewise.
29055
29056 2008-12-21  William Pursell  <bill.pursell@gmail.com>
29057
29058         gitlog-to-changelog: pass all command-line arguments to git-log
29059         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
29060         it is sometimes convenient to filter the commits in various ways.
29061         gitlog-to-changelog only allows --since to specify a start date,
29062         but git-log itself supports many other filtering mechanisms.
29063         At the moment, I want to filter by branch name.  Rather than
29064         adding a --branch option to gitlog-to-changelog, it seems more
29065         flexible to simply pass all options directly to git-log and let
29066         git do the work.  Notice that this effectively makes --since a
29067         redundant option for gitlog-to-changelog, but removing it would
29068         require current usage to change since calls would then require
29069         an additional '--'.
29070
29071 2008-12-21  Bruno Haible  <bruno@clisp.org>
29072
29073         * modules/mbsnrtowcs-tests: New file.
29074         * tests/test-mbsnrtowcs1.sh: New file.
29075         * tests/test-mbsnrtowcs2.sh: New file.
29076         * tests/test-mbsnrtowcs3.sh: New file.
29077         * tests/test-mbsnrtowcs4.sh: New file.
29078         * tests/test-mbsnrtowcs.c: New file.
29079
29080         New module 'mbsnrtowcs'.
29081         * lib/wchar.in.h (mbsnrtowcs): New declaration.
29082         * lib/mbsnrtowcs.c: New file.
29083         * lib/mbsrtowcs-state.c: New file.
29084         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
29085         (internal_state): Remove variable.
29086         * m4/mbsnrtowcs.m4: New file.
29087         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
29088         compilation units.
29089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
29090         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
29091         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
29092         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
29093         * modules/mbsnrtowcs: New file.
29094         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
29095         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
29096         portability problem.
29097
29098 2008-12-21  Bruno Haible  <bruno@clisp.org>
29099
29100         Work around mbsrtowcs bug.
29101         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
29102         (gl_FUNC_MBSRTOWCS): Invoke it.
29103         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
29104         m4/locale-zh.m4.
29105         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
29106
29107 2008-12-21  Bruno Haible  <bruno@clisp.org>
29108
29109         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
29110
29111 2008-12-21  Bruno Haible  <bruno@clisp.org>
29112
29113         Update doc for AIX.
29114         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
29115         16-bit wchar_t type.
29116         * doc/posix-functions/btowc.texi: Likewise.
29117         * doc/posix-functions/fgetwc.texi: Likewise.
29118         * doc/posix-functions/fgetws.texi: Likewise.
29119         * doc/posix-functions/fputwc.texi: Likewise.
29120         * doc/posix-functions/fputws.texi: Likewise.
29121         * doc/posix-functions/fwide.texi: Likewise.
29122         * doc/posix-functions/fwprintf.texi: Likewise.
29123         * doc/posix-functions/fwscanf.texi: Likewise.
29124         * doc/posix-functions/getwchar.texi: Likewise.
29125         * doc/posix-functions/getwc.texi: Likewise.
29126         * doc/posix-functions/iswalnum.texi: Likewise.
29127         * doc/posix-functions/iswalpha.texi: Likewise.
29128         * doc/posix-functions/iswblank.texi: Likewise.
29129         * doc/posix-functions/iswcntrl.texi: Likewise.
29130         * doc/posix-functions/iswctype.texi: Likewise.
29131         * doc/posix-functions/iswdigit.texi: Likewise.
29132         * doc/posix-functions/iswgraph.texi: Likewise.
29133         * doc/posix-functions/iswlower.texi: Likewise.
29134         * doc/posix-functions/iswprint.texi: Likewise.
29135         * doc/posix-functions/iswpunct.texi: Likewise.
29136         * doc/posix-functions/iswspace.texi: Likewise.
29137         * doc/posix-functions/iswupper.texi: Likewise.
29138         * doc/posix-functions/iswxdigit.texi: Likewise.
29139         * doc/posix-functions/mbrtowc.texi: Likewise.
29140         * doc/posix-functions/mbsrtowcs.texi: Likewise.
29141         * doc/posix-functions/mbstowcs.texi: Likewise.
29142         * doc/posix-functions/mbtowc.texi: Likewise.
29143         * doc/posix-functions/putwchar.texi: Likewise.
29144         * doc/posix-functions/putwc.texi: Likewise.
29145         * doc/posix-functions/swprintf.texi: Likewise.
29146         * doc/posix-functions/tolower.texi: Likewise.
29147         * doc/posix-functions/toupper.texi: Likewise.
29148         * doc/posix-functions/towctrans.texi: Likewise.
29149         * doc/posix-functions/ungetwc.texi: Likewise.
29150         * doc/posix-functions/vswprintf.texi: Likewise.
29151         * doc/posix-functions/wcrtomb.texi: Likewise.
29152         * doc/posix-functions/wcscat.texi: Likewise.
29153         * doc/posix-functions/wcschr.texi: Likewise.
29154         * doc/posix-functions/wcscmp.texi: Likewise.
29155         * doc/posix-functions/wcscoll.texi: Likewise.
29156         * doc/posix-functions/wcscpy.texi: Likewise.
29157         * doc/posix-functions/wcscspn.texi: Likewise.
29158         * doc/posix-functions/wcsftime.texi: Likewise.
29159         * doc/posix-functions/wcslen.texi: Likewise.
29160         * doc/posix-functions/wcsncat.texi: Likewise.
29161         * doc/posix-functions/wcsncmp.texi: Likewise.
29162         * doc/posix-functions/wcsncpy.texi: Likewise.
29163         * doc/posix-functions/wcspbrk.texi: Likewise.
29164         * doc/posix-functions/wcsrchr.texi: Likewise.
29165         * doc/posix-functions/wcsrtombs.texi: Likewise.
29166         * doc/posix-functions/wcsspn.texi: Likewise.
29167         * doc/posix-functions/wcsstr.texi: Likewise.
29168         * doc/posix-functions/wcstod.texi: Likewise.
29169         * doc/posix-functions/wcstof.texi: Likewise.
29170         * doc/posix-functions/wcstoimax.texi: Likewise.
29171         * doc/posix-functions/wcstok.texi: Likewise.
29172         * doc/posix-functions/wcstold.texi: Likewise.
29173         * doc/posix-functions/wcstoll.texi: Likewise.
29174         * doc/posix-functions/wcstol.texi: Likewise.
29175         * doc/posix-functions/wcstombs.texi: Likewise.
29176         * doc/posix-functions/wcstoull.texi: Likewise.
29177         * doc/posix-functions/wcstoul.texi: Likewise.
29178         * doc/posix-functions/wcstoumax.texi: Likewise.
29179         * doc/posix-functions/wcswidth.texi: Likewise.
29180         * doc/posix-functions/wcsxfrm.texi: Likewise.
29181         * doc/posix-functions/wctob.texi: Likewise.
29182         * doc/posix-functions/wctomb.texi: Likewise.
29183         * doc/posix-functions/wctrans.texi: Likewise.
29184         * doc/posix-functions/wctype.texi: Likewise.
29185         * doc/posix-functions/wcwidth.texi: Likewise.
29186         * doc/posix-functions/wmemchr.texi: Likewise.
29187         * doc/posix-functions/wmemcmp.texi: Likewise.
29188         * doc/posix-functions/wmemcpy.texi: Likewise.
29189         * doc/posix-functions/wmemmove.texi: Likewise.
29190         * doc/posix-functions/wmemset.texi: Likewise.
29191         * doc/posix-functions/wprintf.texi: Likewise.
29192         * doc/posix-functions/wscanf.texi: Likewise.
29193
29194 2008-12-21  Bruno Haible  <bruno@clisp.org>
29195
29196         Update doc for HP-UX 11.11.
29197         * doc/posix-functions/btowc.texi: Clarify that the function is missing
29198         in HP-UX version 11.00, not in all versions of HP-UX 11.
29199         * doc/posix-functions/fwide.texi: Likewise.
29200         * doc/posix-functions/fwprintf.texi: Likewise.
29201         * doc/posix-functions/fwscanf.texi: Likewise.
29202         * doc/posix-functions/inet_ntop.texi: Likewise.
29203         * doc/posix-functions/inet_pton.texi: Likewise.
29204         * doc/posix-functions/mbrlen.texi: Likewise.
29205         * doc/posix-functions/mbrtowc.texi: Likewise.
29206         * doc/posix-functions/mbsinit.texi: Likewise.
29207         * doc/posix-functions/mbsrtowcs.texi: Likewise.
29208         * doc/posix-functions/swprintf.texi: Likewise.
29209         * doc/posix-functions/swscanf.texi: Likewise.
29210         * doc/posix-functions/towctrans.texi: Likewise.
29211         * doc/posix-functions/vfwprintf.texi: Likewise.
29212         * doc/posix-functions/vswprintf.texi: Likewise.
29213         * doc/posix-functions/vwprintf.texi: Likewise.
29214         * doc/posix-functions/wcrtomb.texi: Likewise.
29215         * doc/posix-functions/wcsrtombs.texi: Likewise.
29216         * doc/posix-functions/wcsstr.texi: Likewise.
29217         * doc/posix-functions/wctob.texi: Likewise.
29218         * doc/posix-functions/wctrans.texi: Likewise.
29219         * doc/posix-functions/wmemchr.texi: Likewise.
29220         * doc/posix-functions/wmemcmp.texi: Likewise.
29221         * doc/posix-functions/wmemcpy.texi: Likewise.
29222         * doc/posix-functions/wmemmove.texi: Likewise.
29223         * doc/posix-functions/wmemset.texi: Likewise.
29224         * doc/posix-functions/wprintf.texi: Likewise.
29225         * doc/posix-functions/wscanf.texi: Likewise.
29226
29227 2008-12-21  Bruno Haible  <bruno@clisp.org>
29228
29229         Work around a portability problem.
29230         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
29231         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
29232
29233 2008-12-20  Bruno Haible  <bruno@clisp.org>
29234
29235         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
29236         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
29237         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
29238         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
29239         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
29240
29241         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
29242         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
29243         set.
29244         (GNULIB_defined_mbstate_t): New macro.
29245         (mbsinit): Redefine if REPLACE_MBSINIT is set.
29246         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
29247         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
29248         reuses the system's mbrtowc function but works around the bugs.
29249         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
29250         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
29251         macros.
29252         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
29253         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
29254         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
29255         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
29256         REPLACE_MBSINIT if mbsinit needs to be overridden.
29257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
29258         REPLACE_MBSINIT, REPLACE_MBRTOWC.
29259         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
29260         REPLACE_MBSINIT, REPLACE_MBRTOWC.
29261         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
29262         m4/locale-zh.m4.
29263         (Depends): Add mbsinit.
29264         * modules/mbsinit (Depends): Add mbrtowc.
29265         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
29266
29267 2008-12-20  Bruno Haible  <bruno@clisp.org>
29268
29269         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
29270         so that there are no conversion errors on AIX.
29271         * tests/test-mbsrtowcs.c (main): LIkewise.
29272
29273 2008-12-20  Bruno Haible  <bruno@clisp.org>
29274
29275         Work around wctob bug on Solaris <= 9.
29276         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
29277         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
29278         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
29279         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
29280         * modules/wctob (Files): Add m4/locale-fr.m4.
29281         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
29282
29283 2008-12-20  Bruno Haible  <bruno@clisp.org>
29284
29285         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
29286         /dev/null.
29287         * tests/test-select-in.sh: Likewise.
29288         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29289
29290 2008-12-20  Bruno Haible  <bruno@clisp.org>
29291
29292         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
29293         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
29294         Cygwin 1.5.x.
29295
29296 2008-12-20  Bruno Haible  <bruno@clisp.org>
29297
29298         Ensure mbstate_t is defined on HP-UX 11.11.
29299         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
29300         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
29301         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
29302         AC_USE_SYSTEM_EXTENSIONS.
29303         * modules/fnmatch (Depends-on): Add extensions.
29304         * modules/mbrlen (Depends-on): Likewise.
29305         * modules/mbrtowc (Depends-on): Likewise.
29306         * modules/mbsinit (Depends-on): Likewise.
29307         * modules/mbsrtowcs (Depends-on): Likewise.
29308         * modules/mbswidth (Depends-on): Likewise.
29309         * modules/quotearg (Depends-on): Likewise.
29310         * modules/strftime (Depends-on): Likewise.
29311
29312 2008-12-20  Bruno Haible  <bruno@clisp.org>
29313
29314         Ensure wctob is declared on IRIX 6.5.
29315         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
29316         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
29317         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
29318         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
29319         of HAVE_WCTOB.
29320         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
29321         HAVE_WCTOB.
29322         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
29323
29324 2008-12-19  Bruno Haible  <bruno@clisp.org>
29325
29326         * modules/mbsrtowcs-tests: New file.
29327         * tests/test-mbsrtowcs1.sh: New file.
29328         * tests/test-mbsrtowcs2.sh: New file.
29329         * tests/test-mbsrtowcs3.sh: New file.
29330         * tests/test-mbsrtowcs4.sh: New file.
29331         * tests/test-mbsrtowcs.c: New file.
29332
29333         New module 'mbsrtowcs'.
29334         * lib/wchar.in.h (mbsrtowcs): New declaration.
29335         * lib/mbsrtowcs.c: New file.
29336         * m4/mbsrtowcs.m4: New file.
29337         * modules/mbsrtowcs: New file.
29338         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
29339         HAVE_MBSRTOWCS.
29340         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
29341         HAVE_MBSRTOWCS.
29342         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
29343
29344 2008-12-19  Bruno Haible  <bruno@clisp.org>
29345
29346         New module 'mbrlen'.
29347         * lib/wchar.in.h (mbrlen): New declaration.
29348         * lib/mbrlen.c: New file.
29349         * m4/mbrlen.m4: New file.
29350         * modules/mbrlen: New file.
29351         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
29352         HAVE_MBRLEN.
29353         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
29354         HAVE_MBRLEN.
29355         * doc/posix-functions/mbrlen.texi: Document the new module.
29356
29357 2008-12-19  Bruno Haible  <bruno@clisp.org>
29358
29359         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
29360         * modules/mbrtowc (Depends-on): Add verify.
29361         Suggested by Paul Eggert.
29362
29363 2008-12-18  Bruno Haible  <bruno@clisp.org>
29364
29365         * modules/mbsinit-tests: New file.
29366         * tests/test-mbsinit.sh: New file.
29367         * tests/test-mbsinit.c: New file.
29368
29369 2008-12-18  Bruno Haible  <bruno@clisp.org>
29370
29371         * modules/mbrtowc-tests: New file.
29372         * tests/test-mbrtowc1.sh: New file.
29373         * tests/test-mbrtowc2.sh: New file.
29374         * tests/test-mbrtowc3.sh: New file.
29375         * tests/test-mbrtowc4.sh: New file.
29376         * tests/test-mbrtowc.c: New file.
29377
29378         New module 'mbrtowc'.
29379         * lib/wchar.in.h (mbstate_t): Override when the system does not have
29380         mbsinit and mbrtowc.
29381         (mbrtowc): New declaration.
29382         * lib/mbrtowc.c: New file.
29383         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
29384         * modules/mbrtowc: New file.
29385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
29386         HAVE_MBRTOWC.
29387         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
29388         HAVE_MBRTOWC.
29389         * doc/posix-functions/mbrtowc.texi: Document the new module.
29390
29391 2008-12-18  Bruno Haible  <bruno@clisp.org>
29392
29393         New module 'wctob'.
29394         * lib/wchar.in.h (wctob): New declaration.
29395         * lib/wctob.c: New file.
29396         * m4/wctob.m4: New file.
29397         * modules/wctob: New file.
29398         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
29399         HAVE_WCTOB.
29400         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
29401         * doc/posix-functions/wctob.texi: Document the new module.
29402
29403 2008-12-18  Bruno Haible  <bruno@clisp.org>
29404
29405         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
29406         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
29407
29408 2008-12-18  Simon Josefsson  <simon@josefsson.org>
29409
29410         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
29411         G. Christensen" <tgc@jupiterrise.com>.
29412
29413         * lib/flock.c: Need to include errno.h.  Reported by "Tom
29414         G. Christensen" <tgc@jupiterrise.com>.
29415
29416         * lib/flock.c: Need to include string.h.  Reported by "Tom
29417         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
29418         <ebb9@byu.net>.
29419
29420 2008-12-18  Bruno Haible  <bruno@clisp.org>
29421
29422         * m4/locale-ja.m4: New file, from GNU gettext.
29423
29424 2008-12-17  Bruno Haible  <bruno@clisp.org>
29425
29426         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
29427         Suggested by Eric Blake.
29428
29429 2008-12-17  Bruno Haible  <bruno@clisp.org>
29430
29431         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
29432
29433 2008-12-17  Bruno Haible  <bruno@clisp.org>
29434
29435         * lib/mbsinit.c: Include verify.h. Verify an assumption.
29436         * modules/mbsinit (Depends-on): Add verify.
29437         Suggested by Paul Eggert.
29438
29439 2008-12-17  Bruno Haible  <bruno@clisp.org>
29440
29441         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
29442         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
29443         gl_FUNC_MBRTOWC.
29444         * m4/mbiter.m4 (gl_MBITER): LIkewise.
29445         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
29446         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
29447         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
29448         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
29449         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
29450         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
29451         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
29452         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
29453         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
29454         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
29455         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
29456         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
29457         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
29458         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
29459         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29460         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
29461         * modules/trim (configure.ac): Likewise.
29462
29463 2008-12-17  Bruno Haible  <bruno@clisp.org>
29464
29465         * modules/btowc-tests: New file.
29466         * tests/test-btowc1.sh: New file.
29467         * tests/test-btowc2.sh: New file.
29468         * tests/test-btowc.c: New file.
29469
29470         New module 'btowc'.
29471         * lib/wchar.in.h (btowc): New declaration.
29472         * lib/btowc.c: New file.
29473         * m4/btowc.m4: New file.
29474         * modules/btowc: New file.
29475         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
29476         HAVE_BTOWC.
29477         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
29478         * doc/posix-functions/btowc.texi: Document the new module.
29479
29480 2008-12-17  Bruno Haible  <bruno@clisp.org>
29481
29482         New module 'mbsinit'.
29483         * lib/wchar.in.h (mbsinit): New declaration.
29484         * lib/mbsinit.c: New file.
29485         * m4/mbsinit.m4: New file.
29486         * modules/mbsinit: New file.
29487         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
29488         HAVE_MBSINIT.
29489         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
29490         HAVE_MBSINIT.
29491         * doc/posix-functions/mbsinit.texi: Document the new module.
29492
29493 2008-12-16  Bruno Haible  <bruno@clisp.org>
29494
29495         * lib/unistd.in.h: Add comment.
29496         * tests/test-environ.c: Don't include <stdlib.h>.
29497
29498 2008-12-16  Bruno Haible  <bruno@clisp.org>
29499
29500         * lib/parse-duration.h (parse_duration): Document return value
29501         convention.
29502         * lib/parse-duration.c: Include specification header first. Add
29503         comments.
29504         (_): Remove macro.
29505         (parse_year_month_day, parse_hour_minute_second): Move side effects
29506         outside of strchr call.
29507         (parse_non_iso8601): Move side effects outside of isspace call.
29508         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
29509         call.
29510
29511 2008-12-16  Bruno Haible  <bruno@clisp.org>
29512
29513         * tests/test-parse-duration.sh: Produce no output when the test
29514         succeeds.
29515
29516 2008-12-16  Bruno Haible  <bruno@clisp.org>
29517
29518         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
29519         expressions.
29520
29521 2008-12-15  Bruno Haible  <bruno@clisp.org>
29522
29523         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
29524         * doc/glibc-functions/flistxattr.texi: Likewise.
29525         * doc/glibc-functions/fopencookie.texi: Likewise.
29526         * doc/glibc-functions/fremovexattr.texi: Likewise.
29527         * doc/glibc-functions/fsetxattr.texi: Likewise.
29528         * doc/glibc-functions/getxattr.texi: Likewise.
29529         * doc/glibc-functions/lgetxattr.texi: Likewise.
29530         * doc/glibc-functions/listxattr.texi: Likewise.
29531         * doc/glibc-functions/llistxattr.texi: Likewise.
29532         * doc/glibc-functions/lremovexattr.texi: Likewise.
29533         * doc/glibc-functions/lsetxattr.texi: Likewise.
29534         * doc/glibc-functions/removexattr.texi: Likewise.
29535         * doc/glibc-functions/setxattr.texi: Likewise.
29536         * doc/posix-functions/open_memstream.texi: Likewise.
29537
29538 2008-12-15  Eric Blake  <ebb9@byu.net>
29539
29540         Update doc for cygwin 1.7.
29541         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
29542         functions.
29543         * doc/posix-functions/fchmodat.texi: Likewise.
29544         * doc/posix-functions/fchownat.texi: Likewise.
29545         * doc/posix-functions/fdopendir.texi: Likewise.
29546         * doc/posix-functions/fmemopen.texi: Likewise.
29547         * doc/posix-functions/freeaddrinfo.texi: Likewise.
29548         * doc/posix-functions/fstatat.texi: Likewise.
29549         * doc/posix-functions/futimens.texi: Likewise.
29550         * doc/posix-functions/gai_strerror.texi: Likewise.
29551         * doc/posix-functions/getaddrinfo.texi: Likewise.
29552         * doc/posix-functions/getnameinfo.texi: Likewise.
29553         * doc/posix-functions/if_freenameindex.texi: Likewise.
29554         * doc/posix-functions/if_indextoname.texi: Likewise.
29555         * doc/posix-functions/if_nameindex.texi: Likewise.
29556         * doc/posix-functions/if_nametoindex.texi: Likewise.
29557         * doc/posix-functions/insque.texi: Likewise.
29558         * doc/posix-functions/linkat.texi: Likewise.
29559         * doc/posix-functions/llrint.texi: Likewise.
29560         * doc/posix-functions/llrintf.texi: Likewise.
29561         * doc/posix-functions/llrintl.texi: Likewise.
29562         * doc/posix-functions/lockf.texi: Likewise.
29563         * doc/posix-functions/lrintl.texi: Likewise.
29564         * doc/posix-functions/mkdirat.texi: Likewise.
29565         * doc/posix-functions/mkfifoat.texi: Likewise.
29566         * doc/posix-functions/mknodat.texi: Likewise.
29567         * doc/posix-functions/mq_close.texi: Likewise.
29568         * doc/posix-functions/mq_getattr.texi: Likewise.
29569         * doc/posix-functions/mq_notify.texi: Likewise.
29570         * doc/posix-functions/mq_open.texi: Likewise.
29571         * doc/posix-functions/mq_receive.texi: Likewise.
29572         * doc/posix-functions/mq_send.texi: Likewise.
29573         * doc/posix-functions/mq_setattr.texi: Likewise.
29574         * doc/posix-functions/mq_timedreceive.texi: Likewise.
29575         * doc/posix-functions/mq_timedsend.texi: Likewise.
29576         * doc/posix-functions/mq_unlink.texi: Likewise.
29577         * doc/posix-functions/open_memstream.texi: Likewise.
29578         * doc/posix-functions/openat.texi: Likewise.
29579         * doc/posix-functions/posix_fadvise.texi: Likewise.
29580         * doc/posix-functions/posix_fallocate.texi: Likewise.
29581         * doc/posix-functions/posix_madvise.texi: Likewise.
29582         * doc/posix-functions/posix_memalign.texi: Likewise.
29583         * doc/posix-functions/posix_openpt.texi: Likewise.
29584         * doc/posix-functions/readlinkat.texi: Likewise.
29585         * doc/posix-functions/remque.texi: Likewise.
29586         * doc/posix-functions/renameat.texi: Likewise.
29587         * doc/posix-functions/rintl.texi: Likewise.
29588         * doc/posix-functions/sem_unlink.texi: Likewise.
29589         * doc/posix-functions/shm_open.texi: Likewise.
29590         * doc/posix-functions/shm_unlink.texi: Likewise.
29591         * doc/posix-functions/signgam.texi: Likewise.
29592         * doc/posix-functions/sigset.texi: Likewise.
29593         * doc/posix-functions/stpcpy.texi: Likewise.
29594         * doc/posix-functions/stpncpy.texi: Likewise.
29595         * doc/posix-functions/strerror.texi: Likewise.
29596         * doc/posix-functions/strtod.texi: Likewise.
29597         * doc/posix-functions/symlinkat.texi: Likewise.
29598         * doc/posix-functions/unlinkat.texi: Likewise.
29599         * doc/posix-functions/utimensat.texi: Likewise.
29600         * doc/glibc-functions/bindresvport.texi: Likewise.
29601         * doc/glibc-functions/dn_expand.texi: Likewise.
29602         * doc/glibc-functions/exp10.texi: Likewise.
29603         * doc/glibc-functions/exp10f.texi: Likewise.
29604         * doc/glibc-functions/fgetxattr.texi: Likewise.
29605         * doc/glibc-functions/flistxattr.texi: Likewise.
29606         * doc/glibc-functions/fopencookie.texi: Likewise.
29607         * doc/glibc-functions/freeifaddrs.texi: Likewise.
29608         * doc/glibc-functions/fremovexattr.texi: Likewise.
29609         * doc/glibc-functions/fsetxattr.texi: Likewise.
29610         * doc/glibc-functions/getifaddrs.texi: Likewise.
29611         * doc/glibc-functions/getxattr.texi: Likewise.
29612         * doc/glibc-functions/lgetxattr.texi: Likewise.
29613         * doc/glibc-functions/listxattr.texi: Likewise.
29614         * doc/glibc-functions/llistxattr.texi: Likewise.
29615         * doc/glibc-functions/lremovexattr.texi: Likewise.
29616         * doc/glibc-functions/lsetxattr.texi: Likewise.
29617         * doc/glibc-functions/pow10.texi: Likewise.
29618         * doc/glibc-functions/pow10f.texi: Likewise.
29619         * doc/glibc-functions/rcmd_af.texi: Likewise.
29620         * doc/glibc-functions/removexattr.texi: Likewise.
29621         * doc/glibc-functions/res_init.texi: Likewise.
29622         * doc/glibc-functions/res_mkquery.texi: Likewise.
29623         * doc/glibc-functions/res_query.texi: Likewise.
29624         * doc/glibc-functions/res_querydomain.texi: Likewise.
29625         * doc/glibc-functions/res_send.texi: Likewise.
29626         * doc/glibc-functions/rresvport_af.texi: Likewise.
29627         * doc/glibc-functions/setxattr.texi: Likewise.
29628         * doc/glibc-functions/strcasestr.texi: Likewise.
29629
29630 2008-12-15  Bruno Haible  <bruno@clisp.org>
29631
29632         Fix compilation error on OSF/1 4.0.
29633         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
29634         <sys/time.h>, simply delegate to the system header.
29635         Reported by Daniel Richard G. <oss@teragram.com>.
29636
29637 2008-12-15  Bruno Haible  <bruno@clisp.org>
29638
29639         * doc/posix-functions/openat.texi: Mention the 'openat' module.
29640         * doc/posix-functions/fchmodat.texi: Likewise.
29641         * doc/posix-functions/fchownat.texi: Likewise.
29642         * doc/posix-functions/fdopendir.texi: Likewise.
29643         * doc/posix-functions/fstatat.texi: Likewise.
29644         * doc/posix-functions/mkdirat.texi: Likewise.
29645         * doc/posix-functions/unlinkat.texi: Likewise.
29646
29647 2008-12-14  Bruno Haible  <bruno@clisp.org>
29648
29649         Update doc for POSIX:2008.
29650         * doc/posix-functions/faccessat.texi: New file.
29651         * doc/posix-functions/fchmodat.texi: New file.
29652         * doc/posix-functions/fchownat.texi: New file.
29653         * doc/posix-functions/fdopendir.texi: New file.
29654         * doc/posix-functions/fstatat.texi: New file.
29655         * doc/posix-functions/futimens.texi: New file.
29656         * doc/posix-functions/linkat.texi: New file.
29657         * doc/posix-functions/mkdirat.texi: New file.
29658         * doc/posix-functions/mkfifoat.texi: New file.
29659         * doc/posix-functions/mknodat.texi: New file.
29660         * doc/posix-functions/open_wmemstream.texi: New file.
29661         * doc/posix-functions/openat.texi: New file.
29662         * doc/posix-functions/psiginfo.texi: New file.
29663         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
29664         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
29665         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
29666         * doc/posix-functions/readlinkat.texi: New file.
29667         * doc/posix-functions/renameat.texi: New file.
29668         * doc/posix-functions/strerror_l.texi: New file.
29669         * doc/posix-functions/symlinkat.texi: New file.
29670         * doc/posix-functions/unlinkat.texi: New file.
29671         * doc/posix-functions/utimensat.texi: New file.
29672         * doc/gnulib.texi (Function Substitutes): Add these subsections.
29673
29674 2008-12-14  Bruno Haible  <bruno@clisp.org>
29675
29676         Update doc for POSIX:2008.
29677         * doc/posix-functions/alphasort.texi: Renamed from
29678         doc/glibc-functions/alphasort.texi.
29679         * doc/posix-functions/dirfd.texi: Renamed from
29680         doc/glibc-functions/dirfd.texi.
29681         * doc/posix-functions/dprintf.texi: Renamed from
29682         doc/glibc-functions/dprintf.texi.
29683         * doc/posix-functions/duplocale.texi: Renamed from
29684         doc/glibc-functions/duplocale.texi.
29685         * doc/posix-functions/fexecve.texi: Renamed from
29686         doc/glibc-functions/fexecve.texi.
29687         * doc/posix-functions/fmemopen.texi: Renamed from
29688         doc/glibc-functions/fmemopen.texi.
29689         * doc/posix-functions/freelocale.texi: Renamed from
29690         doc/glibc-functions/freelocale.texi.
29691         * doc/posix-functions/getdate_err.texi: Renamed from
29692         doc/glibc-functions/getdate_err.texi.
29693         * doc/posix-functions/isalnum_l.texi: Renamed from
29694         doc/glibc-functions/isalnum_l.texi.
29695         * doc/posix-functions/isalpha_l.texi: Renamed from
29696         doc/glibc-functions/isalpha_l.texi.
29697         * doc/posix-functions/isblank_l.texi: Renamed from
29698         doc/glibc-functions/isblank_l.texi.
29699         * doc/posix-functions/iscntrl_l.texi: Renamed from
29700         doc/glibc-functions/iscntrl_l.texi.
29701         * doc/posix-functions/isdigit_l.texi: Renamed from
29702         doc/glibc-functions/isdigit_l.texi.
29703         * doc/posix-functions/isgraph_l.texi: Renamed from
29704         doc/glibc-functions/isgraph_l.texi.
29705         * doc/posix-functions/islower_l.texi: Renamed from
29706         doc/glibc-functions/islower_l.texi.
29707         * doc/posix-functions/isprint_l.texi: Renamed from
29708         doc/glibc-functions/isprint_l.texi.
29709         * doc/posix-functions/ispunct_l.texi: Renamed from
29710         doc/glibc-functions/ispunct_l.texi.
29711         * doc/posix-functions/isspace_l.texi: Renamed from
29712         doc/glibc-functions/isspace_l.texi.
29713         * doc/posix-functions/isupper_l.texi: Renamed from
29714         doc/glibc-functions/isupper_l.texi.
29715         * doc/posix-functions/iswalnum_l.texi: Renamed from
29716         doc/glibc-functions/iswalnum_l.texi.
29717         * doc/posix-functions/iswalpha_l.texi: Renamed from
29718         doc/glibc-functions/iswalpha_l.texi.
29719         * doc/posix-functions/iswblank_l.texi: Renamed from
29720         doc/glibc-functions/iswblank_l.texi.
29721         * doc/posix-functions/iswcntrl_l.texi: Renamed from
29722         doc/glibc-functions/iswcntrl_l.texi.
29723         * doc/posix-functions/iswctype_l.texi: Renamed from
29724         doc/glibc-functions/iswctype_l.texi.
29725         * doc/posix-functions/iswdigit_l.texi: Renamed from
29726         doc/glibc-functions/iswdigit_l.texi.
29727         * doc/posix-functions/iswgraph_l.texi: Renamed from
29728         doc/glibc-functions/iswgraph_l.texi.
29729         * doc/posix-functions/iswlower_l.texi: Renamed from
29730         doc/glibc-functions/iswlower_l.texi.
29731         * doc/posix-functions/iswprint_l.texi: Renamed from
29732         doc/glibc-functions/iswprint_l.texi.
29733         * doc/posix-functions/iswpunct_l.texi: Renamed from
29734         doc/glibc-functions/iswpunct_l.texi.
29735         * doc/posix-functions/iswspace_l.texi: Renamed from
29736         doc/glibc-functions/iswspace_l.texi.
29737         * doc/posix-functions/iswupper_l.texi: Renamed from
29738         doc/glibc-functions/iswupper_l.texi.
29739         * doc/posix-functions/iswxdigit_l.texi: Renamed from
29740         doc/glibc-functions/iswxdigit_l.texi.
29741         * doc/posix-functions/isxdigit_l.texi: Renamed from
29742         doc/glibc-functions/isxdigit_l.texi.
29743         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
29744         doc/glibc-functions/mbsnrtowcs.texi.
29745         * doc/posix-functions/mkdtemp.texi: Renamed from
29746         doc/glibc-functions/mkdtemp.texi.
29747         * doc/posix-functions/newlocale.texi: Renamed from
29748         doc/glibc-functions/newlocale.texi.
29749         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
29750         doc/glibc-functions/nl_langinfo_l.texi.
29751         * doc/posix-functions/open_memstream.texi: Renamed from
29752         doc/glibc-functions/open_memstream.texi.
29753         * doc/posix-functions/opterr.texi: Renamed from
29754         doc/glibc-functions/opterr.texi.
29755         * doc/posix-functions/optind.texi: Renamed from
29756         doc/glibc-functions/optind.texi.
29757         * doc/posix-functions/optopt.texi: Renamed from
29758         doc/glibc-functions/optopt.texi.
29759         * doc/posix-functions/psignal.texi: Renamed from
29760         doc/glibc-functions/psignal.texi.
29761         * doc/posix-functions/scandir.texi: Renamed from
29762         doc/glibc-functions/scandir.texi.
29763         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
29764         doc/glibc-functions/sched_get_priority_min.texi.
29765         * doc/posix-functions/signgam.texi: Renamed from
29766         doc/glibc-functions/signgam.texi.
29767         * doc/posix-functions/stpcpy.texi: Renamed from
29768         doc/glibc-functions/stpcpy.texi.
29769         * doc/posix-functions/stpncpy.texi: Renamed from
29770         doc/glibc-functions/stpncpy.texi.
29771         * doc/posix-functions/strcasecmp_l.texi: Renamed from
29772         doc/glibc-functions/strcasecmp_l.texi.
29773         * doc/posix-functions/strcoll_l.texi: Renamed from
29774         doc/glibc-functions/strcoll_l.texi.
29775         * doc/posix-functions/strfmon_l.texi: Renamed from
29776         doc/glibc-functions/strfmon_l.texi.
29777         * doc/posix-functions/strftime_l.texi: Renamed from
29778         doc/glibc-functions/strftime_l.texi.
29779         * doc/posix-functions/strncasecmp_l.texi: Renamed from
29780         doc/glibc-functions/strncasecmp_l.texi.
29781         * doc/posix-functions/strndup.texi: Renamed from
29782         doc/glibc-functions/strndup.texi.
29783         * doc/posix-functions/strnlen.texi: Renamed from
29784         doc/glibc-functions/strnlen.texi.
29785         * doc/posix-functions/strsignal.texi: Renamed from
29786         doc/glibc-functions/strsignal.texi.
29787         * doc/posix-functions/strxfrm_l.texi: Renamed from
29788         doc/glibc-functions/strxfrm_l.texi.
29789         * doc/posix-functions/timer_gettime.texi: Renamed from
29790         doc/glibc-functions/timer_gettime.texi.
29791         * doc/posix-functions/tolower_l.texi: Renamed from
29792         doc/glibc-functions/tolower_l.texi.
29793         * doc/posix-functions/toupper_l.texi: Renamed from
29794         doc/glibc-functions/toupper_l.texi.
29795         * doc/posix-functions/towctrans_l.texi: Renamed from
29796         doc/glibc-functions/towctrans_l.texi.
29797         * doc/posix-functions/towlower_l.texi: Renamed from
29798         doc/glibc-functions/towlower_l.texi.
29799         * doc/posix-functions/towupper_l.texi: Renamed from
29800         doc/glibc-functions/towupper_l.texi.
29801         * doc/posix-functions/uselocale.texi: Renamed from
29802         doc/glibc-functions/uselocale.texi.
29803         * doc/posix-functions/vdprintf.texi: Renamed from
29804         doc/glibc-functions/vdprintf.texi.
29805         * doc/posix-functions/wcpcpy.texi:
29806         Renamed from doc/glibc-functions/wcpcpy.texi.
29807         * doc/posix-functions/wcpncpy.texi: Renamed from
29808         doc/glibc-functions/wcpncpy.texi.
29809         * doc/posix-functions/wcscasecmp.texi: Renamed from
29810         doc/glibc-functions/wcscasecmp.texi.
29811         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
29812         doc/glibc-functions/wcscasecmp_l.texi.
29813         * doc/posix-functions/wcscoll_l.texi: Renamed from
29814         doc/glibc-functions/wcscoll_l.texi.
29815         * doc/posix-functions/wcsdup.texi: Renamed from
29816         doc/glibc-functions/wcsdup.texi.
29817         * doc/posix-functions/wcsncasecmp.texi: Renamed from
29818         doc/glibc-functions/wcsncasecmp.texi.
29819         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
29820         doc/glibc-functions/wcsncasecmp_l.texi.
29821         * doc/posix-functions/wcsnlen.texi: Renamed from
29822         doc/glibc-functions/wcsnlen.texi.
29823         * doc/posix-functions/wcsnrtombs.texi: Renamed from
29824         doc/glibc-functions/wcsnrtombs.texi.
29825         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
29826         doc/glibc-functions/wcsxfrm_l.texi.
29827         * doc/posix-functions/wctrans_l.texi: Renamed from
29828         doc/glibc-functions/wctrans_l.texi.
29829         * doc/posix-functions/wctype_l.texi: Renamed from
29830         doc/glibc-functions/wctype_l.texi.
29831         * doc/gnulib.texi (Function Substitutes): Add these subsections.
29832         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
29833         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
29834         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
29835         these subsections.
29836         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
29837         Remove sections.
29838
29839 2008-12-14  Bruno Haible  <bruno@clisp.org>
29840
29841         Update doc for POSIX:2008.
29842         * doc/posix-functions/*.texi: Update URL of POSIX specification.
29843
29844 2008-12-14  Bruno Haible  <bruno@clisp.org>
29845
29846         Update doc for POSIX:2008.
29847         * doc/pastposix-functions/bcmp.texi: Renamed from
29848         doc/posix-functions/bcmp.texi.
29849         * doc/pastposix-functions/bcopy.texi: Renamed from
29850         doc/posix-functions/bcopy.texi.
29851         * doc/pastposix-functions/bsd_signal.texi: Renamed from
29852         doc/posix-functions/bsd_signal.texi.
29853         * doc/pastposix-functions/bzero.texi: Renamed from
29854         doc/posix-functions/bzero.texi.
29855         * doc/pastposix-functions/ecvt.texi: Renamed from
29856         doc/posix-functions/ecvt.texi.
29857         * doc/pastposix-functions/fcvt.texi: Renamed from
29858         doc/posix-functions/fcvt.texi.
29859         * doc/pastposix-functions/ftime.texi: Renamed from
29860         doc/posix-functions/ftime.texi.
29861         * doc/pastposix-functions/gcvt.texi: Renamed from
29862         doc/posix-functions/gcvt.texi.
29863         * doc/pastposix-functions/getcontext.texi: Renamed from
29864         doc/posix-functions/getcontext.texi.
29865         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
29866         doc/posix-functions/gethostbyaddr.texi.
29867         * doc/pastposix-functions/gethostbyname.texi: Renamed from
29868         doc/posix-functions/gethostbyname.texi.
29869         * doc/pastposix-functions/getwd.texi: Renamed from
29870         doc/posix-functions/getwd.texi.
29871         * doc/pastposix-functions/h_errno.texi: Renamed from
29872         doc/posix-functions/h_errno.texi.
29873         * doc/pastposix-functions/index.texi: Renamed from
29874         doc/posix-functions/index.texi.
29875         * doc/pastposix-functions/makecontext.texi: Renamed from
29876         doc/posix-functions/makecontext.texi.
29877         * doc/pastposix-functions/mktemp.texi: Renamed from
29878         doc/posix-functions/mktemp.texi.
29879         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
29880         doc/posix-functions/pthread_attr_getstackaddr.texi.
29881         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
29882         doc/posix-functions/pthread_attr_setstackaddr.texi.
29883         * doc/pastposix-functions/rindex.texi: Renamed from
29884         doc/posix-functions/rindex.texi.
29885         * doc/pastposix-functions/scalb.texi: Renamed from
29886         doc/posix-functions/scalb.texi.
29887         * doc/pastposix-functions/setcontext.texi: Renamed from
29888         doc/posix-functions/setcontext.texi.
29889         * doc/pastposix-functions/swapcontext.texi: Renamed from
29890         doc/posix-functions/swapcontext.texi.
29891         * doc/pastposix-functions/ualarm.texi: Renamed from
29892         doc/posix-functions/ualarm.texi.
29893         * doc/pastposix-functions/usleep.texi: Renamed from
29894         doc/posix-functions/usleep.texi.
29895         * doc/pastposix-functions/vfork.texi: Renamed from
29896         doc/posix-functions/vfork.texi.
29897         * doc/pastposix-functions/wcswcs.texi: Renamed from
29898         doc/posix-functions/wcswcs.texi.
29899         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
29900         (Function Substitutes): Update.
29901
29902 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29903
29904         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
29905         m4/strerror.m4.
29906
29907 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29908             Bruno Haible  <bruno@clisp.org>
29909
29910         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
29911
29912 2008-12-13  Bruno Haible  <bruno@clisp.org>
29913
29914         * modules/strtoull (Depends-on): Remove unistd.
29915
29916 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29917
29918         * modules/strtoull (Depends-on): Add stdlib.
29919
29920 2008-12-11  Simon Josefsson  <simon@josefsson.org>
29921
29922         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
29923
29924 2008-12-10  Jim Meyering  <meyering@redhat.com>
29925
29926         gl_ASSERT: don't say assertions are disabled when they're not
29927         * m4/assert.m4 (gl_ASSERT): Do not make configure report
29928         "checking whether to enable assertions... no", when they are in
29929         fact enabled.  This is solely a bug in the output of configure.
29930         In spite of saying "no", NDEBUG was not defined in that case.
29931         Also, as noted by Eric Blake, leave assertions enabled upon
29932         --enable-assert=INVALID.
29933
29934 2008-12-10  Bruno Haible  <bruno@clisp.org>
29935
29936         Change MODULES.html to refer to POSIX:2008 where possible.
29937         * MODULES.html.sh (POSIX2008_URL): New variable.
29938         (posix_headers): Remove sys/timeb, ucontext.
29939         (posix2001_headers): New variable.
29940         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
29941         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
29942         index, makecontext, mktemp, pthread_attr_getstackaddr,
29943         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
29944         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
29945         (posix2001_functions): New variable.
29946         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
29947         otherwise.
29948
29949 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29950
29951         add missing include to parse-duration.c
29952         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
29953         * modules/parse-duration (Depends-on): Add xalloc.
29954
29955         fix sed script reading maint.mk
29956         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
29957         (syntax-check-rules): Use it.
29958
29959 2008-12-09  Bruno Haible  <bruno@clisp.org>
29960
29961         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
29962         MacOS X 10.4/PowerPC.
29963         Reported by Simon Josefsson.
29964
29965 2008-12-08  Jim Meyering  <meyering@redhat.com>
29966
29967         work around mingw's lack of some S_IF definitions
29968         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
29969         Reported by Simon Josefsson.
29970
29971 2008-12-08  Bruno Haible  <bruno@clisp.org>
29972
29973         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
29974         applied to variables. Needed on MacOS X 10.4/PowerPC.
29975         Reported by Simon Josefsson.
29976
29977 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
29978         and Eric Blake  <ebb9@byu.net>
29979
29980         assert: honor --enable-assert
29981         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
29982         order to honor --enable-assert, rather than treating it as a
29983         synonym for --disable-assert.
29984
29985 2008-12-08  Jim Meyering  <meyering@redhat.com>
29986
29987         * lib/posixtm.c: Remove now-useless declaration of mktime.
29988
29989         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
29990
29991 2008-12-07  Bruno Haible  <bruno@clisp.org>
29992
29993         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
29994         test_once): Mark functions as static.
29995         * tests/test-tls.c (test_tls): Likewise.
29996
29997 2008-12-07  Bruno Haible  <bruno@clisp.org>
29998
29999         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
30000         iconv_register_autodetect.
30001
30002 2008-12-07  Jim Meyering  <meyering@redhat.com>
30003
30004         posixtm.c: avoid a warning
30005         * lib/posixtm.c (posixtime): Don't initialize tm0.
30006         It's no longer needed to placate gcc4's -Wuninitialized,
30007         and the attempt to placate would elicit a new warning.
30008
30009         unicodeio.c: mark unused parameters
30010         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
30011         (fallback_failure_callback): Likewise.
30012
30013 2008-12-07  Bruno Haible  <bruno@clisp.org>
30014
30015         * gnulib-tool (func_create_testdir): When building the tests
30016         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
30017         Reported by Simon Josefsson.
30018
30019 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30020
30021         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
30022
30023 2008-12-06  Bruno Haible  <bruno@clisp.org>
30024
30025         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
30026         Suggested by Eric Blake.
30027
30028 2008-12-06  Bruno Haible  <bruno@clisp.org>
30029
30030         Fix a c-stack test failure on MacOS X.
30031         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
30032         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
30033         handler for SIGBUS as well.
30034         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
30035         install a signal handler for SIGBUS as well.
30036         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
30037
30038 2008-12-06  Bruno Haible  <bruno@clisp.org>
30039
30040         Advocacy documentation.
30041         * doc/gnulib-intro.texi (Benefits): New section.
30042         * doc/gnulib.texi: Update.
30043
30044 2008-12-06  Bruno Haible  <bruno@clisp.org>
30045
30046         Document the 'manywarnings' module.
30047         * doc/manywarnings.texi: New file.
30048         * doc/gnulib.texi: Include it.
30049
30050 2008-12-05  Eric Blake  <ebb9@byu.net>
30051
30052         tests: silence some gcc warnings
30053         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
30054         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
30055         type mismatches.
30056
30057 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30058             Bruno Haible  <bruno@clisp.org>
30059
30060         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
30061
30062 2008-11-29  Jim Meyering  <meyering@redhat.com>
30063
30064         unicodeio.c: mark unused parameters
30065         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
30066         (fallback_failure_callback): Likewise.
30067
30068         fts: fix a thinko
30069         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
30070         (set_stat_type): Return S_IF*-valued "type" directly.
30071         Prompted by James Youngman's spotting a related bug.
30072         Confirmed by further testing through find.
30073
30074         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
30075         * lib/fts.c (D_TYPE): Define.
30076         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
30077         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
30078         (s_ifmt_shift_bits): New function.
30079         (set_stat_type): New function.
30080         (fts_build): When not calling fts_stat, call set_stat_type
30081         to propagate dirent.d_type info to fts_read caller.
30082         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
30083         fts_statp->st_mode type information may be valid.
30084
30085 2008-11-28  Simon Josefsson  <simon@josefsson.org>
30086
30087         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
30088         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
30089         <sds@gnu.org>.
30090
30091 2008-11-20  Bruno Haible  <bruno@clisp.org>
30092
30093         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
30094         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
30095         INCLUDE_NEXT.
30096         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
30097         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
30098         * modules/math (Makefile.am): Substitute
30099         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
30100         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30101
30102 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
30103             Bruno Haible  <bruno@clisp.org>
30104
30105         * lib/stdint.in.h: Define all type macros so that their expansion is
30106         a single typedef'ed token. Fixes a compilation failure in Boost which
30107         does "using ::int8_t;".
30108
30109 2008-11-18  Simon Josefsson  <simon@josefsson.org>
30110
30111         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
30112         gl_MANYWARN_ALL_GCC.
30113         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
30114         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
30115         * modules/manywarnings: New file.
30116         * MODULES.html.sh: Mention manywarnings module.
30117
30118 2008-11-18  Bruno Haible  <bruno@clisp.org>
30119
30120         * doc/gnulib-tool.texi (Unit tests): New section.
30121
30122 2008-11-18  Simon Josefsson  <simon@josefsson.org>
30123
30124         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
30125         paths like 'lib/po/foo.po'.
30126
30127 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30128
30129         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
30130         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
30131
30132 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30133
30134         * m4/warnings.m4: Use CPPFLAGS to really check whether the
30135         parameter works.
30136
30137 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30138
30139         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
30140
30141 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30142
30143         * modules/parse-duration-tests: New file.
30144         * tests/test-parse-duration.sh: New file.
30145         * tests/test-parse-duration.c: New file.
30146
30147         New module 'parse-duration'.
30148         * lib/parse-duration.h: New file.
30149         * lib/parse-duration.c: New file.
30150         * modules/parse-duration: New file.
30151
30152 2008-11-17  Bruno Haible  <bruno@clisp.org>
30153
30154         * tests/test-select-out.sh: Comment out the first pipe test.
30155         Reported by Simon Josefsson.
30156
30157 2008-11-17  Bruno Haible  <bruno@clisp.org>
30158
30159         * modules/getaddrinfo (Depends-on): Add servent, hostent.
30160         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
30161         gl_HOSTENT.
30162
30163 2008-11-17  Bruno Haible  <bruno@clisp.org>
30164
30165         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
30166         -lnetwork and -lnet. Needed for Haiku and BeOS.
30167
30168 2008-11-16  Bruno Haible  <bruno@clisp.org>
30169
30170         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
30171
30172 2008-11-16  Bruno Haible  <bruno@clisp.org>
30173
30174         Avoid test failure on Haiku.
30175         * tests/test-fsync.c: Include <errno.h>.
30176         (main): Don't require that fsync (0) fails.
30177
30178 2008-11-15  Bruno Haible  <bruno@clisp.org>
30179
30180         New module 'hostent'.
30181         * modules/hostent: New file.
30182         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
30183
30184 2008-11-15  Bruno Haible  <bruno@clisp.org>
30185
30186         New module 'servent'.
30187         * modules/servent: New file.
30188         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
30189
30190 2008-11-15  Bruno Haible  <bruno@clisp.org>
30191
30192         Avoid generating same test program with two different rules.
30193         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
30194         test-frexp to test-frexp-nolibm.
30195         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
30196         test-frexpl to test-frexpl-nolibm.
30197
30198 2008-11-15  Bruno Haible  <bruno@clisp.org>
30199
30200         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
30201         $(FREXPL_LIBM).
30202
30203 2008-11-15  Bruno Haible  <bruno@clisp.org>
30204
30205         * lib/netdb.in.h: Activate the definitions also when the system's
30206         <netdb.h> has 'struct addrinfo'.
30207         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
30208         EAI_OVERFLOW or AI_NUMERICSERV.
30209         * doc/posix-headers/netdb.texi: Document the problem.
30210
30211 2008-11-15  Bruno Haible  <bruno@clisp.org>
30212
30213         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
30214
30215         Make the 'sched' module work on platforms where <sched.h> exists but
30216         is incomplete (such as Haiku).
30217         * lib/sched.in.h; Include the system's <sched.h> if it exists.
30218         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
30219         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
30220         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
30221         HAVE_STRUCT_SCHED_PARAM.
30222         * modules/sched (Depends-on): Add include_next.
30223         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
30224         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
30225         * doc/posix-headers/sched.texi: Document the issue.
30226
30227 2008-11-13  Jim Meyering  <meyering@redhat.com>
30228
30229         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
30230         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
30231         test would fail due to the difference in the Report bugs to ...
30232         line.  The expected address is empty, "<>", while the actual
30233         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
30234
30235 2008-11-12  Bruno Haible  <bruno@clisp.org>
30236
30237         lstat: don't compile lstat.c on systems lacking lstat
30238         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
30239         which don't have lstat; this is handled by lib/sys_stat.in.h already.
30240         Reported by Daniel P. Berrange via Jim Meyering.
30241
30242 2008-11-12  Jim Meyering  <meyering@redhat.com>
30243
30244         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
30245
30246 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30247
30248         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
30249         instead.
30250
30251 2008-11-12  Bruno Haible  <bruno@clisp.org>
30252
30253         * lib/unicodeio.c: Include unistr.h.
30254         (utf8_wctomb): Remove function.
30255         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
30256
30257 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30258
30259         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
30260         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
30261         <bruno@clisp.org>.
30262         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
30263
30264 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30265
30266         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
30267         * doc/gnulib.texi: Add section for warnings.
30268
30269 2008-11-11  Bruno Haible  <bruno@clisp.org>
30270
30271         * lib/sockets.h: Add a comment.
30272
30273 2008-11-11  Karl Berry  <karl@gnu.org>
30274
30275         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
30276
30277 2008-11-11  Eric Blake  <ebb9@byu.net>
30278
30279         fdl.texi: avoid git symlinks
30280         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
30281
30282 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30283
30284         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
30285
30286 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30287
30288         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
30289         (gl_WARN_ADD): Substitute $2 if literal.
30290
30291 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30292
30293         * m4/warning.m4: Remove.
30294
30295 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30296
30297         * m4/warnings.m4: Almost complete rewrite. :-)
30298
30299 2008-11-10  Simon Josefsson  <simon@josefsson.org>
30300
30301         * modules/warnings: New module.
30302         * m4/warnings.m4: New file.
30303         * MODULES.html.sh: Mention warnings module.
30304         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
30305         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30306
30307 2008-11-10  Eric Blake  <ebb9@byu.net>
30308
30309         fdl.texi: make a symlink to the latest version
30310         * doc/standards.texi: Revert today's earlier change.
30311         * doc/fdl-1.2.texi: Rename from old fdl.texi...
30312         * doc/fdl.texi: ...and replace this with a symlink to the newer
30313         fdl-1.3.texi.
30314
30315 2008-11-10  Bruno Haible  <bruno@clisp.org>
30316
30317         * tests/test-select-fd.c (main): Accept the result file name as fourth
30318         argument.
30319         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
30320         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
30321
30322 2008-11-10  Bruno Haible  <bruno@clisp.org>
30323
30324         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
30325         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
30326         as autoconf-substituted macros.
30327         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
30328         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
30329         gl_NETDB_H_DEFAULTS. Set these variables.
30330         * modules/netdb (Makefile.am): Substitute these variables.
30331
30332 2008-11-10  Eric Blake  <ebb9@byu.net>
30333
30334         standards.texi: include correct file for FDL 1.3
30335         * doc/standards.texi (GNU Free Documentation License): Change
30336         include file to pull in FDL 1.3, not 1.2.
30337
30338         fdl.texi: revert accidental change to license
30339         * doc/fdl.texi: This is FDL 1.2, not 1.3.
30340
30341 2008-11-10  Bruno Haible  <bruno@clisp.org>
30342
30343         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
30344         cross-compiling guesses also when the native compile gives no result.
30345
30346 2008-11-10  Bruno Haible  <bruno@clisp.org>
30347
30348         * lib/spawni.c (__spawni): Force variable into the stack.
30349
30350 2008-11-10  Bruno Haible  <bruno@clisp.org>
30351
30352         Add support for Haiku.
30353         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
30354         glibc and BeOS, but also on Haiku.
30355         * lib/fpurge.c (fpurge): Likewise.
30356         * lib/freadable.c (freadable): Likewise.
30357         * lib/freadahead.c (freadahead): Likewise.
30358         * lib/freading.c (freading): Likewise.
30359         * lib/freadptr.c (freadptr): Likewise.
30360         * lib/freadseek.c (freadptrinc): Likewise.
30361         * lib/fseeko.c (rpl_fseeko): Likewise.
30362         * lib/fseterr.c (fseterr): Likewise.
30363         * lib/fwritable.c (fwritable): Likewise.
30364         * lib/fwriting.c (fwriting): Likewise.
30365         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
30366
30367 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
30368
30369         * lib/config.charset: Treat Haiku like BeOS.
30370
30371 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
30372
30373         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
30374         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
30375
30376 2008-11-08  Bruno Haible  <bruno@clisp.org>
30377
30378         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
30379         AC_CACHE_CHECK.
30380
30381 2008-11-08  Bruno Haible  <bruno@clisp.org>
30382
30383         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
30384
30385 2008-11-08  Bruno Haible  <bruno@clisp.org>
30386
30387         * tests/test-select-fd.c: New file.
30388         * tests/test-select-in.sh: New file.
30389         * tests/test-select-out.sh: New file.
30390         * tests/test-select-stdin.c: New file.
30391         * modules/select-tests (Files): Add the new files.
30392         (Depends-on): Add gettimeofday.
30393         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
30394         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
30395         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
30396
30397 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
30398             Bruno Haible  <bruno@clisp.org>
30399
30400         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
30401
30402 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
30403
30404         * build-aux/pmccabe2html: Added support for C++ source files.
30405
30406 2008-11-05  Ben Pfaff  <blp@gnu.org>
30407
30408         Fix lib/close.c build on Windows.
30409         * modules/close (Files): Add lib/w32sock.h.
30410
30411 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
30412
30413         Accept Bison's NEWS format.
30414         * build-aux/announce-gen (print_news_deltas): Tweak
30415         $re_prefix.
30416
30417 2008-11-04  Bruno Haible  <bruno@clisp.org>
30418
30419         * modules/random_r (Maintainer): Add glibc.
30420
30421 2008-11-04  Simon Josefsson  <simon@josefsson.org>
30422
30423         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
30424         by karl@freefriends.org (Karl Berry).
30425         * doc/alloca.texi: Likewise.
30426         * doc/c-ctype.texi: Likewise.
30427         * doc/c-strcase.texi: Likewise.
30428         * doc/c-strcaseeq.texi: Likewise.
30429         * doc/c-strcasestr.texi: Likewise.
30430         * doc/c-strstr.texi: Likewise.
30431         * doc/c-strtod.texi: Likewise.
30432         * doc/c-strtold.texi: Likewise.
30433         * doc/ctime.texi: Likewise.
30434         * doc/error.texi: Likewise.
30435         * doc/fdl.texi: Likewise.
30436         * doc/gcd.texi: Likewise.
30437         * doc/getdate.texi: Likewise.
30438         * doc/gnulib-intro.texi: Likewise.
30439         * doc/gnulib-tool.texi: Likewise.
30440         * doc/gnulib.texi: Likewise.
30441         * doc/inet_ntoa.texi: Likewise.
30442         * doc/maintain.texi: Likewise.
30443         * doc/make-stds.texi: Likewise.
30444         * doc/quote.texi: Likewise.
30445         * doc/regexprops-generic.texi: Likewise.
30446         * doc/standards.texi: Likewise.
30447         * doc/verify.texi: Likewise.
30448         * doc/visibility.texi: Likewise.
30449         * doc/gnulib.texi (GNU Free Documentation License): Include
30450         fdl-1.3.texi instead of fdl.texi.
30451
30452 2008-11-04  Simon Josefsson  <simon@josefsson.org>
30453
30454         * doc/fdl-1.3.texi: New file, from
30455         <http://www.gnu.org/licenses/fdl-1.3.texi>.
30456         * modules/fdl-1.3: Add.
30457         * MODULES.html.sh: Add fdl-1.3.
30458
30459 2008-11-03  Bruno Haible  <bruno@clisp.org>
30460
30461         Make determination of absolute name of header file work with AIX xlc.
30462         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
30463         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
30464         preprocessing.
30465         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30466         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30467
30468 2008-11-03  Simon Josefsson  <simon@josefsson.org>
30469
30470         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
30471         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
30472         <ludo@gnu.org>.
30473
30474 2008-11-02  Bruno Haible  <bruno@clisp.org>
30475
30476         Mark 'strpbrk' obsolete.
30477         * modules/strpbrk (Status, Notice): New sections.
30478         * modules/strtok_r (Depends-on): Add strpbrk.
30479
30480 2008-11-02  Bruno Haible  <bruno@clisp.org>
30481
30482         Mark 'strdup' obsolete.
30483         * modules/strdup (Status, Notice): New sections.
30484         * modules/findprog (Depends-on): Add strdup.
30485         * modules/getaddrinfo (Depends-on): Likewise.
30486         * modules/localename (Depends-on): Likewise.
30487         * modules/relocatable-lib (Depends-on): Likewise.
30488         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
30489         * modules/relocatable-prog (Depends-on): Likewise.
30490         * modules/trim (Depends-on): Likewise.
30491         * modules/unictype/gen-ctype (Depends-on): Likewise.
30492         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
30493
30494 2008-11-02  Bruno Haible  <bruno@clisp.org>
30495
30496         Mark 'strcspn' obsolete.
30497         * modules/strcspn (Status, Notice): New sections.
30498
30499 2008-11-02  Bruno Haible  <bruno@clisp.org>
30500
30501         Mark 'rmdir' obsolete.
30502         * modules/rmdir (Status, Notice): New sections.
30503         * modules/clean-temp (Depends-on): Add rmdir.
30504         * modules/openat (Depends-on): Likewise.
30505
30506 2008-11-02  Bruno Haible  <bruno@clisp.org>
30507
30508         Mark 'raise' obsolete.
30509         * modules/raise (Status, Notice): New sections.
30510         (Include): Specify <signal.h>.
30511         * modules/stdio (Depends-on): Add raise.
30512         * modules/write (Depends-on): Likewise.
30513
30514 2008-11-02  Bruno Haible  <bruno@clisp.org>
30515
30516         Mark 'memset' obsolete.
30517         * modules/memset (Status, Notice): New sections.
30518
30519 2008-11-02  Bruno Haible  <bruno@clisp.org>
30520
30521         Mark 'memmove' obsolete.
30522         * modules/memmove (Status, Notice): New sections.
30523         * modules/argp (Depends-on): Add memmove.
30524         * modules/argz (Depends-on): Likewise.
30525         * modules/canonicalize (Depends-on): Likewise.
30526         * modules/canonicalize-lgpl (Depends-on): Likewise.
30527         * modules/fts (Depends-on): Likewise.
30528         * modules/getcwd (Depends-on): Likewise.
30529         * modules/human (Depends-on): Likewise.
30530         * modules/regex (Depends-on): Likewise.
30531         * modules/striconveh (Depends-on): Likewise.
30532         * modules/trim (Depends-on): Likewise.
30533         * modules/unistr/u8-move (Depends-on): Likewise.
30534         * modules/unistr/u16-move (Depends-on): Likewise.
30535         * modules/unistr/u32-move (Depends-on): Likewise.
30536
30537 2008-11-02  Bruno Haible  <bruno@clisp.org>
30538
30539         Mark 'memcpy' obsolete.
30540         * modules/memcpy (Status, Notice): New sections.
30541
30542 2008-11-02  Bruno Haible  <bruno@clisp.org>
30543
30544         Mark 'memcmp' obsolete.
30545         * modules/memcmp (Status, Notice): New sections.
30546         * modules/argmatch (Depends-on): Add memchr.
30547         * modules/backupfile (Depends-on): Likewise.
30548         * modules/c-strcasestr (Depends-on): Likewise.
30549         * modules/crypto/des (Depends-on): Likewise.
30550         * modules/csharpcomp (Depends-on): Likewise.
30551         * modules/fnmatch (Depends-on): Likewise.
30552         * modules/git-merge-changelog (Depends-on): Likewise.
30553         * modules/isnand (Depends-on): Likewise.
30554         * modules/isnand-nolibm (Depends-on): Likewise.
30555         * modules/isnanf (Depends-on): Likewise.
30556         * modules/isnanf-nolibm (Depends-on): Likewise.
30557         * modules/isnanl (Depends-on): Likewise.
30558         * modules/isnanl-nolibm (Depends-on): Likewise.
30559         * modules/mbchar (Depends-on): Likewise.
30560         * modules/memcoll (Depends-on): Likewise.
30561         * modules/quotearg (Depends-on): Likewise.
30562         * modules/regex (Depends-on): Likewise.
30563         * modules/relocatable-prog (Depends-on): Likewise.
30564         * modules/same (Depends-on): Likewise.
30565         * modules/signbit (Depends-on): Likewise.
30566         * modules/strcasestr-simple (Depends-on): Likewise.
30567         * modules/unictype/gen-ctype (Depends-on): Likewise.
30568         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
30569         * modules/uniname/uniname (Depends-on): Likewise.
30570         * modules/unistr/u8-cmp (Depends-on): Likewise.
30571
30572 2008-11-02  Bruno Haible  <bruno@clisp.org>
30573
30574         Mark 'memchr' obsolete.
30575         * modules/memchr (Status, Notice): New sections.
30576         * modules/argp (Depends-on): Add memchr.
30577         * modules/base64 (Depends-on): Likewise.
30578         * modules/c-strcasestr (Depends-on): Likewise.
30579         * modules/chdir-long (Depends-on): Likewise.
30580         * modules/fnmatch (Depends-on): Likewise.
30581         * modules/getsubopt (Depends-on): Likewise.
30582         * modules/git-merge-changelog (Depends-on): Likewise.
30583         * modules/glob (Depends-on): Likewise.
30584         * modules/strcasestr-simple (Depends-on): Likewise.
30585         * modules/strnlen (Depends-on): Likewise.
30586
30587 2008-11-02  Bruno Haible  <bruno@clisp.org>
30588
30589         Mark 'atexit' obsolete.
30590         * modules/atexit (Status, Notice): New sections.
30591         * modules/chdir-long (Depends-on): Add atexit.
30592         * modules/wait-process (Depends-on): Likewise.
30593
30594 2008-11-02  Bruno Haible  <bruno@clisp.org>
30595
30596         * gnulib-tool: New option --with-obsolete.
30597         (func_usage): Document it.
30598         (func_modules_transitive_closure): Drop obsolete dependencies if
30599         incobsolete is not true.
30600         (func_import): Read and save the incobsolete variable to the cache.
30601
30602 2008-11-02  Bruno Haible  <bruno@clisp.org>
30603
30604         * modules/TEMPLATE-EXTENDED: New field 'Status'.
30605         * gnulib-tool: New option --extract-status.
30606         (func_usage): Document it.
30607         (sed_extract_prog): Recognize it.
30608         (func_get_status): New function.
30609
30610 2008-10-30  Simon Josefsson  <simon@josefsson.org>
30611
30612         * modules/sockets (License): Change from LGPL to LGPLv2+.
30613
30614 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30615
30616         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
30617
30618 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30619
30620         * MODULES.html.sh (Support for systems lacking POSIX:2001):
30621         Mention times and sys_times.
30622         * modules/sys_times, modules/sys_times-tests: New modules.
30623         * modules/times, modules/times-tests: Likewise
30624         * m4/sys_times_h.m4: New file.
30625         * lib/sys_times.in.h: Likewise
30626         * lib/times.c: Likewise.
30627         * tests/test-sys_times.c: Likewise.
30628         * tests/test-times.c: Likewise.
30629         * doc/posix-headers/sys_times.texi: Update.
30630         * doc/posix-functions/times.texi: Update.
30631
30632 2008-10-28  Jim Meyering  <meyering@redhat.com>
30633
30634         * modules/tempname (Depends-on): Add lstat.
30635
30636         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
30637
30638 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30639
30640         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
30641         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
30642         using idiom used elsewhere in gnulib.
30643
30644 2008-10-27  Jim Meyering  <meyering@redhat.com>
30645
30646         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
30647
30648 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30649
30650         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
30651         TESTS_ENVIRONMENT, for shell scripts that needs to call built
30652         programs.
30653         * tests/test-argp-2.sh: Use $EXEEXT when needed.
30654
30655 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30656
30657         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
30658
30659 2008-10-27  Bruno Haible  <bruno@clisp.org>
30660
30661         * tests/test-lstat.c: Include <stdio.h>.
30662
30663 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30664
30665         * modules/lstat-tests: New module.
30666         * tests/test-lstat.c: New file.
30667
30668 2008-10-26  Jim Meyering  <meyering@redhat.com>
30669
30670         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
30671
30672 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30673             Bruno Haible  <bruno@clisp.org>
30674
30675         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
30676         * modules/configmake (Include): Add a note that the include must come
30677         after all system headers.
30678         * lib/javaversion.c: Include configmake.h after all other includes.
30679
30680 2008-10-26  Bruno Haible  <bruno@clisp.org>
30681
30682         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
30683         HAVE_STRUCT_RANDOM_DATA to 1.
30684         (gl_STDLIB_H): Simplify.
30685
30686 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30687
30688         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
30689         substitute HAVE_STRUCT_RANDOM_DATA.
30690         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
30691         random_data.
30692         * modules/stdlib (Makefile.am): Substitute
30693         HAVE_STRUCT_RANDOM_DATA.
30694
30695 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30696
30697         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
30698         * doc/gnulib-intro.texi (Copyright): Likewise.
30699
30700 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30701
30702         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
30703         findings.
30704
30705 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
30706             Bruno Haible  <bruno@clisp.org>
30707
30708         * lib/unistd.in.h: Include <winsock2.h>.
30709         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
30710         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
30711         Provide dummy declarations.
30712         (gethostname): Override.
30713         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
30714         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
30715         gl_PREREQ_SYS_H_WINSOCK2.
30716         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
30717         * doc/posix-functions/gethostname.texi: More details.
30718
30719 2008-10-25  Bruno Haible  <bruno@clisp.org>
30720
30721         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
30722         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
30723         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
30724
30725         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
30726         here ...
30727         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
30728         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
30729         gl_UNISTD_H_DEFAULTS.
30730
30731 2008-10-25  Eric Blake  <ebb9@byu.net>
30732
30733         signbit: avoid spurious compiler failure
30734         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
30735         declarations inside function.
30736
30737 2008-10-24  Simon Josefsson  <simon@josefsson.org>
30738             Bruno Haible  <bruno@clisp.org>
30739
30740         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
30741         * modules/random_r (Depends-on): Add stdint.
30742
30743 2008-10-24  Bruno Haible  <bruno@clisp.org>
30744
30745         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
30746         Eggert.
30747         * modules/strerror (License): Likewise.
30748
30749 2008-10-24  Jim Meyering  <meyering@redhat.com>
30750
30751         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
30752         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
30753
30754 2008-10-24  Eric Blake  <ebb9@byu.net>
30755
30756         getgroups: fix compilation when getgroups is available
30757         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
30758         but with <config.h> override of getgroups disabled.
30759
30760 2008-10-24  Simon Josefsson  <simon@josefsson.org>
30761
30762         * doc/gnulib.texi (Header files): Add note about C++ problems.
30763         Explained by Bruno Haible <bruno@clisp.org>.
30764
30765 2008-10-23  Bruno Haible  <bruno@clisp.org>
30766
30767         Define a dummy SA_NODEFER macro on Interix.
30768         * lib/signal.in.h (SA_NODEFER): Define fallback.
30769         Reported by Aleksey Cheusov <cheusov@tut.by> via
30770         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
30771
30772 2008-10-23  Bruno Haible  <bruno@clisp.org>
30773
30774         * modules/freadahead (License): Change to LGPLv2+.
30775         Suggested by Simon Josefsson.
30776
30777 2008-10-23  Jim Meyering  <meyering@redhat.com>
30778
30779         random_r: new module
30780         * modules/random_r: New file.
30781         * m4/random_r.m4: New file.
30782         * lib/random_r.c: New file, from glibc.
30783         * modules/random_r-tests: New file.
30784         * tests/test-random_r.c: New file.
30785         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
30786          Declare.
30787         (RAND_MAX): Define.
30788         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
30789         * modules/stdlib: Substitute them, too.
30790         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
30791         * doc/glibc-functions/initstate_r.texi: Mention the new module.
30792         * doc/glibc-functions/random_r.texi: Likewise.
30793         * doc/glibc-functions/setstate_r.texi: Likewise.
30794         * doc/glibc-functions/srandom_r.texi: Likewise.
30795         * config/srclist.txt: Mention it.
30796
30797 2008-10-23  David Lutterkort  <lutter@redhat.com>
30798
30799         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
30800         link requirement
30801
30802 2008-10-23  Jim Meyering  <meyering@redhat.com>
30803
30804         selinux-h: mark parameters of stub functions as intentionally unused
30805         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
30806         * lib/se-context.in.h: Likewise.
30807
30808 2008-10-22  Simon Josefsson  <simon@josefsson.org>
30809
30810         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
30811
30812 2008-10-22  Simon Josefsson  <simon@josefsson.org>
30813
30814         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
30815
30816 2008-10-22  Eric Blake  <ebb9@byu.net>
30817
30818         glthread/thread: avoid compiler warning
30819         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
30820         Add unreachable abort to silence compiler.
30821
30822 2008-10-22  Eric Blake  <ebb9@byu.net>
30823
30824         netdb: also supply struct addrinfo for cygwin 1.5.x
30825         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
30826         older cygwin.
30827         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
30828         cygwin.
30829         * doc/posix-headers/netdb.texi (netdb.h): Document this.
30830
30831 2008-10-22  Bruno Haible  <bruno@clisp.org>
30832
30833         * users.txt: Update entry about pspp.
30834
30835 2008-10-21  Bruno Haible  <bruno@clisp.org>
30836
30837         Simplification.
30838         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
30839         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
30840
30841         Simplification.
30842         * lib/ioctl.c (ioctl): Don't undefine.
30843         * lib/socket.c (socket): Don't undefine.
30844
30845         Remove unused module indicator macros.
30846         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
30847         GNULIB_$1 as a C macro.
30848
30849         * doc/posix-functions/close.texi: Undo last change.
30850         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
30851         Windows platforms.
30852
30853 2008-10-21  Bruno Haible  <bruno@clisp.org>
30854
30855         Add gethostname() declaration to <unistd.h>.
30856         * lib/unistd.in.h (gethostname): New declaration.
30857         * lib/gethostname.c: Include <unistd.h>.
30858         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
30859         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
30860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
30861         and HAVE_GETHOSTNAME.
30862         * modules/gethostname (Depends-on): Add unistd.
30863         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30864         (Include): Specify <unistd.h>.
30865         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
30866         HAVE_GETHOSTNAME.
30867         * tests/test-gethostname.c: Include <unistd.h> first.
30868
30869 2008-10-21  Bruno Haible  <bruno@clisp.org>
30870
30871         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
30872         * modules/select-tests (Depends-on): Likewise.
30873         Reported by Simon Josefsson.
30874
30875 2008-10-21  Simon Josefsson  <simon@josefsson.org>
30876
30877         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
30878         * lib/accept.c: New file, based on winsock.c.
30879         * lib/bind.c: New file, based on winsock.c.
30880         * lib/connect.c: New file, based on winsock.c.
30881         * lib/getpeername.c: New file, based on winsock.c.
30882         * lib/getsockname.c: New file, based on winsock.c.
30883         * lib/getsockopt.c: New file, based on winsock.c.
30884         * lib/ioctl.c: New file, based on winsock.c.
30885         * lib/listen.c: New file, based on winsock.c.
30886         * lib/recv.c: New file, based on winsock.c.
30887         * lib/recvfrom.c: New file, based on winsock.c.
30888         * lib/send.c: New file, based on winsock.c.
30889         * lib/sendto.c: New file, based on winsock.c.
30890         * lib/setsockopt.c: New file, based on winsock.c.
30891         * lib/shutdown.c: New file, based on winsock.c.
30892         * lib/socket.c: New file, based on winsock.c.
30893         * lib/w32sock.h: New file, based on winsock.c.
30894         * lib/winsock.c: Remove file.
30895         * modules/accept: Likewise.
30896         * modules/bind: Likewise.
30897         * modules/connect: Likewise.
30898         * modules/getpeername: Likewise.
30899         * modules/getsockname: Likewise.
30900         * modules/getsockopt: Likewise.
30901         * modules/ioctl: Likewise.
30902         * modules/listen: Likewise.
30903         * modules/recv: Likewise.
30904         * modules/recvfrom: Likewise.
30905         * modules/send: Likewise.
30906         * modules/sendto: Likewise.
30907         * modules/setsockopt: Likewise.
30908         * modules/shutdown: Likewise.
30909         * modules/socket: Use socket.c instead of winsock.c.
30910         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
30911         * doc/posix-functions/accept.texi: Doc fix.
30912         * doc/posix-functions/bind.texi: Doc fix.
30913         * doc/posix-functions/close.texi: Doc fix.
30914         * doc/posix-functions/connect.texi: Doc fix.
30915         * doc/posix-functions/getpeername.texi: Doc fix.
30916         * doc/posix-functions/getsockname.texi: Doc fix.
30917         * doc/posix-functions/getsockopt.texi: Doc fix.
30918         * doc/posix-functions/ioctl.texi: Doc fix.
30919         * doc/posix-functions/listen.texi: Doc fix.
30920         * doc/posix-functions/recv.texi: Doc fix.
30921         * doc/posix-functions/recvfrom.texi: Doc fix.
30922         * doc/posix-functions/send.texi: Doc fix.
30923         * doc/posix-functions/sendto.texi: Doc fix.
30924         * doc/posix-functions/setsockopt.texi: Doc fix.
30925         * doc/posix-functions/shutdown.texi: Doc fix.
30926         * doc/posix-functions/socket.texi: Doc fix.
30927
30928 2008-10-20  Bruno Haible  <bruno@clisp.org>
30929
30930         Take into account the role of SIGABRT_COMPAT on Windows 2008.
30931         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
30932         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
30933         as an alias for SIGABRT.
30934         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
30935         (sigaction): Map it to SIGABRT.
30936         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
30937
30938 2008-10-20  Bruno Haible  <bruno@clisp.org>
30939
30940         * lib/fts.c: Don't include lstat.h.
30941         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
30942
30943         Move the lstat() declaration to <sys/stat.h>.
30944         * lib/lstat.h: Remove file.
30945         * lib/sys_stat.in.h: Add special invocation convention.
30946         (lstat): New declaration.
30947         * lib/lstat.c (orig_lstat): New function.
30948         (rpl_lstat): Use orig_lstat instead of lstat.
30949         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
30950         AC_C_INLINE. Set REPLACE_LSTAT.
30951         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
30952         and REPLACE_LSTAT.
30953         * modules/lstat (Files): Remove lib/lstat.h.
30954         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
30955         (Include): Specify <sys/stat.h> instead of lstat.h.
30956         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
30957         REPLACE_LSTAT.
30958         * NEWS: Mention the change.
30959
30960 2008-10-20  Bruno Haible  <bruno@clisp.org>
30961
30962         * modules/posix_spawn-tests: New file.
30963         * tests/test-posix_spawn3.c: New file.
30964
30965 2008-10-20  Bruno Haible  <bruno@clisp.org>
30966
30967         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
30968         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
30969         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
30970         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
30971         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
30972
30973 2008-10-20  Bruno Haible  <bruno@clisp.org>
30974
30975         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
30976         of posix_spawn on AIX 5.3.
30977
30978 2008-10-20  Bruno Haible  <bruno@clisp.org>
30979
30980         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
30981
30982 2008-10-20  Bruno Haible  <bruno@clisp.org>
30983
30984         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
30985         of AC_LANG_PROGRAM.
30986
30987 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30988
30989         * lib/netdb.in.h: Don't define GNU specific constants until they
30990         are supported or needed.  Reported by Bruno Haible
30991         <bruno@clisp.org>.
30992
30993 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30994
30995         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
30996
30997 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30998
30999         * lib/getaddrinfo.h: Remove file.
31000         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
31001         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
31002         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
31003         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
31004         * modules/netdb: Substitute GNULIB_GETADDRINFO.
31005         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
31006         * tests/test-getaddrinfo.c: Likewise.
31007         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
31008         * NEWS: Mention change.
31009
31010 2008-10-19  Bruno Haible  <bruno@clisp.org>
31011
31012         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
31013
31014 2008-10-19  Bruno Haible  <bruno@clisp.org>
31015
31016         * lib/wait-process.c: Include simply <sys/wait.h>.
31017         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
31018         WIFSTOPPED): Remove fallback definitions.
31019         * modules/wait-process (Depends-on): Add sys_wait.
31020
31021         New module 'sys_wait'.
31022         * modules/sys_wait: New file.
31023         * lib/sys_wait.in.h: New file, partially copied from
31024         lib/wait-process.c.
31025         * m4/sys_wait_h.m4: New file.
31026         * doc/posix-headers/sys_wait.texi: Mention the new module.
31027
31028 2008-10-19  Bruno Haible  <bruno@clisp.org>
31029
31030         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
31031
31032 2008-10-19  Bruno Haible  <bruno@clisp.org>
31033
31034         Assume that waitpid() fills an 'int' status, not a 'union wait'.
31035         * lib/wait-process.c (WAIT_T): Remove type.
31036         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
31037         (wait_subprocess): Update.
31038
31039 2008-10-19  Bruno Haible  <bruno@clisp.org>
31040
31041         New module 'atoll'.
31042         * modules/atoll: New file.
31043         * lib/stdlib.in.h (atoll): New declaration.
31044         * lib/atoll.c: New file, from glibc with modifications.
31045         * m4/atoll.m4: New file.
31046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
31047         HAVE_ATOLL.
31048         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
31049         * doc/posix-functions/atoll.texi: Mention the new module.
31050
31051 2008-10-19  Bruno Haible  <bruno@clisp.org>
31052
31053         Add strtoull() declaration to <stdlib.h>.
31054         * lib/stdlib.in.h (strtoull): New declaration.
31055         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
31056         Set HAVE_STRTOULL.
31057         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
31058         HAVE_STRTOULL.
31059         * modules/strtoull (Depends-on): Add stdlib.
31060         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31061         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
31062         HAVE_STRTOULL.
31063
31064 2008-10-19  Bruno Haible  <bruno@clisp.org>
31065
31066         Add strtoll() declaration to <stdlib.h>.
31067         * lib/stdlib.in.h (strtoll): New declaration.
31068         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
31069         Set HAVE_STRTOLL.
31070         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
31071         HAVE_STRTOLL.
31072         * modules/strtoll (Depends-on): Add stdlib.
31073         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31074         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
31075
31076 2008-10-19  Bruno Haible  <bruno@clisp.org>
31077
31078         * modules/bcopy (Depends-on): Add strings.
31079         (Include): Specify <strings.h>.
31080
31081 2008-10-19  Bruno Haible  <bruno@clisp.org>
31082
31083         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
31084
31085 2008-10-19  Bruno Haible  <bruno@clisp.org>
31086
31087         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
31088         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
31089         mingw.
31090
31091 2008-10-19  Bruno Haible  <bruno@clisp.org>
31092
31093         * lib/atanl.c: Don't include isnanl.h.
31094         * lib/cosl.c: Likewise.
31095         * lib/ldexpl.c: Likewise.
31096         * lib/logl.c: Likewise.
31097         * lib/sinl.c: Likewise.
31098         * lib/sqrtl.c: Likewise.
31099         * lib/tanl.c: Likewise.
31100
31101         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
31102         * lib/isnanf.h: Remove file.
31103         * lib/isnand.h: Remove file.
31104         * lib/isnanl.h: Remove file.
31105         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
31106         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
31107         macros.
31108         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
31109         HAVE_ISNANF, don't define it as a C macro.
31110         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
31111         HAVE_ISNAND, don't define it as a C macro.
31112         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
31113         HAVE_ISNANL, don't define it as a C macro.
31114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
31115         HAVE_ISNAN[FDL].
31116         * modules/isnanf (Files): Remove lib/isnanf.h.
31117         (Depends-on): Add math.
31118         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31119         (Include): Specify <math.h> instead of isnanf.h.
31120         * modules/isnand (Files): Remove lib/isnand.h.
31121         (Depends-on): Add math.
31122         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31123         (Include): Specify <math.h> instead of isnand.h.
31124         * modules/isnanl (Files): Remove lib/isnanl.h.
31125         (Depends-on): Add math.
31126         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31127         (Include): Specify <math.h> instead of isnanl.h.
31128         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
31129         HAVE_ISNAN[FDL].
31130         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
31131         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
31132         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
31133         * NEWS: Mention the change.
31134
31135 2008-10-18  Bruno Haible  <bruno@clisp.org>
31136
31137         Add getusershell(), setusershell(), endusershell() declarations to
31138         <unistd.h>.
31139         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
31140         declarations.
31141         * lib/getusershell.c: Include unistd.h.
31142         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
31143         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
31144         HAVE_GETUSERSHELL.
31145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
31146         and HAVE_GETUSERSHELL.
31147         * modules/getusershell (Depends-on): Add unistd, extensions.
31148         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31149         (Include): Specify <unistd.h>.
31150         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
31151         HAVE_GETUSERSHELL.
31152
31153 2008-10-18  Bruno Haible  <bruno@clisp.org>
31154
31155         Add a getloadavg() declaration to <stdlib.h>.
31156         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
31157         getloadavg declaration.
31158         (getloadavg): New declaration.
31159         * lib/getloadavg.c: Include <stdlib.h> first.
31160         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
31161         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
31162         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
31163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
31164         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
31165         * modules/getloadavg (Depends-on): Add stdlib, extensions.
31166         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31167         (Include): Specify <stdlib.h>.
31168         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
31169         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
31170
31171 2008-10-18  Bruno Haible  <bruno@clisp.org>
31172
31173         * lib/dirchownmod.c: Don't include lchmod.h.
31174
31175         Move the lchmod() declaration to <sys/stat.h>.
31176         * lib/lchmod.h: Remove file.
31177         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
31178         (lchmod): New declaration, moved here from lib/lchown.h.
31179         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
31180         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
31181         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
31182         and HAVE_LCHMOD.
31183         * modules/lchmod (Files): Remove lib/lchmod.h.
31184         (Depends-on): Add sys_stat, extensions.
31185         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
31186         (Include): Specify <sys/stat.h> instead of lchmod.h.
31187         * modules/sys_stat (Depends-on): Add link-warning.
31188         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
31189         definition of GL_LINK_WARNING.
31190         * NEWS: Mention the change.
31191
31192 2008-10-18  Bruno Haible  <bruno@clisp.org>
31193
31194         * lib/fchdir.c: Don't include dirfd.h.
31195         * lib/fts.c: Likewise.
31196         * lib/getcwd.c: Likewise.
31197         * lib/glob.c: Likewise.
31198
31199         Move the dirfd() declaration to <dirent.h>.
31200         * lib/dirfd.h: Remove file.
31201         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
31202         (dirfd): New declaration.
31203         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
31204         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
31205         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
31206         HAVE_DECL_DIRFD.
31207         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
31208         HAVE_DECL_DIRFD.
31209         * modules/dirfd (Files): Remove lib/dirfd.h.
31210         (Depends-on): Add dirent, extensions.
31211         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
31212         (Include): Specify <dirent.h> instead of dirfd.h.
31213         * modules/dirent (Depends-on): Add link-warning.
31214         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
31215         definition of GL_LINK_WARNING.
31216         * NEWS: Mention the change.
31217
31218 2008-10-18  Bruno Haible  <bruno@clisp.org>
31219
31220         Move the euidaccess() declaration to <unistd.h>.
31221         * lib/euidaccess.h: Remove file.
31222         * lib/unistd.in.h (euidaccess): New declaration.
31223         * lib/euidaccess.c: Don't include euidaccess.h.
31224         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
31225         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
31226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
31227         and HAVE_EUIDACCESS.
31228         * modules/euidaccess (Files): Remove lib/euidaccess.h.
31229         (Depends-on): Add unistd.
31230         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31231         (Include): Specify <unistd.h> instead of euidaccess.h.
31232         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
31233         HAVE_EUIDACCESS.
31234         * NEWS: Mention the change.
31235
31236 2008-10-18  Bruno Haible  <bruno@clisp.org>
31237
31238         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
31239
31240         Move the getdomainname() declaration to <unistd.h>.
31241         * lib/getdomainname.h: Remove file.
31242         * lib/unistd.in.h (getdomainname): New declaration.
31243         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
31244         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
31245         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
31246         HAVE_GETDOMAINNAME.
31247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31248         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
31249         * modules/getdomainname (Files): Remove lib/getdomainname.h.
31250         (Depends-on): Add unistd, extensions.
31251         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31252         (Includes): Specify <unistd.h> instead of getdomainname.h.
31253         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
31254         HAVE_GETDOMAINNAME.
31255         * NEWS: Mention the change.
31256
31257 2008-10-18  Bruno Haible  <bruno@clisp.org>
31258
31259         * modules/dirent: New file.
31260         * m4/dirent_h.m4: New file.
31261         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
31262         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
31263         * modules/fchdir (Files): Remove lib/dirent.in.h.
31264         (Depends-on): Add dirent.
31265         (Makefile.am): Move rules to modules/dirent.
31266         * doc/posix-headers/dirent.texi: Mention the new module.
31267
31268 2008-10-18  Bruno Haible  <bruno@clisp.org>
31269
31270         Avoid -Wunused-parameter warnings in public gnulib header files.
31271         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
31272         macro.
31273         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
31274
31275 2008-10-18  Bruno Haible  <bruno@clisp.org>
31276
31277         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
31278         * doc/glibc-functions/error.texi: Mention the module 'error'.
31279         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
31280         * doc/glibc-functions/getdomainname.texi: Mention the module
31281         'getdomainname'.
31282         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
31283         * doc/glibc-functions/getpagesize.texi: Mention the module
31284         'getpagesize'.
31285         * doc/glibc-functions/getusershell.texi: Mention the module
31286         'getusershell'.
31287         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
31288         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
31289         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
31290         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
31291         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
31292         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
31293         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
31294         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
31295         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
31296         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
31297         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
31298         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
31299         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
31300         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
31301
31302 2008-10-17  Bruno Haible  <bruno@clisp.org>
31303
31304         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
31305         HP-UX and IRIX, use -0.0L.
31306         * tests/test-ceill.c (minus_zero): Likewise.
31307         * tests/test-floorl.c (minus_zero): Likewise.
31308         * tests/test-frexpl.c (minus_zero): Likewise.
31309         * tests/test-isnan.c (minus_zerol): Likewise.
31310         * tests/test-isnanl.h (minus_zero): Likewise.
31311         * tests/test-ldexpl.c (minus_zero): Likewise.
31312         * tests/test-roundl.c (minus_zero): Likewise.
31313         * tests/test-signbit.c (minus_zerol): Likewise.
31314         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31315         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31316         * tests/test-truncl.c (minus_zero): Likewise.
31317         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31318         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31319         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
31320         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31321
31322 2008-10-17  Bruno Haible  <bruno@clisp.org>
31323
31324         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
31325         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
31326         that it gets activated only for gcc >= 3.0.
31327         * lib/dirent.in.h: Likewise.
31328         * lib/errno.in.h: Likewise.
31329         * lib/fcntl.in.h: Likewise.
31330         * lib/float.in.h: Likewise.
31331         * lib/iconv.in.h: Likewise.
31332         * lib/inttypes.in.h: Likewise.
31333         * lib/locale.in.h: Likewise.
31334         * lib/math.in.h: Likewise.
31335         * lib/netdb.in.h: Likewise.
31336         * lib/netinet_in.in.h: Likewise.
31337         * lib/search.in.h: Likewise.
31338         * lib/signal.in.h: Likewise.
31339         * lib/spawn.in.h: Likewise.
31340         * lib/stdarg.in.h: Likewise.
31341         * lib/stdint.in.h: Likewise.
31342         * lib/stdio.in.h: Likewise.
31343         * lib/stdlib.in.h: Likewise.
31344         * lib/string.in.h: Likewise.
31345         * lib/strings.in.h: Likewise.
31346         * lib/sys_file.in.h: Likewise.
31347         * lib/sys_ioctl.in.h: Likewise.
31348         * lib/sys_select.in.h: Likewise.
31349         * lib/sys_socket.in.h: Likewise.
31350         * lib/sys_stat.in.h: Likewise.
31351         * lib/sys_time.in.h: Likewise.
31352         * lib/sysexits.in.h: Likewise.
31353         * lib/time.in.h: Likewise.
31354         * lib/unistd.in.h: Likewise.
31355         * lib/wchar.in.h: Likewise.
31356         * lib/wctype.in.h: Likewise.
31357         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31358
31359 2008-10-17  Jim Meyering  <meyering@redhat.com>
31360
31361         ignore-value: don't depend on inline module
31362         * modules/ignore-value (Depends-on): Remove 'inline'.
31363         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
31364         Suggestion from Bruno Haible.
31365
31366 2008-10-17  Bruno Haible  <bruno@clisp.org>
31367
31368         New implementation of condition variables for Win32.
31369         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
31370         (gl_linked_waitqueue_t): New type.
31371         (gl_cond_t): Use it.
31372         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
31373         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
31374         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
31375         (glthread_cond_init_func, glthread_cond_wait_func,
31376         glthread_cond_timedwait_func, glthread_cond_signal_func,
31377         glthread_cond_broadcast_func, glthread_cond_destroy_func):
31378         Reimplemented on the basis of gl_linked_waitqueue_t.
31379         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
31380         gl_waitqueue_t.
31381         (gl_rwlock_t): Update.
31382         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
31383
31384 2008-10-17  Simon Josefsson  <simon@josefsson.org>
31385
31386         * modules/recvfrom (Depends-on): Add dependency on getpeername.
31387         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31388
31389 2008-10-17  Jim Meyering  <meyering@redhat.com>
31390
31391         ignore-value: new module
31392         * modules/ignore-value: New file.
31393         * lib/ignore-value.h: New file.
31394         * MODULES.html.sh (Compiler warning management): New section,
31395         just for this module.  More to come.
31396
31397 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31398
31399         open-safer.c: avoid 'signed and unsigned in conditional...' warning
31400         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
31401         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
31402
31403 2008-10-16  Jim Meyering  <meyering@redhat.com>
31404
31405         openat-die.c: avoid 'no previous prototype' warning
31406         * lib/openat-die.c: Include "openat.h".
31407         Reported by Reuben Thomas <rrt@sc3d.org>.
31408
31409 2008-10-16  Simon Josefsson  <simon@josefsson.org>
31410
31411         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
31412         * lib/netdb.in.h: Fix typo.
31413         Reported by Bruno Haible  <bruno@clisp.org>
31414
31415         * lib/netdb.in.h: Include sys/socket.h for platforms without
31416         netdb.h, to get structures like hostent on MinGW.
31417         * modules/netdb (Depends-on): Add sys_socket.
31418
31419 2008-10-15  Simon Josefsson  <simon@josefsson.org>
31420
31421         * modules/netdb, modules/netdb-tests: New file.
31422         * m4/netdb_h.m4: New file.
31423         * lib/netdb.in.h: Add, currently just an empty file pending
31424         definitions.
31425         * tests/test-netdb.c: New file.
31426         * doc/posix-headers/netdb.texi: Mention that we replace it if
31427         needed.
31428         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31429         netdb.
31430
31431 2008-10-15  Simon Josefsson  <simon@josefsson.org>
31432
31433         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
31434         with code.
31435
31436 2008-10-13  Bruno Haible  <bruno@clisp.org>
31437
31438         * lib/glthread/cond.c (glthread_cond_wait_func,
31439         glthread_cond_timedwait_func): Add a comment.
31440
31441 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31442
31443         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
31444         * tests/test-select.c: Likewise,
31445
31446 2008-10-13  Bruno Haible  <bruno@clisp.org>
31447
31448         * lib/glthread/cond.c (glthread_cond_wait_func,
31449         glthread_cond_timedwait_func): Fix variable name.
31450         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31451
31452 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
31453
31454         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
31455         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
31456         struct sockaddr.sa_len.
31457         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
31458
31459 2008-10-13  Simon Josefsson  <simon@josefsson.org>
31460
31461         * build-aux/pmccabe2html: Add css and css_url parameters.
31462
31463 2008-10-12  Bruno Haible  <bruno@clisp.org>
31464
31465         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
31466         calling aclx_get.
31467         Reported by Rainer Tammer <tammer@tammer.net>.
31468
31469 2008-10-12  Bruno Haible  <bruno@clisp.org>
31470
31471         Use msvcrt aware primitives for creation/termination of Win32 threads.
31472         * lib/glthread/thread.c: Include <process.h>.
31473         (glthread_create_func): Use _beginthreadex instead of CreateThread.
31474         (wrapper_func): Update signature.
31475         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
31476
31477 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31478             Bruno Haible  <bruno@clisp.org>
31479
31480         Provide a Win32 implementation of the 'cond' module.
31481         * lib/glthread/cond.h [USE_WIN32]: New implementation.
31482         * lib/glthread/cond.c (glthread_cond_init_func,
31483         glthread_cond_wait_func, glthread_cond_timedwait_func,
31484         glthread_cond_signal_func, glthread_cond_broadcast_func,
31485         glthread_cond_destroy_func) [USE_WIN32]: New functions.
31486         * modules/cond (Dependencies): Add gettimeofday.
31487
31488 2008-10-11  Bruno Haible  <bruno@clisp.org>
31489
31490         Make sleep work on older versions of mingw.
31491         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
31492         only whether it exists.
31493         * doc/posix-functions/sleep.texi: Mention the problem with older
31494         versions of mingw.
31495
31496 2008-10-11  Bruno Haible  <bruno@clisp.org>
31497
31498         New module 'shutdown'.
31499         * modules/shutdown: New file.
31500         * lib/sys_socket.in.h (shutdown): New declaration.
31501         * lib/winsock.c (shutdown): New function.
31502         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31503         GNULIB_SHUTDOWN.
31504         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
31505         * doc/posix-functions/shutdown.texi: Document the new module.
31506
31507 2008-10-11  Jim Meyering  <meyering@redhat.com>
31508
31509         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
31510
31511 2008-10-11  Bruno Haible  <bruno@clisp.org>
31512
31513         New module 'fclose'.
31514         * modules/fclose: New file.
31515         * lib/stdio.in.h (fclose): New declaration.
31516         * lib/fclose.c: New file.
31517         * m4/fclose.m4: New file.
31518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
31519         REPLACE_FCLOSE.
31520         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
31521         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
31522         REPLACE_FCLOSE.
31523         * modules/close (Depends-on): fclose.
31524         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
31525
31526 2008-10-11  Bruno Haible  <bruno@clisp.org>
31527
31528         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
31529         set errno and don't call _close.
31530
31531 2008-10-10  Bruno Haible  <bruno@clisp.org>
31532
31533         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
31534         ACL, not afterwards. Fixes test failure on Cygwin.
31535
31536 2008-10-09  Ben Pfaff  <blp@gnu.org>
31537
31538         * build-aux/announce-gen: Fix gnulib version related part of usage
31539         message.  Die with a useful error message if no tarballs are
31540         found.
31541
31542 2008-10-10  Jim Meyering  <meyering@redhat.com>
31543
31544         bootstrap: use git's --depth=N option only if it's supported
31545         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
31546         recognize the --depth option.  Reported by Pádraig Brady.
31547
31548 2008-10-09  Bruno Haible  <bruno@clisp.org>
31549
31550         New module 'ioctl'.
31551         * modules/ioctl: New file.
31552         * lib/sys_socket.in.h (ioctl): Remove declaration.
31553         * lib/winsock.c: Include <sys/ioctl.h>.
31554         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
31555         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
31556         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
31557         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
31558         * doc/posix-functions/ioctl.texi: Mention the new module.
31559
31560 2008-10-09  Bruno Haible  <bruno@clisp.org>
31561
31562         New module 'sys_ioctl'.
31563         * lib/sys_ioctl.in.h: New file.
31564         * m4/sys_ioctl_h.m4: New file.
31565         * modules/sys_ioctl: New file.
31566         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
31567
31568 2008-10-09  Bruno Haible  <bruno@clisp.org>
31569
31570         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
31571         * lib/winsock.c: Include <stdarg.h>.
31572         (rpl_ioctl): Change to second argument 'int' and then varargs.
31573
31574 2008-10-09  Bruno Haible  <bruno@clisp.org>
31575
31576         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
31577         when the sys_socket module is present and the system has <winsock2.h>.
31578
31579 2008-10-09  Bruno Haible  <bruno@clisp.org>
31580
31581         * doc/posix-functions/close.texi: Mention module 'close' instead of
31582         module 'sys_socket'.
31583
31584 2008-10-09  Bruno Haible  <bruno@clisp.org>
31585
31586         * doc/glibc-headers/sys_ioctl.texi: New file.
31587         * doc/gnulib.texi: Include it.
31588
31589 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31590             Bruno Haible  <bruno@clisp.org>
31591
31592         Combine the two replacements of 'close'.
31593         * lib/sys_socket.in.h (close): Define to a reminder to include
31594         <unistd.h>.
31595         (_gl_close_fd_maybe_socket): New declaration.
31596         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
31597         * lib/winsock.c (close): Remove undefinition.
31598         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
31599         needed for the gnulib module 'close'.
31600         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
31601         define to an error symbol or to a warning, if suitable.
31602         * lib/close.c: Include <sys/socket.h>.
31603         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
31604         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
31605         UNISTD_H_HAVE_WINSOCK2_H.
31606         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
31607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31608         UNISTD_H_HAVE_WINSOCK2_H.
31609         * modules/sys_socket (Files): Add m4/unistd_h.m4.
31610         (configure.ac): Set a module indicator.
31611         (Makefile.am): Substitute GNULIB_CLOSE.
31612         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
31613         * modules/poll-tests (Depends-on): Add close.
31614         * modules/select-tests (Depends-on): Likewise.
31615
31616 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31617             Bruno Haible  <bruno@clisp.org>
31618
31619         New module 'close'.
31620         * modules/close: New file.
31621         * lib/unistd.in.h (close): Move declaration out of the
31622         FCHDIR_REPLACEMENT scope.
31623         (_gl_unregister_fd): New declaration.
31624         * lib/close.c: New file.
31625         * lib/fchdir.c (rpl_close): Remove function.
31626         * m4/close.m4: New file.
31627         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
31628         close.
31629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
31630         REPLACE_CLOSE.
31631         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
31632         REPLACE_CLOSE.
31633         * modules/fchdir (Depends-on): Add close.
31634
31635 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31636             Bruno Haible  <bruno@clisp.org>
31637
31638         * lib/fcntl.in.h (open): Simplify conditionals.
31639         (_gl_register_fd): New declaration.
31640         * lib/fchdir.c (rpl_open): Remove function.
31641         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
31642         also.
31643         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
31644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
31645         open.
31646
31647 2008-10-09  Jim Meyering  <meyering@redhat.com>
31648
31649         GNUmakefile: use the more name-space-friendly "_version"
31650         * top/GNUmakefile (_dummy): Update.
31651         (_version): Rename from "version".
31652
31653 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31654             Bruno Haible  <bruno@clisp.org>
31655
31656         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
31657         rpl_close.
31658         (_gl_register_fd): New function, extracted from rpl_open.
31659         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
31660         (rpl_open, rpl_opendir): Use _gl_register_fd.
31661
31662 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31663
31664         Fix organization of 'open' replacement.
31665         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
31666         (gl_FUNC_OPEN): Use it.
31667         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
31668
31669 2008-10-08  Bruno Haible  <bruno@clisp.org>
31670
31671         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
31672
31673 2008-10-08  Simon Josefsson  <simon@josefsson.org>
31674
31675         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
31676         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
31677         listen).
31678
31679 2008-10-08  Eric Blake  <ebb9@byu.net>
31680
31681         GNUmakefile: add 'make version' target
31682         * top/GNUmakefile (_curr-ver): Split version update rules...
31683         (version): ...into a target.
31684
31685 2008-10-07  Bruno Haible  <bruno@clisp.org>
31686
31687         Use a more portable replacement expression for -0.0L.
31688         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
31689         instead of -0.0L. Fix m4 quotation.
31690
31691         * tests/test-signbit.c: Include <float.h>.
31692         (minus_zero): New variable.
31693         (test_signbitl): Use minus_zero instead of -zero.
31694         * modules/signbit-tests (Depends-on): Add float.
31695
31696         * tests/test-ceill.c: Include <float.h>.
31697         (zero): Remove variable.
31698         (minus_zero): New variable.
31699         (main): Use minus_zero instead of -zero.
31700         * modules/ceill-tests (Depends-on): Add float.
31701
31702         * tests/test-floorl.c: Include <float.h>.
31703         (zero): Remove variable.
31704         (minus_zero): New variable.
31705         (main): Use minus_zero instead of -zero.
31706         * modules/floorl-tests (Depends-on): Add float.
31707
31708         * tests/test-roundl.c: Include <float.h>.
31709         (zero): Remove variable.
31710         (minus_zero): New variable.
31711         (main): Use minus_zero instead of -zero.
31712         * modules/roundl-tests (Depends-on): Add float.
31713
31714         * tests/test-truncl.c: Include <float.h>.
31715         (zero): Remove variable.
31716         (minus_zero): New variable.
31717         (main): Use minus_zero instead of -zero.
31718         * modules/truncl-tests (Depends-on): Add float.
31719
31720         * tests/test-frexpl.c (zero): Remove variable.
31721         (minus_zero): New variable.
31722         (main): Use minus_zero instead of -zero.
31723         * modules/frexpl-tests (Depends-on): Add float.
31724
31725         * tests/test-isnan.c (zerol): Remove variable.
31726         (minus_zerol): New variable.
31727         (test_long_double): Use minus_zerol instead of -zerol.
31728         * modules/isnan-tests (Depends-on): Add float.
31729
31730         * tests/test-isnanl.h (zero): Remove variable.
31731         (minus_zero): New variable.
31732         (main): Use minus_zero instead of -zero.
31733         * modules/isnanl-nolibm-tests (Depends-on): Add float.
31734         * modules/isnanl-tests (Depends-on): Add float.
31735
31736         * tests/test-ldexpl.c (zero): Remove variable.
31737         (minus_zero): New variable.
31738         (main): Use minus_zero instead of -zero.
31739         * modules/ldexpl-tests (Depends-on): Add float.
31740
31741         * tests/test-snprintf-posix.h (zerol): Remove variable.
31742         (minus_zerol): New variable.
31743         (test_function): Use minus_zerol instead of -zerol.
31744         * modules/snprintf-posix-tests (Depends-on): Add float.
31745         * modules/vsnprintf-posix-tests (Depends-on): Add float.
31746
31747         * tests/test-sprintf-posix.h (zerol): Remove variable.
31748         (minus_zerol): New variable.
31749         (test_function): Use minus_zerol instead of -zerol.
31750         * modules/sprintf-posix-tests (Depends-on): Add float.
31751         * modules/vsprintf-posix-tests (Depends-on): Add float.
31752
31753         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
31754         (minus_zerol): New variable.
31755         (test_function): Use minus_zerol instead of -zerol.
31756         * modules/vasnprintf-posix-tests (Depends-on): Add float.
31757
31758         * tests/test-vasprintf-posix.c (zerol): Remove variable.
31759         (minus_zerol): New variable.
31760         (test_function): Use minus_zerol instead of -zerol.
31761         * modules/vasprintf-posix-tests (Depends-on): Add float.
31762
31763 2008-10-07  Simon Josefsson  <simon@josefsson.org>
31764
31765         * MODULES.html.sh (Support for building documentation): Mention
31766         pmccabe2html.  Sort entries.
31767
31768         Add pmccabe2html module, from gnupdf.
31769         * build-aux/pmccabe.css: New file.
31770         * build-aux/pmccabe2html: New file.
31771         * m4/pmccabe2html.m4: New file.
31772         * modules/pmccabe2html: New file.
31773
31774 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
31775
31776         flock: new module
31777         * MODULES.html.sh: Add to list of modules.
31778         * lib/flock.c: flock implementation for Windows and Unix systems
31779         which have fcntl.
31780         * doc/glibc-functions/flock.texi: Update documentation.
31781         * lib/sys_file.in.h: <sys/file.h> header file.
31782         * m4/flock.m4: M4 macros.
31783         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
31784         * modules/flock: flock module.
31785         * modules/flock-tests: flock tests module.
31786         * modules/sys_file: sys/file.h module.
31787         * tests/test-flock.c: test suite for flock.
31788
31789 2008-10-06  Jim Meyering  <meyering@redhat.com>
31790
31791         bootstrap: check for LT_INIT more portably still ;-)
31792         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
31793         Spotted by Bruno Haible.
31794
31795 2008-10-06  Eric Blake  <ebb9@byu.net>
31796
31797         test-signbit: avoid tripping Irix cc bug on -0.0L
31798         * tests/test-signbit.c (minus_zerol): Delete, and replace with
31799         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
31800         entire testsuite consistent and avoids an Irix 6.2 bug.
31801
31802 2008-10-05  Bruno Haible  <bruno@clisp.org>
31803             Jim Meyering  <jim@meyering.net>
31804
31805         Add an option for ignoring EPIPE during close_stdout.
31806         * lib/closeout.h: Include <stdbool.h>.
31807         (close_stdout_set_ignore_EPIPE): New declaration.
31808         * lib/closeout.c: Include <stdbool.h>.
31809         (ignore_EPIPE): New variable.
31810         (close_stdout_set_ignore_EPIPE): New function.
31811         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
31812         * lib/close-stream.c (close_stream): Mention the possible EPIPE
31813         failure.
31814         * modules/closeout (Depends-on): Add stdbool.
31815
31816 2008-10-05  Bruno Haible  <bruno@clisp.org>
31817
31818         * modules/accept: New file.
31819         * modules/bind: New file.
31820         * modules/connect: New file.
31821         * modules/getpeername: New file.
31822         * modules/getsockname: New file.
31823         * modules/getsockopt: New file.
31824         * modules/listen: New file.
31825         * modules/recv: New file.
31826         * modules/recvfrom: New file.
31827         * modules/send: New file.
31828         * modules/sendto: New file.
31829         * modules/setsockopt: New file.
31830         * modules/socket: New file.
31831         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
31832         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
31833         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
31834         the particular module is requested. Add a link warning when the
31835         particular module is not requested.
31836         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
31837         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
31838         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
31839         the particular module is requested.
31840         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
31841         gl_SYS_SOCKET_H_DEFAULTS): New macros.
31842         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
31843         * modules/sys_socket (Depends-on): Add link-warning.
31844         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
31845         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
31846         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
31847         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
31848         GL_LINK_WARNING.
31849         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
31850         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
31851         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
31852         * doc/posix-functions/getpeername.texi: Mention the new module
31853         'getpeername'.
31854         * doc/posix-functions/getsockname.texi: Mention the new module
31855         'getsockname'.
31856         * doc/posix-functions/getsockopt.texi: Mention the new module
31857         'getsockopt'.
31858         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
31859         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
31860         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
31861         * doc/posix-functions/send.texi: Mention the new module 'send'.
31862         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
31863         * doc/posix-functions/setsockopt.texi: Mention the new module
31864         'setsockopt'.
31865         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
31866         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
31867         listen, connect, accept.
31868         * modules/select-tests (Depends-on): Likewise.
31869
31870 2008-10-05  Bruno Haible  <bruno@clisp.org>
31871
31872         * lib/winsock.c (strerror): Remove unused #undef.
31873         (rpl_close): Remove unused local variable.
31874
31875         * modules/sys_socket (Depends-on); Add errno.
31876
31877 2008-10-05  Bruno Haible  <bruno@clisp.org>
31878
31879         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
31880         (select): Add a link warning when the 'select' module is not used.
31881         * modules/sys_select (Depends-on): Add link-warning.
31882         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
31883         Suggested by Paolo Bonzini.
31884
31885 2008-10-05  Jim Meyering  <meyering@redhat.com>
31886
31887         bootstrap: check for LT_INIT more portably
31888         * build-aux/bootstrap: Avoid using grep -E, since it's not
31889         portable enough.  Suggestion from Bruno Haible.
31890
31891 2008-10-05  Bruno Haible  <bruno@clisp.org>
31892
31893         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
31894         as being fixed by gnulib.
31895
31896 2008-10-05  Bruno Haible  <bruno@clisp.org>
31897
31898         * modules/select-tests: New file, mostly copied from
31899         modules/sys_select-tests.
31900         * tests/test-select.c: New file, mostly copied from
31901         tests/test-sys_select.c.
31902         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
31903         * modules/sys_select-tests (Depends-on): Remove all dependencies.
31904         (Makefile.am): Remove test_sys_select_LDADD.
31905
31906         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
31907         to an undefined symbol, for an error message.
31908         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
31909         (gl_SYS_SELECT_H_DEFAULTS): New macro.
31910         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
31911         winsock-select.c here.
31912         * modules/sys_select (Files): Remove lib/winsock-select.c.
31913         (Depends-on): Remove alloca.
31914         (Makefile.am): Substitute GNULIB_SELECT.
31915         * modules/select: New file.
31916         * doc/posix-functions/select.texi: Update.
31917
31918 2008-10-05  Bruno Haible  <bruno@clisp.org>
31919
31920         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
31921         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
31922         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
31923         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
31924         getdtablesize.
31925         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
31926         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
31927
31928 2008-10-05  Bruno Haible  <bruno@clisp.org>
31929
31930         * modules/getdtablesize-tests: New file.
31931         * tests/test-getdtablesize.c: New file.
31932
31933         New module 'getdtablesize'.
31934         * lib/unistd.in.h (getdtablesize): New declaration.
31935         * lib/getdtablesize.c: New file.
31936         * m4/getdtablesize.m4: New file.
31937         * modules/getdtablesize: New file.
31938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31939         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
31940         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
31941         HAVE_GETDTABLESIZE.
31942         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
31943
31944 2008-10-05  Bruno Haible  <bruno@clisp.org>
31945
31946         * modules/sched (Makefile.am): Fix typo.
31947         Reported by Simon Josefsson.
31948
31949 2008-10-05  Jim Meyering  <meyering@redhat.com>
31950
31951         bootstrap: check for LT_INIT, too
31952         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
31953         are deprecated.  Suggestion from Ralf Wildenhues.
31954
31955 2008-10-05  Bruno Haible  <bruno@clisp.org>
31956
31957         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
31958         overriding them by ours.
31959         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
31960
31961 2008-10-05  Jim Meyering  <meyering@redhat.com>
31962
31963         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
31964         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
31965         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
31966
31967 2008-10-04  Bruno Haible  <bruno@clisp.org>
31968
31969         * modules/dup2 (License): Change to LGPLv2+.
31970         * modules/sleep (License): Likewise.
31971         * modules/perror (License): Likewise.
31972         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
31973         Blake.
31974         * modules/signal (License): Likewise.
31975         * modules/sigprocmask (License): Likewise.
31976         * modules/raise (License): Change to LGPLv2+, with approval by Jim
31977         Meyering.
31978
31979 2008-10-04  Bruno Haible  <bruno@clisp.org>
31980
31981         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
31982         Reported by Rainer Tammer <tammer@tammer.net>.
31983
31984 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
31985             Bruno Haible  <bruno@clisp.org>
31986
31987         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
31988         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
31989         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
31990
31991 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
31992
31993         filevercmp: new module
31994         * lib/filevercmp.h: New function filevercmp comparing version strings.
31995         * lib/filevercmp.c: Implementation of filevercmp function.
31996         * modules/filevercmp: Module metadata.
31997         * tests/test-filevercmp.c: Unit test for new module.
31998         * modules/filevercmp-tests: Unit test metadata.
31999         * MODULES.html.sh: Add filevercmp module.
32000
32001 2008-10-03  Bruno Haible  <bruno@clisp.org>
32002
32003         * lib/c-ctype.h: Add comment.
32004         Reported by Jim Meyering.
32005
32006 2008-10-02  Bruno Haible  <bruno@clisp.org>
32007
32008         * modules/posix_spawn-internal (Depends-on): Add 'open'.
32009
32010 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
32011
32012         * build-aux/bootstrap: Allow renaming bootstrap, and change the
32013         name of bootstrap.conf accordingly.
32014
32015 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
32016
32017         * build-aux/bootstrap: Install git-merge-changelog configuration
32018         items into .gitconfig if needed.
32019
32020 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
32021
32022         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
32023         git repository, and initialize/update it accordingly.
32024
32025 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
32026
32027         * modules/fsync-tests: New file.
32028         * tests/test-fsync.c: New file.
32029
32030         New module 'fsync'.
32031         * lib/fsync.c: New file.
32032         * m4/fsync.m4: New file.
32033         * modules/fsync: New file.
32034         * lib/unistd.in.h (fsync): New declaration.
32035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
32036         GNULIB_FSYNC and HAVE_FSYNC.
32037         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
32038         * MODULES.html.sh (posix_functions): Add fsync.
32039         * doc/posix-functions/fsync.texi: Mention the new module.
32040
32041 2008-10-02  Jim Meyering  <meyering@redhat.com>
32042
32043         fts.c: sync with similar code from coreutils' remove.c
32044         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
32045         Guard also with "#if defined __linux__", since for now at least,
32046         this code is Linux-kernel-specific.
32047
32048 2008-10-02  Jim Meyering  <meyering@redhat.com>
32049
32050         fts: bug fixes
32051         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
32052         Include <sys/vfs.h>, not <sys/statfs.h>.
32053
32054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
32055         Include <sys/vfs.h>, not <sys/statfs.h>.
32056
32057 2008-10-01  Bruno Haible  <bruno@clisp.org>
32058
32059         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
32060         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
32061         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
32062         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
32063         * doc/posix-functions/posix_spawnp.texi: Likewise.
32064         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
32065         whether posix_spawn actually works.
32066         * m4/pipe.m4 (gl_PIPE): Likewise.
32067         * modules/execute (Files): Add m4/posix_spawn.m4.
32068         * modules/pipe (Files): Add m4/posix_spawn.m4.
32069         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
32070
32071 2008-10-01  Jim Meyering  <meyering@redhat.com>
32072
32073         remove trailing spaces
32074         * NEWS: Likewise.
32075         * lib/poll.c (poll): Likewise.
32076         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
32077         * lib/winsock.c (rpl_close): Likewise.
32078         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
32079         * modules/yield: Likewise.
32080         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
32081         * tests/test-sys_select.c (connect_to_socket): Likewise.
32082
32083         fts.c: adjust a new interface to be more generally useful
32084         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
32085         (fts_build): Adjust caller.
32086
32087 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32088
32089         * modules/cond-tests: New file.
32090         * tests/test-cond.c: New file.
32091
32092 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32093             Bruno Haible  <bruno@clisp.org>
32094
32095         * modules/cond (Dependencies): Add errno, time.
32096         * lib/glthread/cond.h: Include <time.h>.
32097         (gl_cond_define, gl_cond_define_initialized): Use the same definition
32098         across platforms.
32099
32100 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32101             Bruno Haible  <bruno@clisp.org>
32102
32103         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
32104
32105 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32106             Bruno Haible  <bruno@clisp.org>
32107
32108         * modules/tls-tests (Depends-on): Add thread, yield.
32109         (configure.ac): Remove all checks.
32110         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
32111         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
32112         gl_thread_self): Remove definitions. Include glthread/thread.h and
32113         glthread/yield.h instead.
32114         (test_tls): Pass an additional NULL argument to gl_thread_join.
32115
32116 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32117             Bruno Haible  <bruno@clisp.org>
32118
32119         * modules/lock-tests (Depends-on): Add thread, yield.
32120         (configure.ac): Remove all checks.
32121         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
32122         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
32123         gl_thread_self): Remove definitions. Include glthread/thread.h and
32124         glthread/yield.h instead.
32125         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
32126         additional NULL argument to gl_thread_join.
32127
32128 2008-09-30  Bruno Haible  <bruno@clisp.org>
32129
32130         Fix the Win32 implementation of the 'thread' module.
32131         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
32132         pointer type.
32133         (gl_thread_self): Invoke gl_thread_self_func.
32134         (gl_thread_self_func): New declaration.
32135         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
32136         (do_init_self_key, init_self_key): New functions.
32137         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
32138         Remove some fields.
32139         (running_threads, running_lock): Remove variables.
32140         (get_current_thread_handle): New function.
32141         (gl_thread_self_func, wrapper_func, glthread_create_func,
32142         glthread_join_func, gl_thread_exit_func): Largely rewritten and
32143         simplified.
32144
32145 2008-09-30  Bruno Haible  <bruno@clisp.org>
32146
32147         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
32148         files.
32149
32150 2008-09-30  Jim Meyering  <meyering@redhat.com>
32151
32152         fts.m4: correct the test for statfs.f_type
32153         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
32154         when checking for statfs.f_type.
32155
32156 2008-09-15  Simon Josefsson  <simon@josefsson.org>
32157
32158         tests: avoid some compiler warnings
32159         * tests/test-memchr.c (main): Pass NULL indirectly.
32160         * tests/test-getdate.c (main): Remove unused variable 'ret'.
32161
32162 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
32163
32164         getdate.y: disallow countable dayshifts like "4 yesterday ago"
32165         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
32166         exactly specified dayshifts.
32167         (dayshift): New rule.
32168         (rel): Add dayshift.
32169         (relative_time_table) [tomorrow, yesterday, today, now]:
32170         Use tDAY_SHIFT in place of tDAY_UNIT.
32171         * tests/test-getdate.c: Add tests for now-disallowed countable
32172         dayshifts, e.g., "4 yesterday ago".
32173
32174 2008-09-29  Bruno Haible  <bruno@clisp.org>
32175
32176         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
32177         * tests/test-posix_spawn1.in.sh: Renamed from
32178         tests/test-posix_spawn.in.sh.
32179         * tests/test-posix_spawn2.c: New file.
32180         * tests/test-posix_spawn2.in.sh: New file.
32181         * modules/posix_spawnp-tests (Files): Update.
32182         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
32183
32184 2008-09-29  Bruno Haible  <bruno@clisp.org>
32185
32186         Propagate effects of putenv/setenv/unsetenv to child processes.
32187         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
32188         * lib/pipe.c (create_pipe): Likewise.
32189
32190 2008-09-29  Bruno Haible  <bruno@clisp.org>
32191
32192         Enable use of shell scripts as executables in mingw.
32193         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
32194         run the program as a shell script.
32195         * lib/pipe.c (create_pipe): Likewise.
32196         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
32197         resulting array.
32198
32199 2008-09-29  Eric Blake  <ebb9@byu.net>
32200
32201         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
32202
32203 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
32204
32205         * doc/posix-functions/accept.texi: Update mingw problems.
32206         * doc/posix-functions/bind.texi: Update mingw problems.
32207         * doc/posix-functions/close.texi: Update mingw problems.
32208         * doc/posix-functions/connect.texi: Update mingw problems.
32209         * doc/posix-functions/getpeername.texi: Update mingw problems.
32210         * doc/posix-functions/getsockname.texi: Update mingw problems.
32211         * doc/posix-functions/getsockopt.texi: Update mingw problems.
32212         * doc/posix-functions/ioctl.texi: Update mingw problems.
32213         * doc/posix-functions/listen.texi: Update mingw problems.
32214         * doc/posix-functions/recv.texi: Update mingw problems.
32215         * doc/posix-functions/recvfrom.texi: Update mingw problems.
32216         * doc/posix-functions/select.texi: Update mingw problems.
32217         * doc/posix-functions/send.texi: Update mingw problems.
32218         * doc/posix-functions/sendto.texi: Update mingw problems.
32219         * doc/posix-functions/setsockopt.texi: Update mingw problems.
32220         * doc/posix-functions/socket.texi: Update mingw problems.
32221
32222 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
32223             Bruno Haible  <bruno@clisp.org>
32224
32225         * lib/sys_select.in.h: Include sys/time.h.
32226         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
32227         * modules/sys_select: Depend on sys_time.
32228         * tests/test-sys_select.c: Test that sys/select.h defines struct
32229         timeval fully.
32230
32231 2008-09-29  Bruno Haible  <bruno@clisp.org>
32232
32233         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
32234         * lib/sys_select.in.h: Likewise.
32235
32236 2008-09-29  Bruno Haible  <bruno@clisp.org>
32237
32238         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
32239
32240 2008-09-29  Bruno Haible  <bruno@clisp.org>
32241
32242         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
32243         Set LIBSOCKET instead of augmenting LIBS.
32244         * modules/sockets (Link): New section.
32245         * modules/sockets-tests (test_sockets_LDADD): New variable.
32246         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
32247         * modules/poll-tests (test_poll_LDADD): New variable.
32248         * NEWS: Document the change.
32249
32250 2008-09-29  Bruno Haible  <bruno@clisp.org>
32251
32252         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
32253         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
32254         ARPA_INET_H directly.
32255         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32256
32257 2008-09-28  Bruno Haible  <bruno@clisp.org>
32258
32259         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
32260         from gl_HEADER_SYS_SOCKET.
32261         (gl_HEADER_SYS_SOCKET): Invoke it.
32262         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32263
32264 2008-09-28  Bruno Haible  <bruno@clisp.org>
32265
32266         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
32267         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
32268         Needed on OSF/1 4.0.
32269
32270 2008-09-28  Bruno Haible  <bruno@clisp.org>
32271
32272         Override open more carefully.
32273         * lib/open.c (orig_open): New function.
32274         (rpl_open): Use orig_open instead of open.
32275         * lib/fcntl.in.h: Add special invocation convention.
32276         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
32277         (gl_FUNC_OPEN): Invoke it.
32278
32279         Override freopen more carefully.
32280         * lib/freopen.c (orig_freopen): New function.
32281         (rpl_freopen): Use orig_freopen instead of freopen.
32282         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
32283         (gl_FUNC_FREOPEN): Invoke it.
32284
32285         Override fopen more carefully.
32286         * lib/fopen.c (orig_fopen): New function.
32287         (rpl_fopen): Use orig_fopen instead of fopen.
32288         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
32289         (gl_FUNC_FOPEN): Invoke it.
32290         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
32291
32292 2008-09-28  Bruno Haible  <bruno@clisp.org>
32293
32294         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
32295         SIGPIPE.
32296
32297 2008-09-28  Bruno Haible  <bruno@clisp.org>
32298
32299         * tests/test-sigaction.c (handler, main): Disable the check whether
32300         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
32301         glibc systems with LinuxThreads.
32302
32303 2008-09-28  Bruno Haible  <bruno@clisp.org>
32304
32305         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
32306
32307         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
32308         with AIX xlc.
32309         * lib/fcntl.in.h (open): Likewise.
32310         Reported by Rainer Tammer <tammer@tammer.net>.
32311
32312 2008-09-28  Bruno Haible  <bruno@clisp.org>
32313
32314         * modules/posix_spawnp-tests: New file.
32315         * tests/test-posix_spawn.c: New file.
32316         * tests/test-posix_spawn.in.sh: New file.
32317
32318         New module 'posix_spawnp'.
32319         * modules/posix_spawnp: New file.
32320         * lib/spawnp.c: New file, from GNU libc with modifications.
32321         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
32322
32323         New module 'posix_spawn'.
32324         * modules/posix_spawn: New file.
32325         * lib/spawn.c: New file, from GNU libc with modifications.
32326         * doc/posix-functions/posix_spawn.texi: Mention the new module.
32327
32328         New module 'posix_spawnattr_destroy'.
32329         * modules/posix_spawnattr_destroy: New file.
32330         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
32331         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
32332         module.
32333
32334         New module 'posix_spawnattr_setsigmask'.
32335         * modules/posix_spawnattr_setsigmask: New file.
32336         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
32337         modifications.
32338         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
32339         new module.
32340
32341         New module 'posix_spawnattr_getsigmask'.
32342         * modules/posix_spawnattr_getsigmask: New file.
32343         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
32344         modifications.
32345         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
32346         new module.
32347
32348         New module 'posix_spawnattr_setsigdefault'.
32349         * modules/posix_spawnattr_setsigdefault: New file.
32350         * lib/spawnattr_setdefault.c: New file, from GNU libc with
32351         modifications.
32352         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
32353         new module.
32354
32355         New module 'posix_spawnattr_getsigdefault'.
32356         * modules/posix_spawnattr_getsigdefault: New file.
32357         * lib/spawnattr_getdefault.c: New file, from GNU libc with
32358         modifications.
32359         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
32360         new module.
32361
32362         New module 'posix_spawnattr_setschedpolicy'.
32363         * modules/posix_spawnattr_setschedpolicy: New file.
32364         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
32365         modifications.
32366         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
32367         new module.
32368
32369         New module 'posix_spawnattr_getschedpolicy'.
32370         * modules/posix_spawnattr_getschedpolicy: New file.
32371         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
32372         modifications.
32373         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
32374         new module.
32375
32376         New module 'posix_spawnattr_setschedparam'.
32377         * modules/posix_spawnattr_setschedparam: New file.
32378         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
32379         modifications.
32380         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
32381         new module.
32382
32383         New module 'posix_spawnattr_getschedparam'.
32384         * modules/posix_spawnattr_getschedparam: New file.
32385         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
32386         modifications.
32387         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
32388         new module.
32389
32390         New module 'posix_spawnattr_setpgroup'.
32391         * modules/posix_spawnattr_setpgroup: New file.
32392         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
32393         modifications.
32394         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
32395         module.
32396
32397         New module 'posix_spawnattr_getpgroup'.
32398         * modules/posix_spawnattr_getpgroup: New file.
32399         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
32400         modifications.
32401         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
32402         module.
32403
32404         New module 'posix_spawnattr_setflags'.
32405         * modules/posix_spawnattr_setflags: New file.
32406         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
32407         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
32408         module.
32409
32410         New module 'posix_spawnattr_getflags'.
32411         * modules/posix_spawnattr_getflags: New file.
32412         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
32413         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
32414         module.
32415
32416         New module 'posix_spawnattr_init'.
32417         * modules/posix_spawnattr_init: New file.
32418         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
32419         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
32420         module.
32421
32422         New module 'posix_spawn_file_actions_destroy'.
32423         * modules/posix_spawn_file_actions_destroy: New file.
32424         * lib/spawn_faction_destroy.c: New file, from GNU libc with
32425         modifications.
32426         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
32427         the new module.
32428
32429         New module 'posix_spawn_file_actions_addopen'.
32430         * modules/posix_spawn_file_actions_addopen: New file.
32431         * lib/spawn_faction_addopen.c: New file, from GNU libc with
32432         modifications.
32433         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
32434         the new module.
32435
32436         New module 'posix_spawn_file_actions_adddup2'.
32437         * modules/posix_spawn_file_actions_adddup2: New file.
32438         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
32439         modifications.
32440         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
32441         the new module.
32442
32443         New module 'posix_spawn_file_actions_addclose'.
32444         * modules/posix_spawn_file_actions_addclose: New file.
32445         * lib/spawn_faction_addclose.c: New file, from GNU libc with
32446         modifications.
32447         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
32448         the new module.
32449
32450         New module 'posix_spawn_file_actions_init'.
32451         * modules/posix_spawn_file_actions_init: New file.
32452         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
32453         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
32454         new module.
32455
32456         New module 'posix_spawn-internal'.
32457         * modules/posix_spawn-internal: New file.
32458         * lib/spawn_int.h: New file, from GNU libc with modifications.
32459         * lib/spawni.c: New file, from GNU libc with modifications.
32460         * m4/posix_spawn.m4: New file.
32461
32462         New module 'spawn'.
32463         * modules/spawn: New file.
32464         * lib/spawn.in.h: New file, from GNU libc with modifications.
32465         * m4/spawn_h.m4: New file.
32466         * doc/posix-headers/spawn.texi: Mention the new module.
32467
32468 2008-09-28  Bruno Haible  <bruno@clisp.org>
32469
32470         * modules/sched-tests: New file.
32471         * tests/test-sched.c: New file.
32472
32473         New module 'sched'.
32474         * modules/sched: New file.
32475         * lib/sched.in.h: New file.
32476         * m4/sched_h.m4: New file.
32477         * doc/posix-headers/sched.texi: Mention the new module.
32478
32479 2008-09-27  Eric Blake  <ebb9@byu.net>
32480
32481         Fix previous patch, and tweak references to $0.
32482         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
32483         (func_version, func_gnulib_dir): Don't call this program
32484         gnulib-tool.
32485         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
32486         with using $0 in function.
32487         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
32488         (func_fatal_error): Reuse the name the user invoked us with.
32489
32490 2008-09-27  Bruno Haible  <bruno@clisp.org>
32491
32492         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
32493         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
32494         (gl_ICONV_H): Not here.
32495         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32496         instead of assigning ICONV_H directly.
32497
32498         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
32499         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
32500         WCHAR_H directly.
32501
32502 2008-09-27  Bruno Haible  <bruno@clisp.org>
32503
32504         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
32505         * modules/arpa_inet (Depends-on): Add link-warning.
32506         (Makefile.am): Insert the definition of GL_LINK-WARNING.
32507         * modules/unistd (Makefile.am): Likewise.
32508
32509 2008-09-26  Bruno Haible  <bruno@clisp.org>
32510
32511         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
32512         variables.
32513         (func_version): Essentially copied from gnulib-tool.
32514         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
32515         func_readlink): Copied from gnulib-tool.
32516
32517 2008-09-26  Bruno Haible  <bruno@clisp.org>
32518
32519         * gnulib-tool (func_version): Change directory to $gnulib_dir before
32520         invoking git-version-gen.
32521
32522 2008-09-26  Bruno Haible  <bruno@clisp.org>
32523
32524         * posix-modules: Update to directory names changed on 2008-01-19.
32525         Remove commas in output before splitting into words. No more need to
32526         avoid 'ftruncate' since 2007-02-19.
32527
32528 2008-09-26  Bruno Haible  <bruno@clisp.org>
32529
32530         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
32531
32532 2008-09-26  Bruno Haible  <bruno@clisp.org>
32533
32534         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
32535         * modules/fwriteerror (Depends-on): Add errno.
32536
32537 2008-09-26  Bruno Haible  <bruno@clisp.org>
32538
32539         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
32540         * tests/test-vc-list-files-cvs.sh: Likewise.
32541
32542 2008-09-26  Bruno Haible  <bruno@clisp.org>
32543
32544         * doc/posix-headers/sys_resource.texi: Reorder items.
32545
32546 2008-09-26  Jim Meyering  <meyering@redhat.com>
32547
32548         fts: tweak inode comparison function
32549         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
32550         inode numbers, as documented.
32551
32552         fts: sort dirent entries on inode number before traversing
32553         This avoids a quadratic, seek-related performance penalty when
32554         operating on a directory containing many entries (measurable at 10k;
32555         3.5 hours at 2 million entries with a cold cache) on certain types
32556         of file systems, including ext3 and ext4, but not tmpfs.
32557         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
32558         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
32559         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
32560         (fs_handles_readdir_ordered_dirents_efficiently): New function.
32561         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
32562         (fts_build): Set the stat.st_ino member from D_INO.
32563         If it is likely to be useful, sort dirent entries on inode number.
32564
32565         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
32566         and the struct statfs.f_type member.
32567         * modules/fts (Depends-on): Add d-ino.
32568
32569 2008-09-26  Bruno Haible  <bruno@clisp.org>
32570
32571         * modules/sigpipe-die (Depends-on): Add sigpipe.
32572
32573         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
32574         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
32575         and GNULIB_STDIO_H_SIGPIPE are set.
32576         * lib/stdio-write.c: New file.
32577         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
32578         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32579         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32580         REPLACE_STDIO_WRITE_FUNCS.
32581         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
32582         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32583         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32584         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
32585         * modules/stdio (Files): Add lib/stdio-write.c.
32586         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
32587         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32588         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32589         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
32590         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
32591         REPLACE_FPRINTF_POSIX.
32592         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
32593         REPLACE_PRINTF_POSIX.
32594         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
32595         REPLACE_VFPRINTF_POSIX.
32596         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
32597         REPLACE_VPRINTF_POSIX.
32598         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
32599         SIGPIPE issue.
32600         * doc/posix-functions/fputc.texi: Likewise.
32601         * doc/posix-functions/fputs.texi: Likewise.
32602         * doc/posix-functions/fwrite.texi: Likewise.
32603         * doc/posix-functions/printf.texi: Likewise.
32604         * doc/posix-functions/putc.texi: Likewise.
32605         * doc/posix-functions/putchar.texi: Likewise.
32606         * doc/posix-functions/puts.texi: Likewise.
32607         * doc/posix-functions/vfprintf.texi: Likewise.
32608         * doc/posix-functions/vprintf.texi: Likewise.
32609
32610         * modules/safe-write (Depends-on): Add write.
32611
32612         * modules/sigpipe-tests: New file.
32613         * tests/test-sigpipe.c: New file.
32614         * tests/test-sigpipe.sh: New file.
32615
32616         * modules/write: New file.
32617         * lib/unistd.in.h: Include <sys/types.h>.
32618         (write): New declaration.
32619         * lib/write.c: New file.
32620         * m4/write.m4: New file.
32621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32622         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
32623         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
32624         GNULIB_WRITE, REPLACE_WRITE.
32625         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
32626         and the SIGPIPE issue.
32627
32628         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
32629         (raise): New declaration.
32630         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
32631         (ext_signal): New function.
32632         (rpl_raise): New function.
32633         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
32634         GNULIB_SIGNAL_H_SIGPIPE.
32635         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
32636         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
32637
32638         * modules/sigpipe: New file.
32639         * m4/sigpipe.m4: New file.
32640
32641 2008-09-25  Derek Price  <derek@ximbiot.com>
32642             Bruno Haible  <bruno@clisp.org>
32643
32644         * gnulib-tool (func_import): Report all license incompatibilities, not
32645         just the first one.
32646
32647 2008-09-25  Bruno Haible  <bruno@clisp.org>
32648
32649         * gnulib-tool (func_import): When computing the edits, consider not
32650         only the Makefile.ams that exist but also those that will be generated.
32651
32652 2008-09-25  Simon Josefsson  <simon@josefsson.org>
32653
32654         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
32655         fixes gnulib-tool --test warning about duplicate dependency.
32656
32657 2008-09-25  Bruno Haible  <bruno@clisp.org>
32658
32659         * gnulib-tool: Don't ask the user to perform edits in the generated
32660         Makefile.ams.
32661         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
32662         apply to the Makefile.am being generated.
32663         (func_emit_tests_Makefile_am): Execute edits that apply to the
32664         Makefile.am being generated.
32665         (func_import): Setup list of Makefile.am edits before emitting the
32666         Makefile.ams, not at the end.
32667         (func_create_testdir): Update.
32668         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32669
32670 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32671
32672         * gnulib-tool (func_import): Store the --tests-base option in the
32673         comment in gnulib-cache.m4.
32674
32675 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
32676
32677         * NEWS: Document increased portability that sys_select now provides.
32678
32679         * lib/sys_select.in.h: Install select wrapper.
32680         * lib/sys_socket.in.h: Use more descriptive name when there is no
32681         select wrapper.
32682         * lib/winsock-select.c: New.
32683         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
32684         Require gl_HEADER_SYS_SOCKET.
32685         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
32686         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
32687         * tests/test-sys_select.c: Add functional tests.
32688
32689 2008-09-24  Eric Blake  <ebb9@byu.net>
32690
32691         open, fopen: close fd leak in last patch
32692         * lib/open.c (rpl_open): Close fd before returning error.
32693         * lib/fopen.c (rpl_fopen): Close fd before returning error.
32694         * doc/posix-functions/open.texi (open): Document that Irix also
32695         has the bug.
32696         * doc/posix-functions/fopen.texi (fopen): Likewise.
32697         Reported by Paolo Bonzini.
32698
32699 2008-09-24  Bruno Haible  <bruno@clisp.org>
32700
32701         Ensure that a filename ending in a slash cannot be used to access a
32702         non-directory.
32703         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
32704         to check whether it's really a directory.
32705         * lib/fopen.c: Include fcntl.h, unistd.h.
32706         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
32707         and fdopen().
32708         * modules/fopen (Depends-on): Add unistd.
32709         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
32710         * tests/test-fopen.c (main): Likewise.
32711         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
32712         * doc/posix-functions/fopen.texi: Likewise.
32713         Reported by Eric Blake.
32714
32715 2008-09-23  Eric Blake  <ebb9@byu.net>
32716
32717         c-stack: avoid compiler optimizations when provoking overflow
32718         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
32719         recursion harder to optimize, to ensure a stack overflow occurs.
32720         * tests/test-c-stack.c (recurse): Likewise.
32721         Borrowed from libsigsegv.
32722
32723         c-stack: work around Irix sigaltstack bug
32724         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
32725         whether sigaltstack uses wrong end of stack_t (copied in part from
32726         libsigsegv).
32727         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
32728         Irix bug, without requiring an over-allocation.
32729         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
32730         bug.
32731
32732         fopen: document mingw bug on directories
32733         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
32734         not allowing a stream visiting a directory, even though reading
32735         from such a stream is not portable.
32736
32737 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32738
32739         * lib/poll.c: Rewrite.
32740         * modules/poll: Depend on alloca.
32741
32742 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32743
32744         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
32745         instead define prototypes for a full set of wrappers.  Ensure
32746         that Cygwin does not use the compatibility code, which is only
32747         for MinGW.
32748         * lib/winsock.c: New.
32749         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
32750         * modules/sys_socket: Add lib/winsock.c.
32751
32752         * modules/poll-tests: Add errno and perror.
32753         * tests/test-poll.c: Use ioctl, not ioctlsocket.
32754
32755 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32756
32757         * tests/test-poll.c: Downgrade minimum needed Winsock version.
32758
32759 2008-09-23  Bruno Haible  <bruno@clisp.org>
32760
32761         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
32762         * doc/glibc-functions/*: Likewise.
32763
32764 2008-09-23  Simon Josefsson  <simon@josefsson.org>
32765
32766         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
32767         success.
32768
32769 2008-09-22  Eric Blake  <ebb9@byu.net>
32770             Bruno Haible  <bruno@clisp.org>
32771
32772         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
32773         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
32774         supply %A but mishandle pseudo-NaN.
32775         Reported by Simon Josefsson.
32776
32777 2008-09-21  Bruno Haible  <bruno@clisp.org>
32778
32779         * tests/test-lock.c (main): Tweak skip message.
32780         * tests/test-tls.c (main): Likewise.
32781
32782 2008-09-21  Bruno Haible  <bruno@clisp.org>
32783
32784         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
32785         whether 'struct sigaction' has sa_sigaction here...
32786         (gl_PREREQ_SIG_HANDLER_H): ... not here.
32787         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
32788
32789 2008-09-21  Bruno Haible  <bruno@clisp.org>
32790
32791         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
32792         section.
32793         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
32794         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
32795         the new section.
32796         (Support for obsolete systems lacking POSIX:2001): New section.
32797         (String handling <string.h>): Move strdup to the new section.
32798         Suggested by Simon Josefsson and Paolo Bonzini.
32799
32800 2008-09-21  Bruno Haible  <bruno@clisp.org>
32801
32802         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
32803         exponents in %e and %g results on 'long double'. Needed for mingw's
32804         improved *printf functions.
32805         * tests/test-vasprintf-posix.c (test_function): Likewise.
32806         * tests/test-snprintf-posix.h (test_function): Likewise.
32807         * tests/test-sprintf-posix.h (test_function): Likewise.
32808         Reported by Eric Blake.
32809
32810 2008-09-21  Bruno Haible  <bruno@clisp.org>
32811
32812         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
32813         * tests/test-sprintf-posix.h (test_function): Likewise.
32814
32815 2008-09-21  Bruno Haible  <bruno@clisp.org>
32816
32817         * modules/getpass (Depends-on): Add strdup-posix.
32818
32819         New module 'strdup-posix'.
32820         * modules/strdup-posix: New file.
32821         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
32822         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
32823         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32824         REPLACE_STRDUP.
32825         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
32826         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
32827         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
32828         strdup-posix.
32829
32830         * modules/strdup (Depends-on): Remove malloc-posix.
32831
32832 2008-09-20  Bruno Haible  <bruno@clisp.org>
32833
32834         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
32835         Wildenhues.
32836
32837 2008-09-20  Bruno Haible  <bruno@clisp.org>
32838
32839         Ensure that wint_t gets defined on IRIX 5.3.
32840         * lib/wchar.in.h (wint_t): Define if not defined by the system.
32841         * lib/wctype.in.h (wint_t): Likewise.
32842         (__wctype_wint_t): Remove type.
32843         (isw*): Use wint_t instead of __wctype_wint_t.
32844         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
32845         * modules/wchar (Files): Add m4/wint_t.m4.
32846         (Makefile.am): Substitute HAVE_WINT_T.
32847         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
32848         * tests/test-wctype.c: Check that wint_t is defined.
32849         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
32850         * doc/posix-headers/wctype.texi: Likewise.
32851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32852
32853 2008-09-18  Bruno Haible  <bruno@clisp.org>
32854
32855         * gnulib-tool (func_exit): Update comment.
32856
32857 2008-09-18  Simon Josefsson  <simon@josefsson.org>
32858
32859         * modules/getaddrinfo (Depends-on): Remove strdup, this module
32860         assumes strdup exists and does not depend on strdup to return
32861         ENOMEM on out of memory conditions.
32862
32863 2008-09-18  Bruno Haible  <bruno@clisp.org>
32864
32865         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
32866         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
32867         digits for the exponent.
32868
32869 2008-09-18  Jim Meyering  <meyering@redhat.com>
32870             Bruno Haible  <bruno@clisp.org>
32871
32872         * lib/vasnprintf.c (decimal_point_char): Define also if
32873         NEED_PRINTF_INFINITE_LONG_DOUBLE.
32874
32875 2008-09-16  Bruno Haible  <bruno@clisp.org>
32876         and Eric Blake  <ebb9@byu.net>
32877
32878         vasnprintf: support Irix 5.3
32879         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
32880         that mishandle long double infinity.
32881         Reported by Tom G. Christensen.
32882
32883 2008-09-16  Bruno Haible  <bruno@clisp.org>
32884
32885         * doc/glibc-functions/scandir.texi: Mention the function is missing on
32886         Solaris 9.
32887         * doc/glibc-functions/alphasort.texi: Likewise.
32888         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
32889
32890 2008-09-16  Jim Meyering  <meyering@redhat.com>
32891
32892         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
32893         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
32894         a umask modification leak out of a subshell.  Otherwise, the
32895         opensolaris /bin/sh would be accepted and thus cause unwarranted
32896         failures in the coreutils test suite.
32897
32898 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
32899
32900         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
32901         to succeed.
32902
32903 2008-09-16  Jim Meyering  <meyering@redhat.com>
32904
32905         avoid spurious test failure when library is built without ACL support
32906         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
32907         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
32908         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
32909         * tests/test-copy-acl.sh: Likewise.
32910
32911 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32912
32913         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
32914         based on character occurrence counts.
32915
32916 2008-09-15  Eric Blake  <ebb9@byu.net>
32917
32918         tests: avoid some compiler warnings
32919         * tests/test-memchr.c (main): Pass NULL indirectly.
32920         * tests/test-closein.c (main): Avoid unused variable.
32921
32922 2008-09-15  Bruno Haible  <bruno@clisp.org>
32923
32924         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
32925         are missing on OpenBSD 4.0 individually.
32926         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32927
32928 2008-09-15  Bruno Haible  <bruno@clisp.org>
32929
32930         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
32931         * doc/posix-functions/strerror.texi: Mention also Cygwin.
32932         * doc/posix-functions/perror.texi: Likewise.
32933         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
32934         is missing.
32935         Reported by Eric Blake.
32936
32937         * lib/errno.in.h: Use replacement values >= 2000.
32938         Reported by Eric Blake.
32939
32940 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32941
32942         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
32943         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
32944         limit.
32945         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
32946         compareseq was aborted.
32947
32948 2008-09-14  Bruno Haible  <bruno@clisp.org>
32949
32950         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
32951         yvec_edit_count.
32952         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
32953         (fstrcmp_bounded): Simplify result computation accordingly.
32954
32955 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32956
32957         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
32958         (fstrcmp): Define in terms of fstrcmp_bounded.
32959         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
32960         lower_bound argument.
32961         Return quickly if the result is certainly < lower_bound.
32962         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
32963
32964 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32965
32966         * lib/diffseq.h (EARLY_ABORT): New macro.
32967         (compareseq): Change return type to bool. Return true when EARLY_ABORT
32968         evaluates to true.
32969
32970 2008-09-14  Bruno Haible  <bruno@clisp.org>
32971
32972         * modules/perror-tests: New file.
32973         * tests/test-perror.sh: New file.
32974         * tests/test-perror.c: New file.
32975
32976         New module 'perror'.
32977         * lib/stdio.in.h (perror): New declaration.
32978         * lib/perror.c: New file.
32979         * m4/perror.m4: New file.
32980         * modules/perror: New file.
32981         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
32982         * doc/posix-functions/perror.texi: Mention the perror module.
32983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
32984         REPLACE_PERROR.
32985         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
32986         REPLACE_PERROR.
32987
32988 2008-09-14  Bruno Haible  <bruno@clisp.org>
32989
32990         * modules/stdio (Makefile.am): Reorder to match the order in
32991         lib/stdio.in.h.
32992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32993
32994 2008-09-13  Bruno Haible  <bruno@clisp.org>
32995
32996         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
32997
32998 2008-09-13  Bruno Haible  <bruno@clisp.org>
32999
33000         Extend strerror to cover the added errno values.
33001         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
33002         (rpl_strerror): Provide error messages for the added errno values and
33003         for the WSA* values.
33004         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
33005         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
33006         strerror.
33007         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
33008         * modules/strerror (Depends-on): Add errno.
33009         * doc/posix-functions/strerror.texi: Document the change.
33010         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
33011         and EOVERFLOW.
33012
33013 2008-09-13  Bruno Haible  <bruno@clisp.org>
33014
33015         * modules/EOVERFLOW: Remove file.
33016         * m4/eoverflow.m4: Remove file.
33017         * modules/EOVERFLOW-tests: Remove file.
33018         * tests/test-EOVERFLOW.c: Remove file.
33019         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
33020         * modules/ftell (Depends-on): Likewise.
33021         * modules/getdelim (Depends-on): Likewise.
33022         * modules/getugroups (Depends-on): Likewise.
33023         * modules/poll (Depends-on): Likewise.
33024         * modules/snprintf (Depends-on): Likewise.
33025         * modules/sprintf-posix (Depends-on): Likewise.
33026         * modules/vasnprintf (Depends-on): Likewise.
33027         * modules/vasprintf (Depends-on): Likewise.
33028         * modules/vfprintf-posix (Depends-on): Likewise.
33029         * modules/vsnprintf (Depends-on): Likewise.
33030         * modules/vsprintf-posix (Depends-on): Likewise.
33031         * modules/xvasprintf (Depends-on): Likewise.
33032         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33033         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
33034         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
33035         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
33036         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33037         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
33038         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
33039         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
33040         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33041         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
33042         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
33043         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
33044         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33045         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
33046         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
33047         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
33048         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33049         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
33050         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
33051         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
33052         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33053         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
33054         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
33055         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
33056         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
33057         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33058         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
33059         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
33060         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
33061         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
33062         * MODULES.html.sh: Remove EOVERFLOW.
33063         * NEWS: Mention the change.
33064
33065 2008-09-13  Bruno Haible  <bruno@clisp.org>
33066
33067         * modules/errno-tests: New file.
33068         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
33069
33070         * lib/errno.in.h: New file.
33071         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
33072         * modules/errno: New file.
33073         * doc/posix-headers/errno.texi: Update documentation.
33074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
33075
33076 2008-09-13  Bruno Haible  <bruno@clisp.org>
33077
33078         * tests/test-poll.c: Use #if for native Windows, rather than testing
33079         __MSVCRT__.
33080
33081 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33082             Bruno Haible  <bruno@clisp.org>
33083
33084         * lib/glob.c: Don't include <pwd.h> on native Windows.
33085         (WINDOWS32): New macro.
33086         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
33087
33088 2008-09-13  Bruno Haible  <bruno@clisp.org>
33089
33090         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
33091         (ETIMEDOUT): Remove macro.
33092         (glthread_cond_timedwait_multithreaded): New declaration.
33093         (glthread_cond_timedwait): Use it.
33094         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
33095         (glthread_cond_timedwait_multithreaded): New function.
33096
33097 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
33098
33099         * modules/poll-tests: Do not check for io.h.
33100         * tests/test-poll.c: Check for __MSVCRT__ instead.
33101
33102 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
33103
33104         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
33105         * modules/poll-tests: Add inet_pton, stdbool, sockets.
33106         * tests/test-poll.c: Use them.  Use _pipe on Windows.
33107
33108 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
33109
33110         * modules/poll-tests: New.
33111         * tests/test-poll.c: New.
33112
33113 2008-09-12  Eric Blake  <ebb9@byu.net>
33114
33115         frexp: test for NetBSD failure on -0.0
33116         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
33117         not all, bugs from NetBSD 3.0 have been fixed.
33118         * doc/posix-functions/frexp.texi (frexp): Document bug.
33119         Reported by Thomas Klausner.
33120
33121         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
33122         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
33123         literal -0.0.
33124         Reported by Jonathan C. Patschke <jp@centtech.com>.
33125
33126 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33127
33128         * lib/glthread/cond.h: Use dummy implementation also if
33129         USE_WIN32_THREADS.
33130
33131 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33132
33133         * modules/fnmatch-posix (License): Change to LGPLv2+.
33134         * modules/fnmatch-gnu (License): Likewise.
33135
33136 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33137
33138         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
33139
33140 2008-09-11  Jim Meyering  <meyering@redhat.com>
33141
33142         * users.txt: Add gtk-vnc.
33143
33144 2008-09-08  Simon Josefsson  <simon@josefsson.org>
33145
33146         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
33147         rotate amounts.
33148
33149         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
33150         required for 16-bit and 8-bit rotates.
33151         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
33152         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
33153         UINT8_MAX instead of hard-coded constants.
33154         Suggested by Paul Eggert.
33155
33156 2008-09-07  Bruno Haible  <bruno@clisp.org>
33157
33158         * tests/test-striconveh.c (main): Check behaviour when converting from
33159         UTF-7.
33160
33161         Make striconveh work better with stateful encodings.
33162         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
33163         that iconv does not increment the inptr when returning -1/EINVAL.
33164
33165 2008-09-07  Bruno Haible  <bruno@clisp.org>
33166
33167         * build-aux/config.rpath: Update according to libtool-2.2.6.
33168         * build-aux/config.libpath: Likewise.
33169
33170 2008-09-06  Bruno Haible  <bruno@clisp.org>
33171
33172         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
33173         * lib/freadptr.c (freadptr): Likewise.
33174         * lib/freadseek.c (freadptrinc): Likewise.
33175         Reported by Simon Josefsson.
33176
33177 2008-09-06  Bruno Haible  <bruno@clisp.org>
33178
33179         * modules/freadptr (License): Change to LGPLv2+.
33180         * modules/freadseek (License): Likewise.
33181         Suggested by Eric Blake.
33182
33183         * modules/memchr2 (License): Change to LGPLv2+.
33184         Approved by Eric Blake.
33185
33186 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33187             Bruno Haible  <bruno@clisp.org>
33188
33189         Make gnulib-tool work with native 'sed' on AIX.
33190         * gnulib-tool (sed_noop): New variable.
33191         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
33192         func_add_or_update, func_create_testdir): Use it to initialize sed
33193         script variables.
33194         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33195
33196 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
33197             Bruno Haible  <bruno@clisp.org>
33198
33199         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
33200         also works after #include directives.
33201
33202 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
33203
33204         getdate.y: reject an out-of-range timezone value
33205         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
33206         the range [-24...+24].  When specified with only one or two digits,
33207         * tests/test-getdate.c: Tests for the fix.
33208         * doc/getdate.texi: Document this change.
33209
33210 2008-09-03  Bruno Haible  <bruno@clisp.org>
33211
33212         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
33213
33214 2008-09-02  Simon Josefsson  <simon@josefsson.org>
33215
33216         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
33217         <bruce.korb@gmail.com> with ideas from Ben Pfaff
33218         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
33219         Blake <ebb9@byu.net>.
33220
33221         * tests/test-bitrotate.c: Add more test vectors.
33222
33223 2008-09-02  Eric Blake  <ebb9@byu.net>
33224
33225         vasnprintf-posix: handle large precision via %.*d
33226         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
33227         when handling it ourselves.
33228         * tests/test-vasnprintf-posix.c (test_function): Add test.
33229         * tests/test-snprintf-posix.h (test_function): Likewise.
33230         * tests/test-sprintf-posix.h (test_function): Likewise.
33231         * tests/test-vasprintf-posix.c (test_function): Likewise.
33232         Reported by Alain Guibert.
33233
33234 2008-09-01  Eric Blake  <ebb9@byu.net>
33235
33236         c-stack: make configure-time check more robust
33237         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
33238         successful sigaction call.
33239         Reported by Tom G. Christensen.
33240
33241 2008-09-01  Bruno Haible  <bruno@clisp.org>
33242
33243         New module 'findprog-lgpl'.
33244         * modules/findprog-lgpl: New file.
33245         * lib/findprog-lgpl.c: New file.
33246         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
33247         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
33248         to decide whether to use strdup or xstrdup, concatenated_filename or
33249         xconcatenated_filename.
33250
33251 2008-09-01  Bruno Haible  <bruno@clisp.org>
33252
33253         Split module 'concat-filename' into 'concat-filename' (LGPL) and
33254         'xconcat-filename' (GPL).
33255         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
33256         (License): Change to LGPLv2+.
33257         * modules/xconcat-filename: New file.
33258         * lib/concat-filename.h (concatenated_filename): Change specification.
33259         (xconcatenated_filename): New declaration.
33260         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
33261         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
33262         memory situations.
33263         * lib/xconcat-filename.c: New file.
33264         * NEWS: Mention the change.
33265         * lib/findprog.c: Include concat-filename.h, not filename.h.
33266         (find_in_path): Use xconcatenated_filename instead of
33267         concatenated_filename.
33268         * lib/javacomp.c: Include concat-filename.h, not filename.h.
33269         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
33270         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
33271         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
33272         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
33273         instead of concatenated_filename.
33274         * lib/javaexec.c: Include concat-filename.h, not filename.h.
33275         (execute_java_class): Use xconcatenated_filename instead of
33276         concatenated_filename.
33277         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
33278         * modules/javacomp (Depends-on): Likewise.
33279         * modules/javaexec (Depends-on): Likewise.
33280
33281 2008-09-01  Bruno Haible  <bruno@clisp.org>
33282
33283         Split module 'filename' into 'filename' and 'concat-filename'.
33284         * modules/filename: Keep only lib/filename.h.
33285         (License): Change to LGPLv2+.
33286         * modules/concat-filename: New file, extracted from modules/filename.
33287         * lib/filename.h (concatenated_filename): Remove declaration.
33288         * lib/concat-filename.h: New file, extracted from lib/filename.h.
33289         * lib/concat-filename.c: Include concat-filename.h.
33290         * NEWS: Mention the change.
33291
33292 2008-09-01  Simon Josefsson  <simon@josefsson.org>
33293
33294         * lib/bitrotate.h (rotl8, rotr8): Add.
33295
33296         * modules/bitrotate (configure.ac): Need
33297         AC_REQUIRE([AC_C_INLINE]).
33298         (Description): Mention stdint.h.  Reported by Bruno Haible
33299         <bruno@clisp.org>.
33300
33301         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
33302         Paolo Bonzini <bonzini@gnu.org>.
33303
33304 2008-08-31  Bruno Haible  <bruno@clisp.org>
33305
33306         Assume Solaris specific bi-arch conventions on Solaris systems.
33307         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
33308         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
33309         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
33310         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
33311         like acl_libdirstem.
33312         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
33313         acl_libdirstem.
33314         * NEWS: Mention the change.
33315         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
33316
33317 2008-08-31  Jim Meyering  <meyering@redhat.com>
33318
33319         * lib/strftime.h: Add comments describing the two added arguments.
33320
33321         remove duplicate #include directives
33322         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
33323         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
33324
33325 2008-08-31  Bruno Haible  <bruno@clisp.org>
33326
33327         New module 'sigpipe-die'.
33328         * modules/sigpipe-die: New file.
33329         * lib/sigpipe-die.h: New file.
33330         * lib/sigpipe-die.c: New file.
33331         * MODULES.html.sh (Signal handling): Add sigpipe-die.
33332
33333 2008-08-31  Bruno Haible  <bruno@clisp.org>
33334
33335         Don't override previously installed signal handlers.
33336         * lib/fatal-signal.c (saved_sigactions): New variable.
33337         (uninstall_handlers): Reset the signal to the saved handler, not
33338         to SIG_DFL (except when ignored).
33339         (install_handlers): Save the previous handlers.
33340
33341 2008-08-30  Bruno Haible  <bruno@clisp.org>
33342
33343         * gnulib-tool (func_reset_sigpipe): New function.
33344         (func_get_automake_snippet, func_modules_transitive_closure,
33345         func_import): Invoke it before a join command that reads from stdin,
33346         to avoid "echo: write error: Broken pipe" error messages on stderr.
33347         Reported by Sam Steingold <sds@gnu.org>.
33348
33349 2008-08-30  Bruno Haible  <bruno@clisp.org>
33350
33351         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
33352         Code copied from m4/open.m4.
33353         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
33354         access and the filename ends in a slash. Code copied from lib/open.c.
33355         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
33356         * tests/test-fopen.c (main): Check against bug with trailing slash.
33357
33358 2008-08-29  Bruno Haible  <bruno@clisp.org>
33359
33360         Avoid some "gcc -pedantic" warnings.
33361         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
33362         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
33363         * lib/dirent.in.h: Likewise.
33364         * lib/fcntl.in.h: Likewise.
33365         * lib/float.in.h: Likewise.
33366         * lib/iconv.in.h: Likewise.
33367         * lib/inttypes.in.h: Likewise.
33368         * lib/locale.in.h: Likewise.
33369         * lib/math.in.h: Likewise.
33370         * lib/netinet_in.in.h: Likewise.
33371         * lib/search.in.h: Likewise.
33372         * lib/signal.in.h: Likewise.
33373         * lib/stdarg.in.h: Likewise.
33374         * lib/stdint.in.h: Likewise.
33375         * lib/stdio.in.h: Likewise.
33376         * lib/stdlib.in.h: Likewise.
33377         * lib/string.in.h: Likewise.
33378         * lib/strings.in.h: Likewise.
33379         * lib/sys_select.in.h: Likewise.
33380         * lib/sys_socket.in.h: Likewise.
33381         * lib/sys_stat.in.h: Likewise.
33382         * lib/sys_time.in.h: Likewise.
33383         * lib/sysexits.in.h: Likewise.
33384         * lib/time.in.h: Likewise.
33385         * lib/unistd.in.h: Likewise.
33386         * lib/wchar.in.h: Likewise.
33387         * lib/wctype.in.h: Likewise.
33388         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
33389         * modules/fchdir (Makefile.am): Likewise.
33390         * modules/fcntl (Makefile.am): Likewise.
33391         * modules/float (Makefile.am): Likewise.
33392         * modules/iconv_open (Makefile.am): Likewise.
33393         * modules/inttypes (Makefile.am): Likewise.
33394         * modules/locale (Makefile.am): Likewise.
33395         * modules/math (Makefile.am): Likewise.
33396         * modules/netinet_in (Makefile.am): Likewise.
33397         * modules/search (Makefile.am): Likewise.
33398         * modules/signal (Makefile.am): Likewise.
33399         * modules/stdarg (Makefile.am): Likewise.
33400         * modules/stdint (Makefile.am): Likewise.
33401         * modules/stdio (Makefile.am): Likewise.
33402         * modules/stdlib (Makefile.am): Likewise.
33403         * modules/string (Makefile.am): Likewise.
33404         * modules/strings (Makefile.am): Likewise.
33405         * modules/sys_select (Makefile.am): Likewise.
33406         * modules/sys_socket (Makefile.am): Likewise.
33407         * modules/sys_stat (Makefile.am): Likewise.
33408         * modules/sys_time (Makefile.am): Likewise.
33409         * modules/sysexits (Makefile.am): Likewise.
33410         * modules/time (Makefile.am): Likewise.
33411         * modules/unistd (Makefile.am): Likewise.
33412         * modules/wchar (Makefile.am): Likewise.
33413         * modules/wctype (Makefile.am): Likewise.
33414         Reported by Reuben Thomas <rrt@sc3d.org>.
33415
33416 2008-08-29  Bruno Haible  <bruno@clisp.org>
33417
33418         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
33419         any more.
33420
33421 2008-08-29  Simon Josefsson  <simon@josefsson.org>
33422
33423         * MODULES.html.sh (Misc): Add bitrotate.
33424
33425         * modules/bitrotate: New file.
33426
33427         * lib/bitrotate.h: New file.
33428
33429         * modules/bitrotate-tests: New file.
33430
33431         * tests/test-bitrotate.c: New file.
33432
33433         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
33434         on the bitrotate module.
33435
33436         * lib/arctwo.c: Use new bitrotate module.
33437
33438 2008-08-29  Jim Meyering  <meyering@redhat.com>
33439
33440         bootstrap: merge changes from coreutils
33441         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
33442         of copied files.  Remove a kludge, now that this is fixed.
33443         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
33444         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
33445         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
33446
33447 2008-08-29  Bruno Haible  <bruno@clisp.org>
33448
33449         * MODULES.html.sh: Remove --cvs-urls option.
33450
33451 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
33452
33453         maint.mk: adjust to file name change
33454         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
33455
33456 2008-08-28  Jim Meyering  <meyering@redhat.com>
33457
33458         * modules/getndelim2 (License): Relicense to LGPLv2+.
33459         Approved by Richard Stallman for the version of 1995, and by
33460         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
33461
33462 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
33463
33464         * lib/getdelim.c (flockfile, funlockfile): Make all of them
33465         dummy if one is not available.  Do not touch them if
33466         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
33467         (getc_maybe_unlocked): New.
33468         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
33469
33470 2008-08-26  Eric Blake  <ebb9@byu.net>
33471
33472         doc/INSTALL: resync from autoconf
33473         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
33474         (INSTALL_PRELUDE): Delete; this is done more efficiently by
33475         moving...
33476         * install.texi [!autoconf]: ...here.  Resync from autoconf.
33477         * INSTALL: Regenerate.
33478         * INSTALL.ISO: New file.
33479         * INSTALL.UTF-8: Likewise.
33480
33481 2008-08-26  Jim Meyering  <meyering@redhat.com>
33482
33483         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
33484         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
33485         these definitions conditional, so that they may be overridden, too.
33486
33487 2008-08-26  Bruno Haible  <bruno@clisp.org>
33488
33489         Generate INSTALL file variants with prettier quotes.
33490         * doc/Makefile (INSTALL_PRELUDE): New macro.
33491         (INSTALL): Use it.
33492         (INSTALL.ISO, INSTALL.UTF-8): New rules.
33493
33494 2008-08-26  Bruno Haible  <bruno@clisp.org>
33495
33496         Run makeinfo in an English locale.
33497         * doc/Makefile (MAKEINFO): New variable.
33498
33499 2008-08-26  Bruno Haible  <bruno@clisp.org>
33500
33501         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
33502         Suggested by Eric Blake.
33503
33504 2008-08-25  Bruno Haible  <bruno@clisp.org>
33505
33506         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
33507
33508 2008-08-25  Eric Blake  <ebb9@byu.net>
33509
33510         c-stack: test that stack overflow can be caught
33511         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
33512         that platform allows handling stack overflow; at least OS/2 EMX
33513         has sigaltstack, but crashes before transferring control to
33514         handler on stack overflow.
33515         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
33516         check for HAVE_STACK_OVERFLOW_HANDLING.
33517         Reported by Elbert Pol.
33518
33519 2008-08-25  Bruno Haible  <bruno@clisp.org>
33520
33521         * doc/posix-functions/strftime.texi: Fix description of strftime
33522         module.
33523
33524 2008-08-24  Bruno Haible  <bruno@clisp.org>
33525
33526         * tests/uniwidth/test-uc_width2.c: New file.
33527         * tests/uniwidth/test-uc_width2.sh: New file.
33528         * modules/uniwidth/width-tests (Files): Add the new files.
33529         (TESTS): Add uniwidth/test-uc_width2.sh.
33530         (TESTS_ENVIRONMENT): New variable.
33531         (check_PROGRAMS): Add test-uc_width2.
33532         (test_uc_width2_SOURCES): New variable.
33533
33534         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
33535         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
33536         not 0x00AB.
33537         Reported by Alexander V. Lukyanov <lav@netis.ru>.
33538
33539 2008-08-22  Eric Blake  <ebb9@byu.net>
33540
33541         test-lock, test-tls: mention why a test is skipped
33542         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
33543         skipped.
33544         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
33545
33546         count-one-bits: relax license
33547         * modules/count-one-bits (License): Relicense to LGPLv2+.
33548         Suggested by Ludovic Courtès, approved by Ben Pfaff.
33549
33550 2008-08-22  Andreas Schwab  <schwab@suse.de>
33551
33552         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33553         Remove spurious space in assignment.
33554
33555 2008-08-21  Simon Josefsson  <simon@josefsson.org>
33556
33557         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
33558         Paul Eggert <eggert@CS.UCLA.EDU>.
33559
33560 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
33561
33562         * modules/gettext: Add m4/threadlib.m4.
33563
33564 2008-08-19  Eric Blake  <ebb9@byu.net>
33565
33566         test-c-stack: fix compilation failure on FreeBSD 5.0
33567         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
33568         headers before <sys/resource.h>.
33569         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
33570         the bug.
33571         Reported by Nelson H. F. Beebe.
33572
33573         strverscmp: migrate from "strverscmp.h" to <string.h>
33574         * modules/string (Makefile.am): Add new hooks.
33575         * modules/strverscmp (Files): Remove strverscmp.h.
33576         (Depends-on): Add string.
33577         (configure.ac): Add indicator.
33578         (Include): Mention new header.
33579         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
33580         defaults.
33581         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
33582         results.
33583         * lib/strverscmp.h: Delete.
33584         * lib/string.in.h (strverscmp): Provide declaration, when needed.
33585         * tests/test-strverscmp.c (includes): Adjust client.
33586         * lib/check-version.c (includes): Likewise.
33587         * NEWS: Document the change.
33588
33589         strverscmp: add unit test
33590         * modules/strverscmp-tests: New file.
33591         * tests/test-strverscmp.c: Likewise.
33592
33593 2008-08-19  Simon Josefsson  <simon@josefsson.org>
33594
33595         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
33596         regarding Windows crypto stuff, from Mono.
33597
33598 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
33599
33600         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
33601         if present, for intel RND.  Return error on failures.
33602
33603 2008-08-18  Ben Pfaff  <blp@gnu.org>
33604
33605         gitlog-to-changelog: give better diagnostic for failed pipe-open
33606         * build-aux/gitlog-to-changelog: Improve error message: suggest
33607         that the version of Git may be too old.
33608
33609 2008-08-18  Simon Josefsson  <simon@josefsson.org>
33610
33611         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
33612         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
33613
33614 2008-08-18  Bruno Haible  <bruno@clisp.org>
33615
33616         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
33617         pthread_in_use().
33618
33619 2008-08-18  Bruno Haible  <bruno@clisp.org>
33620
33621         * lib/glthread/threadlib.c: Include <pthread.h>.
33622
33623 2008-08-18  Bruno Haible  <bruno@clisp.org>
33624
33625         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
33626         glthread_recursive_lock_* macros.
33627         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
33628         Fix syntax error.
33629
33630 2008-08-18  Bruno Haible  <bruno@clisp.org>
33631
33632         * lib/glthread/thread.c: Avoid forcing a context switch right after
33633         thread creation.
33634
33635 2008-08-17  Bruno Haible  <bruno@clisp.org>
33636
33637         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
33638         * lib/glthread/thread.h: Provide Win32 specific implementation.
33639         * modules/thread (Files): Add lib/glthread/thread.c.
33640         (Depends-on): Add lock.
33641         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
33642
33643 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33644
33645         New module 'yield'.
33646         * modules/yield: New file.
33647         * lib/glthread/yield.h: New file.
33648         * m4/yield.m4: New file.
33649         * MODULES.html.sh (Multithreading): Add yield.
33650
33651 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33652
33653         New module 'thread'.
33654         * modules/thread: New file.
33655         * lib/glthread/thread.h: New file.
33656         * m4/thread.m4: New file.
33657         * MODULES.html.sh (Multithreading): Add thread.
33658
33659 2008-08-17  Bruno Haible  <bruno@clisp.org>
33660
33661         * lib/glthread/lock.h: Include <stdlib.h> always.
33662         * lib/glthread/tls.h: Likewise.
33663         * lib/glthread/cond.h: Likewise.
33664
33665 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33666
33667         New module 'cond'.
33668         * modules/cond: New file.
33669         * lib/glthread/cond.h: New file.
33670         * lib/glthread/cond.c: New file.
33671         * m4/cond.m4: New file.
33672         * MODULES.html.sh (Multithreading): Add cond.
33673
33674 2008-08-16  Eric Blake  <ebb9@byu.net>
33675
33676         c-stack: fix regression on Irix 5.3 from 2008-06-21
33677         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
33678         sa_sigaction...
33679         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
33680         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
33681         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
33682         * modules/signal (Makefile.am): Use the value.
33683         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
33684         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
33685         * doc/posix-headers/signal.texi (signal.h): Document this
33686         portability issue.
33687         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
33688         Reported by Tom G. Christensen.
33689
33690 2008-08-17  Bruno Haible  <bruno@clisp.org>
33691
33692         New module 'threadlib'.
33693         * modules/threadlib: New file.
33694         * lib/glthread/threadlib.c: New file, extracted from
33695         lib/glthread/lock.c.
33696         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
33697         functions.
33698         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
33699         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
33700         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
33701         macros.
33702         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
33703         (gl_DISABLE_THREADS): Remove macro.
33704         * modules/lock (Files): Remove build-aux/config.rpath.
33705         (Depends-on): Remove havelib. Add threadlib.
33706         (configure.ac-early): Remove section.
33707         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
33708         * modules/tls (Depends-on): Remove lock. Add threadlib.
33709         (Link): New section, copied from threadlib.
33710         * MODULES.html.sh (Multithreading): Add threadlib.
33711
33712 2008-08-14  Bruno Haible  <bruno@clisp.org>
33713
33714         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
33715         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
33716         glthread_rwlock_unlock, glthread_rwlock_destroy,
33717         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
33718         glthread_recursive_lock_destroy): Define as macros always.
33719         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
33720         glthread_lock_lock.
33721         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
33722         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
33723         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
33724         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
33725         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
33726         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
33727         (glthread_recursive_lock_lock_func): Renamed from
33728         glthread_recursive_lock_lock.
33729         (glthread_recursive_lock_unlock_func): Renamed from
33730         glthread_recursive_lock_unlock.
33731         (glthread_recursive_lock_destroy_func): Renamed from
33732         glthread_recursive_lock_destroy.
33733
33734 2008-08-14  Bruno Haible  <bruno@clisp.org>
33735
33736         * lib/glthread/lock.h: Renamed from lib/lock.h.
33737         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
33738         * lib/glthread/tls.h: Renamed from lib/tls.h.
33739         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
33740         * lib/fstrcmp.c: Update includes.
33741         * lib/strsignal.c: Update includes.
33742         * modules/lock (Files, Makefile.am): Update.
33743         (Include): Change to "glthread/lock.h".
33744         * modules/tls (Files, Makefile.am): Update.
33745         (Include): Change to "glthread/tls.h".
33746         * tests/test-lock.c: Update includes.
33747         * tests/test-tls.c: Update includes.
33748         * NEWS: Mention the renamed header files.
33749
33750 2008-08-11  Jim Meyering  <meyering@redhat.com>
33751
33752         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
33753
33754 2008-08-11  Eric Blake  <ebb9@byu.net>
33755
33756         test-c-stack: avoid C99-ism
33757         * tests/test-c-stack.c (main): Fix whitespace, move declaration
33758         before statement.
33759         Reported by Alain Guibert.
33760
33761 2008-08-10  Jim Meyering  <meyering@redhat.com>
33762
33763         ensure that return value of uinttostr et al are not ignored
33764         * lib/inttostr.h (__GNUC_PREREQ): Define.
33765         (__attribute_warn_unused_result__): Define.
33766         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
33767
33768 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
33769
33770         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
33771         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
33772
33773 2008-08-07  Jim Meyering  <meyering@redhat.com>
33774
33775         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
33776
33777         * modules/mkstemp (License): Relicense under LGPLv2+.
33778         * modules/tempname (License): Likewise.
33779
33780 2008-08-06  Bruno Haible  <bruno@clisp.org>
33781
33782         * lib/poll.c (poll): Further micro-optimization.
33783
33784 2008-08-06  Jim Meyering  <meyering@redhat.com>
33785
33786         inet_pton.c: use locale-independent tolower
33787         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
33788         (inet_pton6): Use c_tolower rather than tolower.
33789         * modules/inet_pton (Depends-on): Add c-ctype.
33790
33791 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
33792
33793         * lib/poll.c (poll): Avoid division when timeout is 0, cache
33794         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
33795
33796 2008-08-06  Jim Meyering  <meyering@redhat.com>
33797
33798         * modules/inet_pton (License): Relicense under LGPLv2+.
33799
33800 2008-08-03  Bruno Haible  <bruno@clisp.org>
33801
33802         Additional non-aborting API for lock and tls.
33803         * lib/lock.h: Include <errno.h>.
33804         (glthread_lock_init): New macro/function.
33805         (gl_lock_init): Define as wrapper around glthread_lock_init.
33806         (glthread_lock_lock): New macro/function.
33807         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
33808         (glthread_lock_unlock): New macro/function.
33809         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
33810         (glthread_lock_destroy): New macro/function.
33811         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
33812         (glthread_rwlock_init): New macro/function.
33813         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
33814         (glthread_rwlock_rdlock): New macro/function.
33815         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
33816         (glthread_rwlock_wrlock): New macro/function.
33817         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
33818         (glthread_rwlock_unlock): New macro/function.
33819         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
33820         (glthread_rwlock_destroy): New macro/function.
33821         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
33822         (glthread_recursive_lock_init): New macro/function.
33823         (gl_recursive_lock_init): Define as wrapper around
33824         glthread_recursive_lock_init.
33825         (glthread_recursive_lock_lock): New macro/function.
33826         (gl_recursive_lock_lock): Define as wrapper around
33827         glthread_recursive_lock_lock.
33828         (glthread_recursive_lock_unlock): New macro/function.
33829         (gl_recursive_lock_unlock): Define as wrapper around
33830         glthread_recursive_lock_unlock.
33831         (glthread_recursive_lock_destroy): New macro/function.
33832         (gl_recursive_lock_destroy): Define as wrapper around
33833         glthread_recursive_lock_destroy.
33834         (glthread_once): New macro/function.
33835         (gl_once): Define as wrapper around glthread_once.
33836         Update function declarations.
33837         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
33838         glthread_rwlock_init. Return error code.
33839         (glthread_rwlock_rdlock_multithreaded): Renamed from
33840         glthread_rwlock_rdlock. Return error code.
33841         (glthread_rwlock_wrlock_multithreaded): Renamed from
33842         glthread_rwlock_wrlock. Return error code.
33843         (glthread_rwlock_unlock_multithreaded): Renamed from
33844         glthread_rwlock_unlock. Return error code.
33845         (glthread_rwlock_destroy_multithreaded): Renamed from
33846         glthread_rwlock_destroy. Return error code.
33847         (glthread_recursive_lock_init_multithreaded): Renamed from
33848         glthread_recursive_lock_init. Return error code.
33849         (glthread_recursive_lock_lock_multithreaded): Renamed from
33850         glthread_recursive_lock_lock. Return error code.
33851         (glthread_recursive_lock_unlock_multithreaded): Renamed from
33852         glthread_recursive_lock_unlock. Return error code.
33853         (glthread_recursive_lock_destroy_multithreaded): Renamed from
33854         glthread_recursive_lock_destroy. Return error code.
33855         (glthread_once_call): Make static.
33856         (glthread_once_multithreaded): Renamed from glthread_once.
33857         * lib/tls.h: Include <errno.h>.
33858         (glthread_tls_key_init): New macro/function.
33859         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
33860         (glthread_tls_set): New macro/function.
33861         (gl_tls_set): Define as wrapper around glthread_tls_set.
33862         (glthread_tls_key_destroy): New macro/function.
33863         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
33864         Update function declarations.
33865         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
33866         glthread_tls_get.
33867         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33868
33869 2008-08-04  Eric Blake  <ebb9@byu.net>
33870
33871         gnumakefile: use space, not TAB, outside of targets
33872         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
33873
33874 2008-08-02  Jim Meyering  <meyering@redhat.com>
33875
33876         getdate.y: avoid locale-dependent date parsing failure
33877         In Turkish locales, getdate would fail to recognize keywords
33878         containing a lowercase "i".  The solution is not to rely on
33879         locale-sensitive case-conversion.
33880         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
33881         (lookup_word): Use c_toupper in place of toupper.
33882         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
33883         Reported by Vefa Bicakci <bicave@superonline.com> in
33884         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
33885         * modules/getdate (Depends-on): Add c-ctype.
33886
33887 2008-08-02  Bruno Haible  <bruno@clisp.org>
33888
33889         * gnulib-tool (func_import): When updating or creating a .gitignore
33890         file, prepend each added line with a slash, and ignore leading slashes
33891         from the existing lines.
33892         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33893
33894 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33895
33896         Portability fix for GNU make 3.79.1.
33897         * top/GNUmakefile: Avoid 'else COND', which older GNU make
33898         versions do not understand.
33899
33900 2008-08-01  Bruno Haible  <bruno@clisp.org>
33901
33902         Work around bug of HP-UX 10.20 cc with -0.0 literal.
33903         * tests/test-isnanf.h (zero): New variable.
33904         (main): Avoid literal -0.0f.
33905         * tests/test-isnand.h (zero): New variable.
33906         (main): Avoid literal -0.0.
33907         * tests/test-isnanl.h (zero): New variable.
33908         (main): Avoid literal -0.0L.
33909         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
33910         (test_float, test_double, test_long_double): Avoid literals -0.0f,
33911         -0.0, -0.0L.
33912         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
33913         (test_signbitd): Avoid literal -0.0.
33914         (test_signbitl): Avoid literal -0.0L.
33915         * tests/test-ceilf1.c (zero): New variable.
33916         (main): Avoid literal -0.0f.
33917         * tests/test-ceill.c (zero): New variable.
33918         (main): Avoid literal -0.0L.
33919         * tests/test-floorf1.c (zero): New variable.
33920         (main): Avoid literal -0.0f.
33921         * tests/test-floorl.c (zero): New variable.
33922         (main): Avoid literal -0.0L.
33923         * tests/test-roundf1.c (zero): New variable.
33924         (main): Avoid literal -0.0f.
33925         * tests/test-round1.c (zero): New variable.
33926         (main): Avoid literal -0.0.
33927         * tests/test-roundl.c (zero): New variable.
33928         (main): Avoid literal -0.0L.
33929         * tests/test-truncf1.c (zero): New variable.
33930         (main): Avoid literal -0.0f.
33931         * tests/test-trunc1.c (zero): New variable.
33932         (main): Avoid literal -0.0.
33933         * tests/test-truncl.c (zero): New variable.
33934         (main): Avoid literal -0.0L.
33935         * tests/test-frexp.c (zero): New variable.
33936         (main): Avoid literal -0.0.
33937         * tests/test-frexpl.c (zero): New variable.
33938         (main): Avoid literal -0.0L.
33939         * tests/test-ldexpl.c (zero): New variable.
33940         (main): Avoid literal -0.0L.
33941         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
33942         (zerod, zerol): New variables.
33943         (test_function): Avoid literals -0.0, -0.0L.
33944         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
33945         (zerod, zerol): New variables.
33946         (test_function): Avoid literals -0.0, -0.0L.
33947         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
33948         (zerod, zerol): New variables.
33949         (test_function): Avoid literals -0.0, -0.0L.
33950         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
33951         (zerod, zerol): New variables.
33952         (test_function): Avoid literals -0.0, -0.0L.
33953         * tests/test-strtod.c (zero): New variable.
33954         (main): Avoid literal -0.0.
33955         Reported by Jonathan C. Patschke <jp@centtech.com>.
33956
33957 2008-07-31  Jim Meyering  <meyering@redhat.com>
33958
33959         sha256.h: correct definition of SHA224_DIGEST_SIZE
33960         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
33961         Reported by Paulie Pena IV <paulie4@gmail.com>.
33962         Define as 224 / 8, rather than as a literal.
33963         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
33964         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
33965         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
33966
33967 2008-07-31  Bruno Haible  <bruno@clisp.org>
33968
33969         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
33970         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
33971         Reported by Jonathan Patschke <jp@centtech.com>.
33972
33973 2008-07-31  Bruno Haible  <bruno@clisp.org>
33974
33975         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
33976         Reported by Paolo Bonzini <bonzini@gnu.org>.
33977
33978 2008-07-30  Eric Blake  <ebb9@byu.net>
33979
33980         test-strtod: allow compilation without -lm
33981         * tests/test-strtod.c (main): Avoid link dependence on fabs.
33982         Reported by Dennis Clarke <blastwave@gmail.com>.
33983
33984 2008-07-28  Jim Meyering  <meyering@redhat.com>
33985
33986         bootstrap: work also when there are no .po files in po/
33987         * build-aux/bootstrap (update_po_files): Complete the change
33988         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
33989
33990 2008-07-27  Jim Meyering  <meyering@redhat.com>
33991
33992         * users.txt: Add zile.
33993
33994 2008-07-26  Ben Pfaff  <blp@gnu.org>
33995
33996         Add missing dependencies on new m4/exponent[fdl].m4 files.
33997         * modules/isnanf-nolibm: Add m4/exponentf.m4.
33998         * modules/isnand-nolibm: Add m4/exponentd.m4.
33999         * modules/isnanl-nolibm: Add m4/exponentl.m4.
34000         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
34001         m4/isnan[fdl].m4, because the macros actually used moved.
34002         Reported by Jim Meyering.
34003
34004 2008-07-14  Ben Pfaff  <blp@gnu.org>
34005
34006         Add isinf module.
34007         * lib/isinf.c: New file.
34008         * lib/math.in.h: Define isinf macro if we have decided to replace
34009         it.
34010         * m4/isinf.m4: New file.
34011         * m4/math_h.m4: Initialize and substitute variables for isinf
34012         module.
34013         * modules/isinf: New file.
34014         * modules/isinf-tests: New file.
34015         * modules/math: Add substitutions for new module.
34016         * tests/test-isinf.c: New file.
34017         * doc/posix-functions/isinf.texi: Mention new module.
34018         * MODULES.html.sh: Mention new module.
34019
34020 2008-07-14  Ben Pfaff  <blp@gnu.org>
34021
34022         Factor out some macros for use by additional modules.
34023         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
34024         exponentf.m4.
34025         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
34026         exponentd.m4.
34027         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
34028         file exponentl.m4.
34029         * m4/exponentf.m4: New file.
34030         * m4/exponentd.m4: New file.
34031         * m4/exponentl.m4: New file.
34032         * modules/isnanf: Use new file m4/exponentf.m4.
34033         * modules/isnand: Use new file m4/exponentd.m4.
34034         * modules/isnanl: Use new file m4/exponentl.m4.
34035
34036 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
34037
34038         mktime.c: normalize tp->tm_isdst value to -1/0/1.
34039         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
34040         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
34041         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
34042
34043         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
34044         readlink on platforms without PATH_MAX.
34045
34046 2008-07-21  Eric Blake  <ebb9@byu.net>
34047
34048         Warn, not fail, on stale version.
34049         * top/GNUmakefile (_curr-ver): Tone down previous patch.
34050
34051         Don't allow installation with stale devel version number.
34052         * top/GNUmakefile (_is-install-target): New macro.
34053         (_curr-ver): Forbid installation with stale version number.
34054
34055 2008-07-20  Bruno Haible  <bruno@clisp.org>
34056
34057         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
34058         TESTS_ENVIRONMENT.
34059         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
34060
34061 2008-07-20  Bruno Haible  <bruno@clisp.org>
34062
34063         * lib/c-stack.h (c_stack_action): Add documentation.
34064         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
34065
34066 2008-07-20  Bruno Haible  <bruno@clisp.org>
34067
34068         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
34069         * modules/readlink (License): Likewise.
34070
34071 2008-07-17  Eric Blake  <ebb9@byu.net>
34072
34073         * modules/c-stack (Link): Fix typo.
34074
34075         Make c-stack use libsigsegv, when available.
34076         * modules/c-stack (Depends-on): Add libsigsegv.
34077         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
34078         needed.
34079         * lib/c-stack.c (SIGSTKSZ): Define fallback.
34080         (segv_handler, overflow_handler, c_stack_action)
34081         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
34082         implementation when libsigsegv is available, but only when using
34083         the library is necessary.
34084         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
34085         comment, explaining why XSI check fails on Linux.
34086         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
34087         * tests/test-c-stack2.sh: Tweak skip message.
34088         * NEWS: Document new link-time requirements.
34089
34090 2008-07-16  Eric Blake  <ebb9@byu.net>
34091
34092         c-stack: Expose false positives when not using libsigsegv.
34093         * modules/c-stack-tests (Files): Expand test.
34094         * tests/test-c-stack.c (main): Add means to conditionally trigger
34095         non-overflow SIGSEGV.
34096         * tests/test-c-stack2.sh: New file.
34097
34098 2008-07-14  Bruno Haible  <bruno@clisp.org>
34099
34100         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
34101         Reported by Eric Blake.
34102
34103 2008-07-14  Sam Steingold  <sds@gnu.org>
34104             Bruno Haible  <bruno@clisp.org>
34105
34106         New module libsigsegv.
34107         * modules/libsigsegv: New file.
34108         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
34109         modifications.
34110         * MODULES.html.sh (Signal handling): New section.
34111
34112 2008-07-14  Bruno Haible  <bruno@clisp.org>
34113
34114         * modules/unictype/ctype-* (Description): Add the word "function".
34115         Improves the resulting doc in MODULES.html.
34116
34117 2008-07-12  Ben Pfaff  <blp@gnu.org>
34118
34119         Add longlong module.
34120         * modules/longlong: New file.
34121
34122 2008-07-12  Bruno Haible  <bruno@clisp.org>
34123
34124         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
34125         to empty.
34126
34127 2008-07-10  Ben Pfaff  <blp@gnu.org>
34128
34129         Add isnan module.
34130         * doc/posix-functions/isnan.texi: Mention new module.
34131         * lib/math.in.h: Define isnan macro if we have decided to replace
34132         it.
34133         * m4/isnan.m4: New file.
34134         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
34135         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
34136         also.
34137         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
34138         redundancy.
34139         * m4/math_h.m4: Initialize and substitute variables for isnan
34140         module.
34141         * modules/isnan: New file.
34142         * modules/isnan-tests: New file.
34143         * modules/math: Add substitutions for new module.
34144         * tests/test-isnan.c: New file.
34145         * MODULES.html.sh: Mention new module.
34146
34147 2008-07-10  Ben Pfaff  <blp@gnu.org>
34148
34149         Add isnanf module.
34150         * lib/isnanf.m4: New file.
34151         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
34152         (gl_HAVE_ISNANF_IN_LIBM): New macro.
34153         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
34154         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
34155         * modules/isnanf: New file.
34156         * modules/isnanf-tests: New file.
34157         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
34158         files.
34159         * tests/test-isnanf-nolibm.c: factored most of its contents into
34160         new file tests/test-isnanf.h.
34161         * tests/test-isnanf.h: New file.
34162         * tests/test-isnanf.c: New file.
34163         * MODULES.html.sh: Mention new module.
34164         * doc/glibc-functions/isnanf.texi: Mention new module.
34165
34166 2008-07-10  Ben Pfaff  <blp@gnu.org>
34167
34168         Add isnand module.
34169         * lib/isnand.h: New file.
34170         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
34171         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
34172         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
34173         functionality also.
34174         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
34175         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
34176         (gl_HAVE_ISNAND_IN_LIBM): New macro.
34177         * modules/isnand: New file.
34178         * modules/isnand-tests: New file.
34179         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
34180         files.
34181         * tests/test-isnand-nolibm.c: factored most of its contents into
34182         new file tests/test-isnand.h.
34183         * tests/test-isnand.h: New file.
34184         * tests/test-isnand.c: New file.
34185         * MODULES.html.sh: Mention new module.
34186
34187 2008-07-10  Ben Pfaff  <blp@gnu.org>
34188
34189         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
34190         * lib/isnand.h: Rename lib/isnand-nolibm.h.
34191         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
34192         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
34193         * modules/isnanf-nolibm: Update references to renamed files.
34194         * modules/isnand-nolibm: Likewise.
34195         * modules/isnanf-nolibm-tests: Likewise.
34196         * modules/isnand-nolibm-tests: Likewise.
34197         * lib/frexp.c: Likewise.
34198         * lib/isfinite.c: Likewise.
34199         * lib/signbitd.c: Likewise.
34200         * lib/signbitf.c: Likewise.
34201         * lib/vasnprintf.c: Likewise.
34202         * tests/test-ceilf1.c: Likewise.
34203         * tests/test-ceilf2.c: Likewise.
34204         * tests/test-floorf1.c: Likewise.
34205         * tests/test-floorf2.c: Likewise.
34206         * tests/test-frexp.c: Likewise.
34207         * tests/test-round1.c: Likewise.
34208         * tests/test-round2.c: Likewise.
34209         * tests/test-roundf1.c: Likewise.
34210         * tests/test-strtod.c: Likewise.
34211         * tests/test-trunc1.c: Likewise.
34212         * tests/test-trunc2.c: Likewise.
34213         * tests/test-truncf1.c: Likewise.
34214         * tests/test-truncf2.c: Likewise.
34215         * NEWS: Mention the renamed header files.
34216
34217 2008-07-11  Jim Meyering  <meyering@redhat.com>
34218
34219         vc-list-files: make the last-resort awk code more portable
34220         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
34221         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
34222         does not support it.
34223
34224 2008-07-10  Eric Blake  <ebb9@byu.net>
34225
34226         Work with tar's bootstrap.
34227         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
34228         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
34229         an m4 comment.
34230
34231 2008-07-09  Jim Meyering  <meyering@redhat.com>
34232
34233         posix-shell.m4: fix typo that made this test malfunction
34234         * m4/posix-shell.m4: Remove capitalization in variable name.
34235
34236 2008-07-08  Bruno Haible  <bruno@clisp.org>
34237
34238         * m4/onceonly.m4: Update comments.
34239         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34240
34241 2008-07-04  Jim Meyering  <meyering@redhat.com>
34242
34243         * users.txt: Add vc-dwim.
34244         (bison, coreutils): Use the gitweb URL.
34245
34246 2008-07-03  Jim Meyering  <meyering@redhat.com>
34247
34248         * users.txt: Add libffcall.  From Sam Steingold.
34249
34250 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
34251
34252         getdate.y: do not ignore TZ with relative day, month or year offset
34253         * lib/getdate.y (get_date): Move the tz-handling block to follow the
34254         relative-date-handling, since otherwise, the latter would clobber the
34255         sole output (an updated Start value) of the tz-handling block.
34256         * tests/test-getdate.c: Tests for the fix
34257
34258 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34259
34260         Recognize 'foo_LIBRARIES += libgnu.a'.
34261         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
34262         makefile snippet has already specified an installation location,
34263         also using '+='.
34264
34265 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
34266
34267         getdate.y: factor out common actions
34268         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
34269         Use them in place of open-coded actions.
34270
34271 2008-07-01  Simon Josefsson  <simon@josefsson.org>
34272
34273         Add self-test for getdate module.
34274         * modules/getdate-tests: New file.
34275         * tests/test-getdate.c: New file.
34276
34277 2008-06-29  Bruno Haible  <bruno@clisp.org>
34278
34279         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
34280         .gitignore.
34281         Reported by Sylvain Beucler <beuc@beuc.net>.
34282
34283 2008-06-29  Bruno Haible  <bruno@clisp.org>
34284
34285         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
34286         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
34287
34288 2008-06-29  Bruno Haible  <bruno@clisp.org>
34289
34290         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
34291         EXTRA_DIST.
34292         Reported by Sylvain Beucler <beuc@beuc.net>.
34293
34294 2008-06-26  Jim Meyering  <meyering@redhat.com>
34295
34296         make several modules depend on the "open" module
34297         This provides slightly increased consistency when opening-for-write
34298         the name of a non-directory spelled with a trailing slash.
34299         * modules/chdir-safer: Likewise.
34300         * modules/chown: Likewise.
34301         * modules/clean-temp: Likewise.
34302         * modules/copy-file: Likewise.
34303         * modules/fchdir: Likewise.
34304         * modules/fcntl-safer: Likewise.
34305         * modules/pipe: Likewise.
34306         * modules/utime: Likewise.
34307         Prompted by Eric Blake and Bruno Haible.
34308
34309 2008-06-24  Andreas Schwab  <schwab@suse.de>
34310
34311         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
34312         literals can be used as initializers for global variables.
34313
34314 2008-06-23  Eric Blake  <ebb9@byu.net>
34315
34316         Make gnulib-cache.m4 easier to diff.
34317         * gnulib-tool (func_import): Allow newlines when reading cached
34318         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
34319
34320 2008-06-23  Bruno Haible  <bruno@clisp.org>
34321
34322         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
34323         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
34324         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
34325         m4/signalblocking.m4.
34326         (gl_PREREQ_SIGACTION): Don't invoke it.
34327         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
34328         gl_PREREQ_SIG_HANDLER_H.
34329         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34330         Don't check for sigaction here.
34331
34332 2008-06-23  Bruno Haible  <bruno@clisp.org>
34333
34334         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
34335         (install_handlers): Don't set the SA_RESETHAND flag.
34336
34337 2008-06-23  Bruno Haible  <bruno@clisp.org>
34338
34339         * m4/sigaction.m4: Comment fixes.
34340         * lib/signal.in.h: Likewise.
34341
34342 2008-06-23  Eric Blake  <ebb9@byu.net>
34343
34344         Fix typo.
34345         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
34346
34347         Avoid SA_ namespace.
34348         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
34349         Reported by Ralf Wildenhues.
34350
34351         Avoid test failure due to SA_RESTORER.
34352         * tests/test-sigaction.c (SA_MASK): New macro.
34353         (main): Avoid failing due to extension flags being set.
34354         Reported by Jim Meyering.
34355
34356         Revert use of sig-handler.h in sigprocmask.c.
34357         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
34358         it requires the existence of struct sigaction.
34359         * lib/sigprocmask.c (handler_t): Restore typedef.
34360         (rpl_signal, old_handlers): Use local type.
34361
34362 2008-06-22  Bruno Haible  <bruno@clisp.org>
34363
34364         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
34365         conditionally.
34366         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34367
34368 2008-06-22  Bruno Haible  <bruno@clisp.org>
34369
34370         * doc/posix-functions/siginterrupt.texi: Move note.
34371
34372         * lib/signal.in.h (SA_RESTART): New macro.
34373         * lib/sigaction.c: Update comment.
34374
34375         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
34376
34377         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
34378         (gl_PREREQ_SIGPROCMASK): Invoke it.
34379         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
34380
34381         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
34382
34383         * lib/sigprocmask.c: Update a comment.
34384
34385 2008-06-21  Eric Blake  <ebb9@byu.net>
34386
34387         Use sigaction module rather than signal().
34388         * modules/c-stack (Depends-on): Add sigaction.
34389         * modules/fatal-signal (Depends-on): Likewise.
34390         * modules/nanosleep (Depends-on): Likewise.
34391         * modules/sigprocmask (Files): Add sig-handler.h.
34392         * modules/sigaction (Files): Likewise.
34393         * lib/sig-handler.h (get_handler): New file, suggested by Paul
34394         Eggert.
34395         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
34396         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
34397         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
34398         (init_fatal_signals): Likewise.
34399         * lib/nanosleep.c (rpl_nanosleep): Likewise.
34400         (siginterrupt): Delete fallback.
34401         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
34402         instead.
34403         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
34404         siginterrupt.
34405
34406         New module sigaction, for mingw.
34407         * modules/sigaction: New module...
34408         * modules/sigaction-tests: ...and its test.
34409         * m4/sigaction.m4: New file.
34410         * lib/sigaction.c: Likewise.
34411         * tests/test-sigaction.c: Likewise.
34412         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
34413         * modules/signal (Makefile.am): Likewise.
34414         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
34415         needed.
34416         * doc/posix-headers/signal.texi (signal.h): Mention provided
34417         types.
34418         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
34419         that sigaction is preferable.
34420         * doc/posix-functions/sigaction.texi (sigaction): Mention new
34421         module.
34422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34423         sigaction.
34424
34425         Improve robustness of sigprocmask by overriding signal.
34426         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
34427         is in use.
34428         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
34429         (SIGKILL, SIGSTOP): Provide fallbacks.
34430         (rpl_signal): Implement.
34431         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
34432         signal can be called inside handlers.
34433
34434         Fix nanosleep module on mingw.
34435         * modules/nanosleep (Depends-on): Add sys_select.
34436         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
34437
34438         Fix licensing of sigprocmask.
34439         * modules/raise (License): Relicense as LGPL.
34440
34441 2008-06-21  Bruno Haible  <bruno@clisp.org>
34442
34443         * lib/propername.c (proper_name_utf8): Don't use the transliterated
34444         result if it contains question marks.
34445         Reported by Michael Geng <linux@michaelgeng.de>.
34446
34447 2008-06-19  Bruno Haible  <bruno@clisp.org>
34448
34449         Fix CVS-ism.
34450         * doc/gnulib.texi: Include updated-stamp.texi.
34451         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
34452         (updated-stamp.texi): New rule.
34453         (gnulib.info): Depend on it.
34454         * doc/.gitignore: Add updated-stamp.texi.
34455         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
34456
34457 2008-06-19  Bruno Haible  <bruno@clisp.org>
34458
34459         * doc/Makefile (gnulib.info): Update and simplify dependencies.
34460         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
34461
34462 2008-06-19  Eric Blake  <ebb9@byu.net>
34463
34464         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
34465         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
34466         Reported by Stepan Kasal.
34467
34468 2008-06-18  Bruno Haible  <bruno@clisp.org>
34469
34470         * lib/fatal-signal.c (init_fatal_signals): Add comment.
34471         Reported by Eric Blake.
34472
34473 2008-06-18  Eric Blake  <ebb9@byu.net>
34474
34475         Work around cygwin 1.5.25 strsignal bug.
34476         * tests/test-strsignal.c: Allow for const char *.
34477         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
34478
34479 2008-06-18  Simon Josefsson  <simon@josefsson.org>
34480
34481         * users.txt: Update URL to article and add author/date
34482         information.
34483
34484 2008-06-17  Bruno Haible  <bruno@clisp.org>
34485
34486         New macro gl_DISABLE_THREADS.
34487         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
34488         if the user did not pass --enable-threads or --disable-threads option.
34489         (gl_DISABLE_THREADS): New macro.
34490         Reported by Eric Blake <ebb9@byu.net>.
34491
34492 2008-06-17  Bruno Haible  <bruno@clisp.org>
34493
34494         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
34495         when the macro ignores it.
34496         Based on a patch by Eric Blake <ebb9@byu.net>.
34497
34498 2008-06-17  Bruno Haible  <bruno@clisp.org>
34499
34500         * modules/tls (License): Change to LGPLv2+.
34501         Reported by Eric Blake.
34502
34503 2008-06-17  Eric Blake  <ebb9@byu.net>
34504
34505         Simplify c-stack prerequisites.
34506         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
34507         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
34508         no longer requires <ucontext.h> to exist.  Optimize setrlimit
34509         check.
34510         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
34511         <sys/resource.h>.
34512
34513         Move c-stack test into testsuite.
34514         * modules/c-stack-tests: New file.
34515         * lib/c-stack.c [DEBUG]: Move test program...
34516         * tests/test-c-stack.c: ...into this new file.  Skip rather than
34517         fail test if sigaltstack is lacking.
34518         * tests/test-c-stack.sh: New driver file.
34519
34520 2008-06-16  Eric Blake  <ebb9@byu.net>
34521
34522         Use raise module consistently.
34523         * modules/fatal-signal (Depends-on): Add raise.
34524         * modules/sigprocmask (Depends-on): Likewise.
34525         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
34526         * lib/sigprocmask.c (sigprocmask): Likewise.
34527         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34528         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
34529
34530         Fix compliance bug in sigpending.
34531         * lib/sigprocmask.c (sigpending): Return pending array via
34532         parameter, not return value.
34533
34534 2008-06-14  Eric Blake  <ebb9@byu.net>
34535
34536         Improve obstack-printf test code.
34537         * tests/test-obstack-printf.c (test_function): Fix comment, and
34538         simplify usage of obstack_* in macros.  Add a test for coverage.
34539         Reported by Bruno Haible.
34540
34541 2008-06-14  Bruno Haible  <bruno@clisp.org>
34542
34543         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
34544         array size as a constant, not as a const variable.
34545         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
34546         AC_USE_SYSTEM_EXTENSIONS.
34547         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
34548         Test whether the obstack_printf function actually exists.
34549         * modules/obstack-printf (Depends-on): Add extensions.
34550         (Include): Remove obstack.h.
34551         * modules/obstack-printf-posix (Depends-on): Add extensions.
34552         (Include): Remove obstack.h.
34553
34554 2008-06-13  Eric Blake  <ebb9@byu.net>
34555
34556         Add obstack-printf and obstack-printf-posix modules.
34557         * modules/obstack-printf: New file.
34558         * modules/obstack-printf-posix: Likewise.
34559         * MODULES.html.sh (Misc): Mention them.
34560         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
34561         Likewise.
34562         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
34563         Likewise.
34564         * modules/stdio (Makefile.am): Accomodate new modules.
34565         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34566         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
34567         Declare.
34568         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
34569         functions.
34570         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
34571         (gl_REPLACE_OBSTACK_PRINTF): New macros
34572         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
34573         * tests/test-obstack-printf.c: New file.
34574         * modules/obstack-printf-tests: Likewise.
34575         * modules/obstack-printf-posix-tests: Likewise.
34576
34577 2008-06-11  Bruno Haible  <bruno@clisp.org>
34578
34579         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
34580         * lib/open.c: Include errno.h.
34581         (open): Fail when attempting to write to a file that has a trailing
34582         slash.
34583         * tests/test-open.c (main): Test against trailing slash bug.
34584         * doc/posix-functions/open.texi: Mention the trailing slash bug.
34585
34586 2008-06-10  Bruno Haible  <bruno@clisp.org>
34587
34588         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
34589         for $? to work inside the trap command, with various /bin/sh-s.
34590         * tests/test-vc-list-files-cvs.sh: Likewise.
34591
34592 2008-06-10  Bruno Haible  <bruno@clisp.org>
34593
34594         * lib/acl-internal.h: Don't include gettext.h here.
34595         * lib/set-mode-acl.c: Include gettext.h here.
34596         * lib/copy-acl.c: Likewise.
34597
34598 2008-06-10  Bruno Haible  <bruno@clisp.org>
34599
34600         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
34601         * lib/wait-process.c (wait_subprocess): Likewise.
34602         * lib/execute.h (execute): Add termsigp argument.
34603         * lib/execute.c (execute): Likewise.
34604         * lib/csharpcomp.c (compile_csharp_using_pnet,
34605         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
34606         * lib/csharpexec.c (execute_csharp_using_pnet,
34607         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
34608         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
34609         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
34610         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
34611         is_jikes_present): Update.
34612         * lib/javaexec.c (execute_java_class): Update.
34613         * lib/javaversion.c (execute_and_read_line): Update.
34614         * NEWS: Document the changes.
34615         Reported by Eric Blake.
34616
34617 2008-06-10  Eric Blake  <ebb9@byu.net>
34618
34619         Add missing include.
34620         * tests/test-strstr.c (includes): Add <signal.h>.
34621         * tests/test-strcasestr.c (includes): Likewise.
34622         * tests/test-memmem.c (includes): Likewise.
34623
34624 2008-06-10  Bruno Haible  <bruno@clisp.org>
34625
34626         * lib/wait-process.c (wait_subprocess): Add an assertion.
34627
34628 2008-06-10  Bruno Haible  <bruno@clisp.org>
34629
34630         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
34631
34632 2008-06-10  Bruno Haible  <bruno@clisp.org>
34633
34634         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
34635         using alarm().
34636         * tests/test-strcasestr.c (main): Likewise.
34637         * tests/test-strstr.c (main): Likewise.
34638
34639 2008-06-09  Bruno Haible  <bruno@clisp.org>
34640
34641         Work around the Solaris 10 ACE ACLs ABI change.
34642         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
34643         declare if ACL_NO_TRIVIAL is present.
34644         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
34645         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
34646         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
34647         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
34648         define if ACL_NO_TRIVIAL is present.
34649         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
34650         and use the current ABI.
34651         (file_has_acl): Use same #if condition as elsewhere.
34652         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
34653         in use, and use the current ABI.
34654         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
34655         Reported by Jim Meyering.
34656
34657 2008-06-09  Eric Blake  <ebb9@byu.net>
34658
34659         Work around environments that (stupidly) ignore SIGALRM.
34660         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
34661         before using alarm().
34662         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34663         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
34664         Reported by Ian Beckwith <ianb@erislabs.net>.
34665
34666         Produce autobuild blurb earlier in log.
34667         * modules/autobuild (configure.ac-early): Move AB_INIT here.
34668
34669 2008-06-09  Jim Meyering  <meyering@redhat.com>
34670         and OndÅ™ej Vašík  <ovasik@redhat.com>
34671
34672         utimens.c: correct kernel bug work-around
34673         OndÅ™ej Vašík found that the invalid return value of 280 indicates
34674         failure, not success, and the kernel bug we're trying to work
34675         around affects not just the utimensat call, but also the fallback
34676         futimens call.
34677         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
34678         not success.
34679         [HAVE_FUTIMENS]: Use the same work-around, here.
34680
34681 2008-06-09  Jim Meyering  <meyering@redhat.com>
34682
34683         add more guards around definition of ACE_-related code
34684         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
34685         ALLOW and ACE_OWNER are also defined.
34686
34687 2008-06-08  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/acl-internal.h: Add me as co-author.
34690         * lib/file-has-acl.c: Likewise.
34691         * lib/set-mode-acl.c: Likewise.
34692         * lib/copy-acl.c: Likewise.
34693
34694 2008-06-08  Bruno Haible  <bruno@clisp.org>
34695
34696         Add support for AIX ACLs.
34697         * lib/acl-internal.h (acl_nontrivial): New declaration.
34698         * lib/file-has-acl.c (acl_nontrivial): New function.
34699         (file_has_acl): Add implementation using AIX 4 ACL API.
34700         * lib/set-mode-acl.c (qset_acl): Likewise.
34701         * lib/copy-acl.c (qcopy_acl): Likewise.
34702
34703 2008-06-08  Bruno Haible  <bruno@clisp.org>
34704
34705         Add support for HP-UX ACLs.
34706         * lib/acl-internal.h (acl_nontrivial): New declaration.
34707         * lib/file-has-acl.c (acl_nontrivial): New function.
34708         (file_has_acl): Add implementation using HP-UX 11 ACL API.
34709         * lib/set-mode-acl.c (qset_acl): Likewise.
34710         * lib/copy-acl.c (qcopy_acl): Likewise.
34711
34712 2008-06-08  Bruno Haible  <bruno@clisp.org>
34713
34714         Add support for Cygwin ACLs.
34715         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
34716         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
34717         the chmod_or_fchmod call.
34718         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
34719
34720 2008-06-08  Bruno Haible  <bruno@clisp.org>
34721
34722         Fix bug with setuid modes in Solaris 10+ code.
34723         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
34724         succeeded, when the mode contains some special bits.
34725
34726 2008-06-08  Bruno Haible  <bruno@clisp.org>
34727
34728         Add support for Solaris 7..10 ACLs.
34729         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
34730         declarations.
34731         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
34732         functions.
34733         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
34734         * lib/set-mode-acl.c (qset_acl): Likewise.
34735         * lib/copy-acl.c (qcopy_acl): Likewise.
34736
34737 2008-06-08  Bruno Haible  <bruno@clisp.org>
34738
34739         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
34740         declaration.
34741         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
34742         (acl_access_nontrivial): Remove MacOS X case.
34743         (file_has_acl): Use acl_extended_nontrivial.
34744         * lib/copy-acl.c (qcopy_acl): Likewise.
34745
34746 2008-06-08  Bruno Haible  <bruno@clisp.org>
34747
34748         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
34749
34750 2008-06-08  Jim Meyering  <meyering@redhat.com>
34751
34752         * modules/acl (Maintainer): Add Bruno Haible.
34753
34754 2008-06-07  Bruno Haible  <bruno@clisp.org>
34755
34756         Improve support for Tru64 ACLs.
34757         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
34758         ACL on OSF/1.
34759
34760 2008-06-07  Bruno Haible  <bruno@clisp.org>
34761
34762         Add support for MacOS X ACLs.
34763         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
34764         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
34765         * lib/set-mode-acl.c (qset_acl): Likewise.
34766         * lib/copy-acl.c (qcopy_acl): Likewise.
34767
34768 2008-06-07  Bruno Haible  <bruno@clisp.org>
34769
34770         Fix memory leak introduced on 2008-05-22.
34771         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
34772         use.
34773
34774 2008-06-07  Bruno Haible  <bruno@clisp.org>
34775
34776         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
34777         to construct an empty ACL.
34778
34779 2008-06-07  Bruno Haible  <bruno@clisp.org>
34780
34781         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
34782         precisely.
34783         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
34784
34785 2008-06-07  Bruno Haible  <bruno@clisp.org>
34786
34787         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
34788         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
34789
34790 2008-06-07  Bruno Haible  <bruno@clisp.org>
34791
34792         * doc/posix-functions/_setjmp.texi: Explain the use of this function
34793         regardless of POSIX.
34794         * doc/posix-functions/_longjmp.texi: Likewise.
34795         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
34796         SystemV platform in this case.
34797
34798 2008-06-06  Eric Blake  <ebb9@byu.net>
34799
34800         Document abort() bugs.
34801         * doc/posix-functions/abort.texi (abort): Mention anomalies.
34802
34803         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
34804         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
34805         sigsetjmp.
34806         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
34807         siglongjmp, but only as a macro.
34808         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
34809         is obsolete.
34810         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
34811
34812         Tweak documentation to cover cygwin argz bugs.
34813         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
34814         argz bug fix; no code change needed since no cygwin releases
34815         occurred between the last fix and the bug being tested.
34816         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
34817         module and recently fixed cygwin bugs.
34818         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
34819         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
34820         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
34821         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
34822         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
34823         Likewise.
34824         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
34825         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
34826         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
34827         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
34828         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
34829         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
34830         Likewise.
34831
34832         Avoid gcc warning on cygwin.
34833         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
34834         !ACL_NO_TRIVIAL]: Avoid unused variable.
34835
34836 2008-06-05  Eric Blake  <ebb9@byu.net>
34837
34838         Be tolerant of UNKNOWN version in gnulib-tool test dir.
34839         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
34840         git-version-gen fails to come up with a version.
34841         Reported by Simon Josefsson.
34842
34843 2008-06-05  Jim Meyering  <meyering@redhat.com>
34844             Paul Eggert  <eggert@cs.ucla.edu>
34845
34846         utimens.c: work around a probable Linux kernel bug
34847         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
34848         appears to be a kernel bug that causes utimensat to return 280
34849         instead of 0, indicating success.
34850
34851 2008-06-04  Bruno Haible  <bruno@clisp.org>
34852
34853         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
34854         2008-06-01 commit.
34855
34856 2008-06-04  Bruno Haible  <bruno@clisp.org>
34857
34858         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
34859         * lib/file-has-acl.c (acl_access_nontrivial): New function.
34860         (file_has_acl): Use it. Save errno afterwards.
34861         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
34862
34863 2008-06-03  Bruno Haible  <bruno@clisp.org>
34864
34865         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
34866         draft code. Simplify #ifs.
34867         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
34868         Put Solaris code after POSIX-draft code. Fix comments regarding
34869         Solaris 10, HP-UX. Mention Cygwin.
34870         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
34871
34872 2008-06-03  Eric Blake  <ebb9@byu.net>
34873
34874         Provide fallback for older kernels.
34875         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
34876         Provide runtime fallback if kernel lacks support.
34877         Reported by Mike Frysinger.
34878
34879 2008-06-02  Bruno Haible  <bruno@clisp.org>
34880
34881         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
34882         it exists.
34883
34884 2008-06-02  Bruno Haible  <bruno@clisp.org>
34885
34886         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
34887         * lib/copy-acl.c (qcopy_acl): Update comment.
34888
34889 2008-06-02  Bruno Haible  <bruno@clisp.org>
34890
34891         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
34892         like ACL APIs.
34893
34894 2008-06-02  Bruno Haible  <bruno@clisp.org>
34895
34896         * tests/test-file-has-acl.sh: Use different code for Cygwin.
34897         * tests/test-set-mode-acl.sh: Likewise.
34898         * tests/test-copy-acl.sh: Likewise.
34899         * tests/test-copy-file.sh: Likewise.
34900
34901 2008-06-02  Bruno Haible  <bruno@clisp.org>
34902
34903         * tests/test-file-has-acl.sh: Remove unused code.
34904
34905 2008-06-01  Bruno Haible  <bruno@clisp.org>
34906
34907         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
34908         (copy_acl): Just a wrapper around qcopy_acl that emits the error
34909         messages.
34910         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
34911
34912 2008-06-01  Bruno Haible  <bruno@clisp.org>
34913
34914         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
34915         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
34916         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
34917         APIs.
34918         * modules/acl-tests (configure.ac): Remove tests now contained in
34919         m4/acl.m4.
34920
34921 2008-06-02  Jim Meyering  <meyering@redhat.com>
34922
34923         announce-gen: use a better key-server host name
34924         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
34925         it may be more consistently reliable.  Suggested by Werner Koch
34926         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
34927
34928 2008-06-01  Bruno Haible  <bruno@clisp.org>
34929
34930         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
34931         Reported by Voroskoi Andras <voroskoi@gmail.com>.
34932
34933 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
34934
34935         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
34936
34937 2008-06-01  Bruno Haible  <bruno@clisp.org>
34938
34939         New ACL tests.
34940         * tests/test-file-has-acl.sh: New file.
34941         * tests/test-file-has-acl.c: New file.
34942         * tests/test-set-mode-acl.sh: New file.
34943         * tests/test-set-mode-acl.c: New file.
34944         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
34945         * tests/test-copy-acl.c: New file.
34946         * modules/acl-tests: New file, based on modules/copy-file-tests.
34947         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
34948         (Depends-on): Add acl-tests.
34949         (configure.ac): Remove checks.
34950         (Makefile.am): Don't create test-sameacls program here any more.
34951
34952 2008-06-01  Bruno Haible  <bruno@clisp.org>
34953
34954         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
34955         * tests/test-sameacls.c: Include progname.h.
34956         (main): Invoke set_program_name. Portability fixes for MacOS X,
34957         Solaris, HP-UX.
34958
34959 2008-06-01  Bruno Haible  <bruno@clisp.org>
34960
34961         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
34962         function.
34963         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
34964
34965 2008-06-01  Bruno Haible  <bruno@clisp.org>
34966
34967         * modules/rpmatch (Depends-on): Add strdup.
34968
34969 2008-06-01  Bruno Haible  <bruno@clisp.org>
34970
34971         * lib/pipe.c: Include unistd-safer.h.
34972         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
34973         * modules/pipe (Depends-on): Add unistd-safer.
34974
34975 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34976
34977         * modules/autobuild (configure.ac): Call AB_INIT.
34978
34979 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34980
34981         * tests/test-getaddrinfo.c: Don't print debug messages by default.
34982         Suggested by Bruno Haible <bruno@clisp.org>.
34983
34984 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34985
34986         * tests/test-base64.c: Cast size_t to unsigned long when invoking
34987         printf.  Use %lu instead of %d.  Reported by Bruno Haible
34988         <bruno@clisp.org>.
34989
34990 2008-05-29  Eric Blake  <ebb9@byu.net>
34991
34992         Prefer new POSIX 200x interfaces over futimesat.
34993         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
34994         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
34995         when available.
34996         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
34997
34998 2008-05-28  Bruno Haible  <bruno@clisp.org>
34999
35000         * modules/stpcpy (License): Change to LGPLv2+.
35001         Requested by David Lutterkort <dlutter@redhat.com>.
35002
35003 2008-05-27  Bruno Haible  <bruno@clisp.org>
35004
35005         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
35006         current mingw.
35007         Reported by Jose E. Marchesi <jemarch@gnu.org>.
35008
35009 2008-05-27  Bruno Haible  <bruno@clisp.org>
35010
35011         * modules/iconv_open (Link): New section, from module 'iconv'.
35012         * modules/striconv (Link): Likewise.
35013         * modules/striconveh (Link): Likewise.
35014         * modules/xstriconv (Link): Likewise.
35015         * modules/unicodeio (Link): Likewise.
35016         * modules/propername (Link): Likewise.
35017         Reported by Jim Meyering.
35018
35019 2008-05-26  Jim Meyering  <meyering@redhat.com>
35020
35021         sha256: do not artificially restrict buffer length to be < 2^32
35022         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
35023         uint32_t to size_t.
35024         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
35025         to match.
35026
35027         avoid unaligned access errors, e.g., on sparc
35028         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
35029         direct access through a possibly-unaligned uint64* pointer.
35030         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
35031         direct access through a possibly-unaligned uint32* pointer.
35032         Prompted by this patch from Tom "spot" Callaway:
35033         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
35034
35035         sha512.c: fix typo in comment
35036         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
35037
35038 2008-05-25  Bruno Haible  <bruno@clisp.org>
35039
35040         * lib/set-mode-acl.c: Renamed from lib/acl.c.
35041         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
35042         (Makefile.am): Update lib_SOURCES.
35043
35044 2008-05-25  Bruno Haible  <bruno@clisp.org>
35045
35046         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
35047
35048 2008-05-25  Jim Meyering  <meyering@redhat.com>
35049
35050         useless-if-before-free: freed expr may have white-space differences
35051         * build-aux/useless-if-before-free: Recognize cases in which the
35052         freed expression differs from the tested one in embedded white
35053         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
35054         $1 was used, so we can't make any regexp shy.  Improved tests now
35055         detect this.
35056
35057         useless-if-before-free: accept white space in the expression.
35058         * build-aux/useless-if-before-free: For now, any white space
35059         in the expression must be identical in the free argument.
35060
35061         useless-if-before-free: efficiency tweak
35062         * build-aux/useless-if-before-free: Make the expression-matching
35063         regexp "shy".
35064         Make the *outer* regexp shy, not the expr-matching one.
35065
35066         update code-in-comment to accept cast of free arg
35067         * build-aux/useless-if-before-free: Update regexp.
35068
35069 2008-05-25  Bruno Haible  <bruno@clisp.org>
35070
35071         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
35072         * modules/copy-file-tests (Files, Makefile.am): Update.
35073         * tests/test-copy-file.c (func_test_copy): Update.
35074
35075 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
35076
35077         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
35078
35079 2008-05-23  Bruno Haible  <bruno@clisp.org>
35080
35081         Improve support for ACLs on OSF/1.
35082         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
35083         Remove fallback for unknown flavors of ACLs.
35084
35085 2008-05-22  Bruno Haible  <bruno@clisp.org>
35086
35087         Add support for ACLs on OSF/1.
35088         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
35089         replacements.
35090         (acl_free_text): New macro fallback.
35091         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
35092         acl_free.
35093         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
35094         acl_free_text function. Require AC_C_INLINE.
35095
35096 2008-05-22  Bruno Haible  <bruno@clisp.org>
35097
35098         Make copy_acl work on MacOS X 10.5.
35099         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
35100         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
35101         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
35102         If MODE_INSIDE_ACL, don't assume that every system has the same text
35103         representation for ACLs as FreeBSD.
35104         * lib/copy-acl.c (copy_acl): Add support for platforms with
35105         !MODE_INSIDE_ACL.
35106         * lib/file-has-acl.c (file_has_acl): Likewise.
35107         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
35108         FreeBSD, MacOS X, or IRIX, respectively.
35109
35110 2008-05-22  Bruno Haible  <bruno@clisp.org>
35111
35112         * lib/acl.h: Don't include <sys/acl.h>.
35113         (GETACLCNT): Move fallback to lib/acl-internal.h.
35114         * lib/acl-internal.h: Include <sys/acl.h> here.
35115         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
35116
35117 2008-05-22  Bruno Haible  <bruno@clisp.org>
35118
35119         Split off copy_acl function to separate file.
35120         * lib/copy-acl.c: New file, extracted from lib/acl.c.
35121         * lib/acl.c (copy_acl): Moved function to separate file.
35122         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
35123         * modules/acl (Files): Add lib/copy-acl.c.
35124         (Makefiles.am): Augment lib_SOURCES.
35125
35126 2008-05-22  Bruno Haible  <bruno@clisp.org>
35127
35128         * modules/copy-file-tests: New file.
35129         * tests/test-copy-file.sh: New file.
35130         * tests/test-copy-file.c: New file.
35131         * tests/test-copy-file-sameacls.c: New file.
35132
35133 2008-05-22  Eric Blake  <ebb9@byu.net>
35134
35135         Avoid gcc warning.
35136         * tests/test-memcmp.c (main): Pass NULL indirectly.
35137
35138 2008-05-21  Bruno Haible  <bruno@clisp.org>
35139
35140         Add reference doc about ACLs.
35141         * doc/acl-resources.txt: New file.
35142         * doc/acl-cygwin.txt: New file.
35143
35144 2008-05-21  Bruno Haible  <bruno@clisp.org>
35145
35146         Avoid one more warning from gcc.
35147         * lib/vasnprintf.c (IF_LINT): Update comments.
35148         (VASNPRINTF): Use it also for the 'prefix' array initializer.
35149
35150 2008-05-21  Jim Meyering  <meyering@redhat.com>
35151
35152         avoid a warning from gcc
35153         * lib/vasnprintf.c (IF_LINT): Define.
35154         (scale10_round_decimal_long_double):
35155         Use it to avoid a "may be used uninitialized" warning.
35156         (scale10_round_decimal_double): Likewise.
35157
35158 2008-05-21  Simon Josefsson  <simon@josefsson.org>
35159
35160         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
35161         declared.
35162
35163 2008-05-20  Bruno Haible  <bruno@clisp.org>
35164
35165         * tests/test-memcmp.c (main): Test also the sign of the result. Test
35166         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
35167
35168 2008-05-20  Simon Josefsson  <simon@josefsson.org>
35169
35170         * modules/memcmp-tests: New file.
35171         * tests/test-memcmp.c: New file.
35172
35173 2008-05-19  Bruno Haible  <bruno@clisp.org>
35174
35175         * modules/propername (Notice, configure.ac): Put quoted "..." into
35176         --keyword option.
35177         * lib/propername.h: Update comments accordingly.
35178         Reported by Eric Blake.
35179
35180 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
35181
35182         * modules/getpass-gnu (Depends-on): Add fseeko.
35183
35184 2008-05-19  Simon Josefsson  <simon@josefsson.org>
35185
35186         * modules/base64-tests: New file.
35187
35188 2008-05-19  Bo Borgerson <gigabo@gmail.com>
35189
35190         * lib/base64.c (base64_decode_ctx): If a decode context structure
35191         was passed in use it to ignore newlines.  If a context structure
35192         was _not_ passed in, continue to treat newlines as garbage (this
35193         is the historical behavior).  Formerly base64_decode.
35194         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
35195         takes a decode context structure.
35196         * lib/base64.h (base64_decode): Macro for four-argument calls.
35197         (base64_decode_alloc): Likewise.
35198         * lib/base64.c (base64_decode_ctx): If a decode context structure
35199         was passed in use it to ignore newlines.  If a context structure
35200         was _not_ passed in, continue to treat newlines as garbage (this
35201         is the historical behavior).  Formerly base64_decode.
35202         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
35203         takes a decode context structure.
35204         * lib/base64.h (base64_decode): Macro for four-argument calls.
35205         (base64_decode_alloc): Likewise.
35206
35207 2008-05-19  Jim Meyering  <meyering@redhat.com>
35208
35209         avoid a warning from gcc
35210         * lib/trim.c (IF_LINT): Define.
35211         (trim2): Use it to avoid a "may be used uninitialized" warning.
35212
35213         Fix doc typo.
35214         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
35215
35216 2008-05-19  Bruno Haible  <bruno@clisp.org>
35217
35218         * doc/glibc-functions/getpass.texi: Document limits of other
35219         implementations.
35220
35221 2008-05-19  Simon Josefsson  <simon@josefsson.org>
35222             Bruno Haible <bruno@clisp.org>
35223
35224         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
35225
35226 2008-05-18  Bruno Haible  <bruno@clisp.org>
35227
35228         * modules/propername: New file, from GNU gettext.
35229         * lib/propername.h: New file, from GNU gettext.
35230         * lib/propername.c: New file, from GNU gettext.
35231         * MODULES.html.sh (Internationalization functions): Add propername.
35232
35233 2008-05-16  Jim Meyering  <meyering@redhat.com>
35234             Bruno Haible  <bruno@clisp.org>
35235
35236         Avoid some warnings from "gcc -Wshadow".
35237         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
35238
35239 2008-05-15  Eric Blake  <ebb9@byu.net>
35240
35241         Extend previous patch to cygwin 1.7.0.
35242         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
35243         fast implementation in cygwin >= 1.7.0.
35244         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35246
35247 2008-05-15  Bruno Haible  <bruno@clisp.org>
35248
35249         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
35250         implementation in glibc >= 2.9.
35251         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35252         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35253
35254 2008-05-15  Bruno Haible  <bruno@clisp.org>
35255
35256         * MODULES.html.sh (Internationalization functions): Remove linebreak.
35257         (Unicode string functions): Add unilbrk/*.
35258         Reported by Karl Berry.
35259
35260 2008-05-15  Eric Blake  <ebb9@byu.net>
35261
35262         Fix violation of <stdbool.h> replacement in regex.
35263         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
35264         * lib/regexec.c (re_search_internal): Likewise.
35265         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
35266
35267 2008-05-15  Jim Meyering  <meyering@redhat.com>
35268
35269         avoid distracting test output when git or cvs is not found
35270         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
35271         * tests/test-vc-list-files-git.sh: Likewise.
35272
35273 2008-05-15  Eric Blake  <ebb9@byu.net>
35274
35275         Glibc finally accepted the memmem speedup code, bugzilla #5514.
35276         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
35277         glibc version.
35278         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
35279         * doc/posix-functions/strstr.texi (strstr): Likewise.
35280         * lib/str-two-way.h (MAX): Sychronize with glibc.
35281
35282 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
35283
35284         * lib/regcomp.c (optimize_utf8): Add a note on why we test
35285         opr.ctx_type.
35286         (calc_first): Initialize constraint field.
35287         (duplicate_node_closure): Use it instead of special casing ANCHORS.
35288         Fix grammar.
35289         (duplicate_node): Merge constraint field for all node types.
35290         (calc_eclosure_iter): Look at constraint field for all node types.
35291         * lib/regex_internal.c (create_cd_newstate): Don't look at
35292         opr.ctx_type.
35293
35294 2008-05-14  Bruno Haible  <bruno@clisp.org>
35295
35296         Help GCC to do better code generation.
35297         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
35298         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
35299         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
35300         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
35301         Declare with attribute 'malloc' if supported.
35302
35303 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
35304
35305         use "echo STR|wc -c" rather than unportable "expr length STR"
35306         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
35307         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
35308
35309 2008-05-14  Jim Meyering  <meyering@redhat.com>
35310
35311         use dd ibs=$n count=1 ... rather than less-portable head -c$n
35312         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
35313         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
35314         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
35315         via Collin Lasse.
35316
35317 2008-05-14  Eric Blake  <ebb9@byu.net>
35318
35319         Avoid quadratic growth in gl_LIBSOURCES.
35320         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
35321         Suggested by Bruno Haible.
35322
35323         Test xmemdup0.
35324         * modules/xmemdup0-tests: New file.
35325         * tests/test-xmemdup0.c: Likewise.
35326
35327 2008-05-13  Eric Blake  <ebb9@byu.net>
35328
35329         Split xmemdup0 into its own module.
35330         * modules/xmemdup0: New file.
35331         * lib/xmemdup0.h: Likewise.
35332         * lib/xmemdup0.c: Likewise.
35333         * MODULES.html.sh (Memory management functions): Add xmemdup0.
35334         * lib/xalloc.h (xmemdup0): Remove.
35335         * lib/xmalloc.c (xmemdup0): Likewise.
35336
35337 2008-05-13  Eric Blake  <ebb9@byu.net>
35338             Bruno Haible  <bruno@clisp.org>
35339
35340         Reduce number of forks required during autoconf.
35341         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
35342         and gl_LIBSOURCES_DIR.
35343         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
35344         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
35345         m4_syscmd per file.
35346         <m4_foreach_w>: Move...
35347         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
35348
35349 2008-05-13  Eric Blake  <ebb9@byu.net>
35350
35351         * gnulib-tool: Fix various comment typos.
35352
35353 2008-05-12  Bruno Haible  <bruno@clisp.org>
35354
35355         Tailor the linebreaking algorithm.
35356         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
35357
35358 2008-05-12  Bruno Haible  <bruno@clisp.org>
35359
35360         Update to Unicode 5.0.0.
35361         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
35362         LBP_JV, LBP_JT. Redistribute values.
35363         (unilbrk_table): Change size.
35364         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
35365         Unicode TR#14 rev. 22.
35366         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
35367         LBP_JV, LBP_JT. Redistribute values.
35368         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
35369         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
35370         Update.
35371         * lib/unilbrk/lbrkprop1.h: Regenerated.
35372         * lib/unilbrk/lbrkprop2.h: Regenerated.
35373         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
35374         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
35375         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
35376         Likewise.
35377         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
35378         Likewise.
35379         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
35380         result.
35381         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
35382         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
35383         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
35384         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
35385         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
35386         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
35387
35388 2008-05-11  Bruno Haible  <bruno@clisp.org>
35389
35390         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
35391
35392 2008-05-11  Bruno Haible  <bruno@clisp.org>
35393
35394         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
35395         * modules/unilbrk/gen-lbrk: New file.
35396
35397 2008-05-11  Bruno Haible  <bruno@clisp.org>
35398
35399         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
35400         * m4/sha512.m4 (gl_SHA512): Likewise.
35401
35402 2008-05-11  Jim Meyering  <meyering@redhat.com>
35403
35404         New modules: crypto/sha256, crypto/sha512 (from coreutils)
35405         * modules/crypto/sha256: New file.
35406         * modules/crypto/sha512: Likewise.
35407         * lib/sha256.c: Likewise.
35408         * lib/sha256.h: Likewise.
35409         * lib/sha512.c: Likewise.
35410         * lib/sha512.h: Likewise.
35411         * lib/u64.h: Likewise.
35412         * m4/sha256.m4: Likewise.
35413         * m4/sha512.m4: Likewise.
35414         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
35415
35416 2008-05-10  Bruno Haible  <bruno@clisp.org>
35417
35418         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
35419         (Input/Output <stdio.h>): Add xprintf.
35420         (Signal handling <signal.h>): Add strsignal.
35421         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
35422         (Core language properties): Add func.
35423         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
35424         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
35425         strings.
35426         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
35427         (Input/output): New section.
35428         (File system functions): Add openat-die, stat-macros.
35429         (Networking functions): Add sockets.
35430         (Unicode string functions): Add unictype/*.
35431         (Support for building libraries and executables): Add gperf.
35432         (Support for building documentation): Add agpl-3.0.
35433         (Misc): Add nocrash.
35434
35435 2008-05-10  Bruno Haible  <bruno@clisp.org>
35436
35437         * modules/unictype/gen-ctype: New file.
35438
35439 2008-05-10  Jim Meyering  <meyering@redhat.com>
35440
35441         Make chdir-safer.c more efficient on a system with no symlinks.
35442         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
35443         also if ELOOP is zero.  Suggested by Bruno Haible.
35444
35445         Make chdir-safer.c slightly safer.
35446         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
35447         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
35448
35449         Avoid compile failure on systems without ELOOP (like mingw).
35450         * lib/chdir-safer.c (ELOOP): Define if not already defined.
35451         Reported by Bruno Haible.
35452
35453 2008-05-10  Bruno Haible  <bruno@clisp.org>
35454
35455         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
35456         (is_utf8_encoding): Use a case-insensitive comparison.
35457         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
35458         streq.
35459
35460 2008-05-10  Bruno Haible  <bruno@clisp.org>
35461
35462         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
35463         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
35464         * lib/unilbrk/ulc-common.h (iconv_string_length,
35465         iconv_string_keeping_offsets): Remove declarations.
35466         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
35467         Don't include <iconv.h>, streq.h, xsize.h.
35468         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
35469         conversion.
35470         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
35471         <iconv.h>, streq.h, xsize.h.
35472         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
35473         conversion.
35474         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
35475         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
35476         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
35477         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
35478
35479 2008-05-10  Bruno Haible  <bruno@clisp.org>
35480
35481         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
35482         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
35483
35484         * modules/unilbrk/u32-width-linebreaks-tests: New file.
35485         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
35486
35487         * modules/unilbrk/u16-width-linebreaks-tests: New file.
35488         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
35489
35490         * modules/unilbrk/u8-width-linebreaks-tests: New file.
35491         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
35492
35493         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
35494         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
35495
35496         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
35497         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
35498
35499         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
35500         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
35501
35502         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
35503         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
35504
35505 2008-05-10  Bruno Haible  <bruno@clisp.org>
35506
35507         Split up 'linebreak' module.
35508         * lib/unilbrk.h: New file, based on lib/linebreak.h.
35509         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
35510         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
35511         modifications.
35512         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
35513         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
35514         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
35515         lib/linebreak.c.
35516         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
35517         lib/linebreak.c.
35518         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
35519         lib/linebreak.c.
35520         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
35521         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
35522         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
35523         lib/linebreak.c.
35524         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
35525         lib/linebreak.c.
35526         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
35527         lib/linebreak.c.
35528         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
35529         lib/linebreak.c.
35530         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
35531         lib/linebreak.c.
35532         * modules/unilbrk/base: New file.
35533         * modules/unilbrk/tables: New file.
35534         * modules/unilbrk/u8-possible-linebreaks: New file.
35535         * modules/unilbrk/u16-possible-linebreaks: New file.
35536         * modules/unilbrk/u32-possible-linebreaks: New file.
35537         * modules/unilbrk/ulc-common: New file.
35538         * modules/unilbrk/ulc-possible-linebreaks: New file.
35539         * modules/unilbrk/u8-width-linebreaks: New file.
35540         * modules/unilbrk/u16-width-linebreaks: New file.
35541         * modules/unilbrk/u32-width-linebreaks: New file.
35542         * modules/unilbrk/ulc-width-linebreaks: New file.
35543         * lib/linebreak.h: Remove file.
35544         * lib/linebreak.c: Remove file.
35545         * m4/linebreak.m4: Remove file.
35546         * modules/linebreak: Remove file.
35547         * NEWS: Mention the changes.
35548
35549 2008-05-09  Eric Blake  <ebb9@byu.net>
35550
35551         Add xmemdup0.
35552         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
35553         implementation.
35554         * lib/xmalloc.c (xmemdup0): New C implementation.
35555
35556 2008-05-08  Bruno Haible  <bruno@clisp.org>
35557
35558         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
35559
35560 2008-05-07  Eric Blake  <ebb9@byu.net>
35561
35562         Support cross-compilation of <wctype.h>.
35563         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
35564         AC_CACHE_CHECK.
35565
35566 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
35567
35568         * build-aux/vc-list-files: Add support for bzr.
35569
35570 2008-05-03  Jim Meyering  <meyering@redhat.com>
35571
35572         avoid failed assertion with tight malloc
35573         * tests/test-getndelim2.c: Correct an off-by-one assertion.
35574
35575 2008-05-03  Simon Josefsson  <simon@josefsson.org>
35576
35577         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
35578         are needed from arpa/inet.h.
35579         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
35580         Reported by Bruno Haible.
35581
35582 2008-05-02  Jim Meyering  <meyering@redhat.com>
35583
35584         avoid compilation error on FreeBSD 6
35585         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
35586
35587 2008-05-01  Jim Meyering  <meyering@redhat.com>
35588
35589         useless-if-before-free: correct --help's exit status description
35590         * build-aux/useless-if-before-free (usage): Like grep, exit 0
35591         for one or more matches, etc.  Reported by Bruno Haible.
35592
35593         vc-list-files: make the stand-alone gnulib test work
35594         * modules/vc-list-files-tests (configure.ac):
35595         Define and AC_SUBST abs_aux_dir.
35596         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
35597         $(abs_top_srcdir) to each script and having each of them
35598         duplicate the work of setting PATH, set PATH here, using
35599         the new variable, abs_aux_dir instead.
35600         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
35601         * tests/test-vc-list-files-git.sh: Likewise.
35602         Reported by Bruno Haible.
35603
35604 2008-05-01  Bruno Haible  <bruno@clisp.org>
35605
35606         * lib/getndelim2.c (getndelim2): Fix newsize computation during
35607         reallocation. Rename 'done' to 'found_delimiter'.
35608
35609 2008-05-01  Jim Meyering  <meyering@redhat.com>
35610
35611         vc-list-files: accommodate /bin/sh like the one from Solaris 10
35612         * build-aux/vc-list-files: Use `...`, not $(...).
35613
35614 2008-04-30  Jim Meyering  <meyering@redhat.com>
35615
35616         add tests for vc-list-files
35617         * modules/vc-list-files-tests: New module.
35618         * tests/test-vc-list-files-cvs.sh: New file.
35619         * tests/test-vc-list-files-git.sh: New file.
35620
35621         avoid a warning from gcc
35622         * lib/getndelim2.c (IF_LINT): Define.
35623         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
35624
35625         vc-list-files: work properly with build-aux/cvsu, too
35626         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
35627         to all cvs-based clauses.
35628
35629         vc-list-files: work properly in the CVS+awk case, too
35630         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
35631
35632         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
35633         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
35634         take more than one file argument, so .  Add quotes, just in case $dir
35635         ever contains a shell meta-character.  Prompted by Soren Hansen in
35636         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
35637
35638 2008-04-29  Eric Blake  <ebb9@byu.net>
35639
35640         Optimize getndelim2 to use block operations when possible.
35641         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
35642         freadseek, and memchr2.
35643         * lib/getndelim2.c (getndelim2): Use them for block reads.
35644
35645 2008-04-29  Bruno Haible  <bruno@clisp.org>
35646
35647         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
35648         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35649         * modules/inet_ntop (Depends-on): Add extensions.
35650         * modules/inet_pton (Depends-on): Likewise.
35651         Reported by Simon Josefsson.
35652
35653 2008-04-29  Jim Meyering  <meyering@redhat.com>
35654
35655         When the is more than one match in a block, match all of them.
35656         * build-aux/useless-if-before-free: Iterate through each block
35657         until there are no more matches.
35658
35659         Fix broken useless-if-before-free script.
35660         * build-aux/useless-if-before-free: Fix typo: missing "?" after
35661         the expression to match cast of argument to free-like function.
35662
35663 2008-04-29  Eric Blake  <ebb9@byu.net>
35664
35665         Use new header.
35666         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
35667
35668 2008-04-29  Jim Meyering  <meyering@redhat.com>
35669
35670         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
35671         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
35672         by gnulib to exist and to declare e.g., inet_ntop.
35673         Don't include "inet_ntop.h", now removed.
35674
35675         * m4/arpa_inet_h.m4: Remove trailing blanks.
35676
35677 2008-04-29  Eric Blake  <ebb9@byu.net>
35678
35679         Silence valgrind on safe reads beyond potential array bounds.
35680         * lib/rawmemchr.valgrind: New file.
35681         * lib/strchrnul.valgrind: Likewise.
35682         * modules/rawmemchr (Files): Distribute new file.
35683         * modules/strchrnul (Files): Likewise.
35684         Suggested by Bruno Haible.
35685
35686 2008-04-29  Bruno Haible  <bruno@clisp.org>
35687
35688         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
35689         (inet_ntop, inet_pton): Change portability warning's wording.
35690         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
35691         Invoke gl_CHECK_NEXT_HEADERS.
35692         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
35693         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
35694         set ARPA_INET_H.
35695         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35696         * modules/arpa_inet (Description): No longer only for systems that
35697         lack it.
35698         (Depends-on): Add include_next.
35699         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
35700         HAVE_ARPA_INET_H.
35701
35702 2008-04-29  Jim Meyering  <meyering@redhat.com>
35703
35704         * modules/mkdir (License): Re-license as LGPLv2+.
35705
35706 2008-04-29  Bruno Haible  <bruno@clisp.org>
35707
35708         * modules/rawmemchr (Maintainer): Set to Eric.
35709         * modules/strchrnul (Maintainer): Likewise.
35710
35711 2008-04-29  Simon Josefsson  <simon@josefsson.org>
35712
35713         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
35714         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
35715
35716         * modules/arpa_inet (arpa/inet.h): Use them.
35717
35718 2008-04-28  Eric Blake  <ebb9@byu.net>
35719
35720         Test getndelim2.
35721         * modules/getndelim2-tests: New file.
35722         * tests/test-getndelim2.c: Likewise.
35723         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
35724         stream.
35725         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
35726
35727         * MODULES.html.sh: Document new module.
35728
35729 2008-04-20  Bruno Haible  <bruno@clisp.org>
35730
35731         * lib/c-stack.c (die): Use raise.
35732         * modules/c-stack (Depends-on): Add raise.
35733
35734 2008-04-28  Bruno Haible  <bruno@clisp.org>
35735
35736         Expect rpmatch to be declared.
35737         * lib/yesno.c (rpmatch): Remove declaration.
35738
35739         Declare rpmatch.
35740         * lib/stdlib.in.h (rpmatch): New declaration.
35741         * lib/rpmatch.c: Include <stdlib.h> first.
35742         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
35743         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
35744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
35745         HAVE_RPMATCH.
35746         * modules/rpmatch (Depends-on): Add stdlib, extensions.
35747         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35748         (Include): Set to <stdlib.h>.
35749         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
35750         HAVE_RPMATCH.
35751         * NEWS: Document the change.
35752
35753 2008-04-28  Bruno Haible  <bruno@clisp.org>
35754
35755         Change rpmatch to use nl_langinfo when appropriate.
35756         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
35757         (N_): New macro.
35758         (localized_pattern): New function/macro.
35759         (try): Remove match, nomatch arguments. Copy the pattern into safe
35760         memory before caching it.
35761         (rpmatch): Use localized_pattern. Add translator comments.
35762         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
35763         Suggested by Eric Blake.
35764         * modules/rpmatch (Depends-on): Add stdbool.
35765
35766 2008-04-28  Eric Blake  <ebb9@byu.net>
35767
35768         Add rawmemchr module, matching glibc.
35769         * modules/string (Makefile.am): New indicator.
35770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
35771         * lib/string.in.h (rawmemchr): Declare when appropriate.
35772         * modules/rawmemchr: New file.
35773         * m4/rawmemchr.m4: Likewise.
35774         * lib/rawmemchr.c: Likewise.
35775         * modules/rawmemchr-tests: Likewise.
35776         * tests/test-rawmemchr.c: Likewise.
35777         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
35778         module.
35779         * modules/strchrnul (Depends-on): Add rawmemchr.
35780         * lib/strchrnul.c (strchrnul): Optimize a corner case.
35781
35782         Whitespace cleanup.
35783         * tests/test-strchrnul.c: Reindent.
35784         * lib/strchrnul.c: Likewise.
35785
35786         Optimize and test strchrnul.
35787         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
35788         * modules/strchrnul-tests: New file.
35789         * tests/test-strchrnul.c: Likewise.
35790
35791         Remove intprops dependency.
35792         * modules/memchr (Depends-on): Remove intprops.
35793         * modules/memrchr (Depends-on): Likewise.
35794         * modules/memchr2 (Depends-on): Likewise.
35795         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
35796         * lib/memrchr.c (__memrchr): Likewise.
35797         * lib/memrchr2.c (memchr2): Likewise.
35798         Reported by Simon Josefsson.
35799
35800 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35801
35802         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
35803         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35804
35805 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35806
35807         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
35808
35809         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
35810
35811         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
35812
35813         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
35814         declarations.
35815         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
35816
35817         * m4/inet_pton.m4: Don't check for header files.
35818
35819         * m4/inet_ntop.m4: Don't check for header files.
35820
35821 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35822
35823         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
35824         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
35825         trigger for cygwin).
35826         Reported by Bruno Haible  <bruno@clisp.org>.
35827
35828 2008-04-28  Bruno Haible  <bruno@clisp.org>
35829
35830         * doc/posix-functions/strdup.texi: Mention mingw problem.
35831
35832 2008-04-27  Bruno Haible  <bruno@clisp.org>
35833
35834         * modules/stat-time-tests (Depends-on): Add sleep.
35835         * tests/test-stat-time.c (force_unlink): New function.
35836         (cleanup): Use it.
35837         (test_mtime): Remove the ctime related tests.
35838         (test_ctime): New function, containing the ctime related tests.
35839         (main): Call test_ctime, except on native Windows platforms.
35840
35841 2008-04-27  Bruno Haible  <bruno@clisp.org>
35842
35843         * lib/rpmatch.c (rpmatch): Add some comments.
35844         Reported by James Youngman <jay@gnu.org>.
35845
35846 2008-04-27  Bruno Haible  <bruno@clisp.org>
35847
35848         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
35849         quiet NaNs.
35850
35851 2008-04-27  Bruno Haible  <bruno@clisp.org>
35852
35853         Make test-yesno.sh work on mingw.
35854         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
35855         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
35856         (main): Set stdin to binary mode.
35857         * modules/yesno-tests (Depends-on): Add binary-io.
35858
35859 2008-04-27  Bruno Haible  <bruno@clisp.org>
35860
35861         Fix 'isfinite' on x86, x86_64, ia64 platforms.
35862         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
35863         argument that lie outside the IEEE 854 domain.
35864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
35865         (gl_ISFINITE): Use it.
35866         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
35867
35868 2008-04-27  Bruno Haible  <bruno@clisp.org>
35869
35870         Allow local renaming in config.h.
35871         * lib/memrchr.c (memrchr): Don't undefine outside libc.
35872
35873 2008-04-27  Bruno Haible  <bruno@clisp.org>
35874
35875         * lib/memchr.c (__memchr): Change type of 'i'.
35876         * lib/memchr2.c (memchr2): Likewise.
35877
35878 2008-04-26  Eric Blake  <ebb9@byu.net>
35879         and Bruno Haible  <bruno@clisp.org>
35880
35881         Optimize and test memrchr.
35882         * modules/memrchr (Depends-on): Add intprops.
35883         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
35884         * modules/memrchr-tests: New file.
35885         * tests/test-memrchr.c: New file.
35886
35887 2008-04-26  Bruno Haible  <bruno@clisp.org>
35888
35889         Add tentative support for DragonFly BSD.
35890         * lib/stdio-impl.h: Add macros for DragonFly BSD.
35891         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
35892         fp.
35893         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
35894         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
35895         * lib/fpurge.c (fpurge): Likewise.
35896         * lib/freadable.c (freaadable): Likewise.
35897         * lib/freadahead.c (freadahead): Likewise.
35898         * lib/freading.c (freading): Likewise.
35899         * lib/freadptr.c (freadptr): Likewise.
35900         * lib/freadseek.c (freadptrinc): Likewise.
35901         * lib/fseeko.c (fseeko): Likewise.
35902         * lib/fseterr.c (fseterr): Likewise.
35903         * lib/fwritable.c (fwritable): Likewise.
35904         * lib/fwriting.c (fwriting): Likewise.
35905
35906 2008-04-26  Bruno Haible  <bruno@clisp.org>
35907
35908         * lib/stdio-impl.h: New file.
35909         * lib/fbufmode.c: Include stdio-impl.h.
35910         (fbufmode): Use fp_, remove redundant #defines.
35911         * lib/fflush.c: Include stdio-impl.h.
35912         (clear_ungetc_buffer): Remove redundant #defines.
35913         * lib/fpurge.c: Include stdio-impl.h.
35914         (fpurge): Remove redundant #defines.
35915         * lib/freadable.c: Include stdio-impl.h.
35916         (freadable): Remove redundant #defines.
35917         * lib/freadahead.c: Include stdio-impl.h.
35918         (freadahead): Remove redundant #defines.
35919         * lib/freading.c: Include stdio-impl.h.
35920         (freading): Remove redundant #defines.
35921         * lib/freadptr.c: Include stdio-impl.h.
35922         (freadptr): Remove redundant #defines.
35923         * lib/freadseek.c: Include stdio-impl.h.
35924         (freadptrinc): Remove redundant #defines.
35925         * lib/fseeko.c: Include stdio-impl.h.
35926         (rpl_fseeko): Remove redundant #defines.
35927         * lib/fseterr.c: Include stdio-impl.h.
35928         (fseterr): Remove redundant #defines.
35929         * lib/fwritable.c: Include stdio-impl.h.
35930         (fwritable: Remove redundant #defines.
35931         * lib/fwriting.c: Include stdio-impl.h.
35932         (fwriting): Remove redundant #defines.
35933         * modules/fbufmode (Files): Add lib/stdio-impl.h.
35934         * modules/fflush (Files): Likewise.
35935         * modules/fpurge (Files): Likewise.
35936         * modules/freadable (Files): Likewise.
35937         * modules/freadahead (Files): Likewise.
35938         * modules/freading (Files): Likewise.
35939         * modules/freadptr (Files): Likewise.
35940         * modules/freadseek (Files): Likewise.
35941         * modules/fseeko (Files): Likewise.
35942         * modules/fseterr (Files): Likewise.
35943         * modules/fwritable (Files): Likewise.
35944         * modules/fwriting (Files): Likewise.
35945
35946 2008-04-26  Bruno Haible  <bruno@clisp.org>
35947
35948         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
35949         restore_seek_optimization, update_fpos_cache): New functions, extracted
35950         from rpl_fflush.
35951         (rpl_fflush): Use them.
35952         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
35953         (gl_REPLACE_FFLUSH): Use it.
35954
35955 2008-04-26  Bruno Haible  <bruno@clisp.org>
35956
35957         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
35958         on Solaris.
35959         * tests/test-xstrtoimax.sh: Likewise.
35960         * tests/test-xstrtoumax.sh: Likewise.
35961         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35962
35963 2008-04-26  Bruno Haible  <bruno@clisp.org>
35964
35965         * modules/memchr-tests: New file.
35966         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
35967
35968 2008-04-26  Eric Blake  <ebb9@byu.net>
35969             Bruno Haible  <bruno@clisp.org>
35970
35971         * lib/memchr.c: Include intprops.h.
35972         (__memchr): Optimize parallel detection of matching bytes. Rename local
35973         variables. Add explanatory comments.
35974
35975 2008-04-26  Bruno Haible  <bruno@clisp.org>
35976
35977         Fix module 'memchr', broken since 2000-10-28.
35978         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
35979
35980 2008-04-26  Bruno Haible  <bruno@clisp.org>
35981
35982         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
35983         comments.
35984
35985 2008-04-25  Eric Blake  <ebb9@byu.net>
35986
35987         Use native fstatat on cygwin 1.7.0.
35988         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
35989         first.
35990
35991 2008-04-23  Eric Blake  <ebb9@byu.net>
35992
35993         Improve memchr2 performance.
35994         * lib/memchr2.c (memchr2): Further optimize parallel detection of
35995         NUL bytes.
35996         * modules/memchr2 (Depends-on): Use intprops.h.
35997
35998 2008-04-23  Simon Josefsson  <simon@josefsson.org>
35999
36000         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
36001         an inline function instead of a CPP macro.  Patch by Ben Pfaff
36002         <blp@cs.stanford.edu>.
36003
36004 2008-04-23  Simon Josefsson  <simon@josefsson.org>
36005
36006         * lib/arpa_inet.in.h: New file.
36007
36008         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
36009         (Makefile.am): Sed in substitute header file.
36010
36011         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
36012         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
36013
36014         * modules/inet_ntop (configure.ac): Use
36015         gl_ARPA_INET_MODULE_INDICATOR.
36016
36017         * modules/inet_pton (configure.ac): Use
36018         gl_ARPA_INET_MODULE_INDICATOR.
36019
36020 2008-04-22  Jim Meyering  <meyering@redhat.com>
36021
36022         * modules/verify (License): Re-license as LGPLv2+.
36023
36024 2008-04-22  Simon Josefsson  <simon@josefsson.org>
36025
36026         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
36027         parameter to void* as per POSIX standard (MinGW uses char*).
36028
36029 2008-04-21  Bruno Haible  <bruno@clisp.org>
36030
36031         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
36032         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
36033         Define to replacements if REPLACE_ISWCNTRL is 1.
36034         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
36035         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
36036         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
36037         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
36038         what it fixes.
36039         * doc/posix-functions/iswalpha.texi: Likewise.
36040         * doc/posix-functions/iswblank.texi: Likewise.
36041         * doc/posix-functions/iswcntrl.texi: Likewise.
36042         * doc/posix-functions/iswdigit.texi: Likewise.
36043         * doc/posix-functions/iswgraph.texi: Likewise.
36044         * doc/posix-functions/iswlower.texi: Likewise.
36045         * doc/posix-functions/iswprint.texi: Likewise.
36046         * doc/posix-functions/iswpunct.texi: Likewise.
36047         * doc/posix-functions/iswspace.texi: Likewise.
36048         * doc/posix-functions/iswupper.texi: Likewise.
36049         * doc/posix-functions/iswxdigit.texi: Likewise.
36050         Reported by Alain Guibert.
36051
36052 2008-04-21  Bruno Haible  <bruno@clisp.org>
36053
36054         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
36055         Patch by Alain Guibert.
36056
36057 2008-04-21  Bruno Haible  <bruno@clisp.org>
36058
36059         Fix test failures on mingw.
36060         * tests/test-xstrtol.c (print_no_progname): New function.
36061         (main): Install it in error_print_progname hook.
36062         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
36063         * tests/test-xstrtoimax.sh: Likewise.
36064         * tests/test-xstrtoumax.sh: Likewise.
36065
36066 2008-04-21  Bruno Haible  <bruno@clisp.org>
36067
36068         Fix test failure on mingw.
36069         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
36070
36071 2008-04-21  Bruno Haible  <bruno@clisp.org>
36072
36073         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
36074         Actually assign a value.
36075
36076 2008-04-20  Bruno Haible  <bruno@clisp.org>
36077
36078         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
36079         take 2.
36080         * lib/canonicalize.c (canonicalize_file_name): Elide if the
36081         'canonicalize-lgpl' module is also used.
36082         * lib/canonicalize-lgpl.c: Undo last change.
36083         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
36084
36085 2008-04-20  Bruno Haible  <bruno@clisp.org>
36086
36087         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
36088         config.h. Provide _mkdir based fallback for mingw.
36089         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
36090         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
36091         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
36092         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
36093         rather than defining mkdir in config.h.
36094         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
36095         (gl_SYS_STAT_H_DEFAULTS): New macro.
36096         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
36097         HAVE_IO_H any more.
36098         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
36099         HAVE_DECL_MKDIR and HAVE_IO_H.
36100
36101 2008-04-20  Bruno Haible  <bruno@clisp.org>
36102
36103         * lib/isapipe.c: Port to native Windows platforms.
36104
36105 2008-04-20  Bruno Haible  <bruno@clisp.org>
36106
36107         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
36108
36109 2008-04-21  Eric Blake  <ebb9@byu.net>
36110
36111         Work around preprocessors that don't handle UINTMAX_MAX.
36112         * lib/memchr2.c (memchr2): Avoid embedded #if.
36113         Reported by Alain Guibert, fix suggested by Bruno Haible.
36114
36115 2008-04-21  Simon Josefsson  <simon@josefsson.org>
36116
36117         * doc/posix-functions/strftime.texi (strftime): Explain better
36118         Windows incompatibility.  Suggested by Micah Cowan
36119         <micah@cowan.name>.
36120
36121 2008-04-20  Bruno Haible  <bruno@clisp.org>
36122
36123         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
36124         unistr/u8-mblen.
36125
36126 2008-04-20  Bruno Haible  <bruno@clisp.org>
36127
36128         Fix test failure on platforms with non-GNU iconv.
36129         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
36130         (U_TO_U8): Use it, rather than u16_to_u8.
36131         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
36132         units at the end of the input string.
36133         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
36134
36135 2008-04-20  Bruno Haible  <bruno@clisp.org>
36136
36137         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
36138         when the resulting length is 0.
36139         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
36140
36141 2008-04-20  Bruno Haible  <bruno@clisp.org>
36142
36143         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
36144         works.
36145         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
36146
36147 2008-04-20  Bruno Haible  <bruno@clisp.org>
36148
36149         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
36150         * modules/tsearch-tests (configure.ac): Test for initstate function.
36151
36152 2008-04-20  Bruno Haible  <bruno@clisp.org>
36153
36154         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
36155         for nlink_t if missing.
36156         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
36157
36158 2008-04-19  Bruno Haible  <bruno@clisp.org>
36159
36160         Work around snprintf bug on Linux libc5.
36161         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
36162         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36163         gl_SNPRINTF_SIZE1.
36164         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36165         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
36166         that test failed.
36167         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
36168         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
36169         * modules/snprintf (Files): Add m4/printf.m4.
36170         * modules/vsnprintf (Files): Likewise.
36171         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
36172         * doc/posix-functions/vsnprintf.texi: Likewise.
36173
36174 2008-04-19  Bruno Haible  <bruno@clisp.org>
36175
36176         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
36177         from 0.0058 to less than 10^-7.
36178
36179 2008-04-19  Bruno Haible  <bruno@clisp.org>
36180
36181         Fix rounding when a precision is given.
36182         * lib/vasnprintf.c (is_borderline): New function.
36183         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
36184         9...9x.
36185         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
36186         %e, %g.
36187         * tests/test-vasprintf-posix.c (test_function): Likewise.
36188         * tests/test-snprintf-posix.h (test_function): Likewise.
36189         * tests/test-sprintf-posix.h (test_function): Likewise.
36190         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
36191         * tests/test-printf-posix.h (test_function): Likewise.
36192         * tests/test-printf-posix.output: Update.
36193         Reported by John Darrington <john@darrington.wattle.id.au> via
36194         Ben Pfaff <blp@cs.stanford.edu>.
36195
36196 2008-04-18  Simon Josefsson  <simon@josefsson.org>
36197
36198         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
36199         Suggested by Bruno Haible <bruno@clisp.org>.
36200
36201 2008-04-17  Bruno Haible  <bruno@clisp.org>
36202
36203         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
36204         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
36205         implementation.
36206         Patch by Bruce Merry <bmerry@gmail.com>.
36207
36208 2008-04-17  Simon Josefsson  <simon@josefsson.org>
36209
36210         * doc/posix-functions/strftime.texi (strftime): Mention that %e
36211         doesn't work under Windows.
36212
36213 2008-04-16  Bruno Haible  <bruno@clisp.org>
36214
36215         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
36216         New macros.
36217         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
36218         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
36219         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
36220         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
36221         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
36222         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
36223         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
36224         macros.
36225         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
36226         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
36227         Northern Sotho, Uighur.
36228
36229 2008-04-16  Bruno Haible  <bruno@clisp.org>
36230
36231         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
36232         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
36233         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
36234         Reported by Daniel Bergström <daniel@octocode.com>.
36235
36236 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
36237             Bruno Haible  <bruno@clisp.org>
36238
36239         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
36240         function.
36241         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
36242         New functions, mostly extracted from gl_locale_name_default.
36243         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
36244
36245 2008-04-16  Eric Blake  <ebb9@byu.net>
36246
36247         Adjust strtod detection to catch glibc 2.7 bug.
36248         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
36249         Reported by John Gatewood Ham.
36250
36251 2008-04-16  Bruno Haible  <bruno@clisp.org>
36252
36253         Add tentative support for Linux libc5.
36254         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
36255         * lib/fpurge.c (fpurge): Likewise.
36256         * lib/freadable.c (freadable): Likewise.
36257         * lib/freadahead.c (freadahead): Likewise.
36258         * lib/freading.c (freading): Likewise.
36259         * lib/freadptr.c (freadptr): Likewise.
36260         * lib/freadseek.c (freadptrinc): Likewise.
36261         * lib/fseeko.c (rpl_fseeko): Likewise.
36262         * lib/fseterr.c (fseterr): Likewise.
36263         * lib/fwritable.c (fwritable): Likewise.
36264         * lib/fwriting.c (fwriting): Likewise.
36265         Reported by Alain Guibert <alguibert+bts@free.fr>.
36266
36267 2008-04-15  Bruno Haible  <bruno@clisp.org>
36268
36269         * modules/mathl (configure.ac): Define module indicator.
36270
36271 2008-04-15  Bruno Haible  <bruno@clisp.org>
36272
36273         * lib/logl.c (logl): Remove unused variables.
36274
36275 2008-04-15  Bruno Haible  <bruno@clisp.org>
36276
36277         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
36278         fails.
36279
36280 2008-04-15  Bruno Haible  <bruno@clisp.org>
36281
36282         * lib/trim.c (trim2): Fix argument of isspace() macro.
36283
36284 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
36285
36286         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
36287         to 0.
36288         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
36289
36290 2008-04-14  Bruno Haible  <bruno@clisp.org>
36291
36292         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
36293         AC_LANG_PROGRAM argument.
36294         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
36295         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
36296         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
36297         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36298         * m4/math_h.m4 (gl_MATH_H): Likewise.
36299         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
36300         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36301         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
36302         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
36303         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
36304         * m4/regex.m4 (gl_REGEX): Likewise.
36305         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
36306         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
36307         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36308         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
36309         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36310         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36311         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36312         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36313
36314 2008-04-14  Jim Meyering  <meyering@redhat.com>
36315
36316         test-strtod: fix typos: s/abs/fabs/
36317         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
36318
36319 2008-04-13  Bruno Haible  <bruno@clisp.org>
36320
36321         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
36322         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
36323         module is also used and while not building the reloc-wrapper.
36324
36325 2008-04-13  Bruno Haible  <bruno@clisp.org>
36326
36327         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
36328
36329 2008-04-13  Bruno Haible  <bruno@clisp.org>
36330
36331         Fix AIX compilation failure introduced on 2008-04-02.
36332         * tests/test-frexp.c (exp): Undefine before redefining.
36333         * tests/test-frexpl.c (exp): Likewise.
36334
36335 2008-04-13  Bruno Haible  <bruno@clisp.org>
36336
36337         Work around a HP-UX stdio bug.
36338         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
36339         * tests/test-ftello.c (main): Likewise.
36340         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
36341         * doc/posix-functions/ftello.texi: Likewise.
36342
36343 2008-04-13  Bruno Haible  <bruno@clisp.org>
36344
36345         Make test-signbit pass on HP-UX/hppa.
36346         * tests/test-signbit.c (minus_zerol): New variable.
36347         (test_signbitl): Use it.
36348
36349 2008-04-13  Bruno Haible  <bruno@clisp.org>
36350
36351         Make truncl work on OSF/1 4.0.
36352         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
36353         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
36354         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
36355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
36356         HAVE_DECL_TRUNCL.
36357         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
36358         HAVE_DECL_TRUNCL.
36359         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
36360
36361 2008-04-13  Bruno Haible  <bruno@clisp.org>
36362
36363         * lib/unictype.h: Remove trailing comma from enumeration definitions.
36364
36365 2008-04-13  Bruno Haible  <bruno@clisp.org>
36366
36367         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
36368         expression, so as to avoid HP-UX 11 cc compiler bug.
36369
36370 2008-04-13  Bruno Haible  <bruno@clisp.org>
36371
36372         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
36373
36374 2008-04-13  Bruno Haible  <bruno@clisp.org>
36375
36376         * lib/git-merge-changelog.c: Remove empty declaration outside of
36377         functions.
36378
36379 2008-04-13  Bruno Haible  <bruno@clisp.org>
36380
36381         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
36382
36383 2008-04-13  Bruno Haible  <bruno@clisp.org>
36384
36385         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
36386         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
36387         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
36388         also if it exists but lacks definitions of the SHUT_* macros.
36389         * modules/sys_socket (Description): Update.
36390         Reported by Elbert Pol <e.pol@chello.nl>.
36391
36392 2008-04-13  Bruno Haible  <bruno@clisp.org>
36393
36394         * lib/localcharset.c (OS2): Don't redefine if already defined.
36395         Reported by Elbert Pol <e.pol@chello.nl>.
36396
36397 2008-04-13  Bruno Haible  <bruno@clisp.org>
36398
36399         * lib/binary-io.h [__EMX__]: Include <io.h>.
36400         Reported by Elbert Pol <e.pol@chello.nl>.
36401
36402 2008-04-12  Bruno Haible  <bruno@clisp.org>
36403
36404         * lib/fpucw.h: Enable the definitions also for x86_64.
36405         Needed for NetBSD/x86_64.
36406         Reported by Thomas Klausner <tk@giga.or.at>.
36407
36408 2008-04-12  Bruno Haible  <bruno@clisp.org>
36409
36410         * tests/test-strtod.c: Include isnand.h.
36411         (main): Use isnand instead of isnan.
36412         Reported by Jim Meyering.
36413
36414 2008-04-12  Bruno Haible  <bruno@clisp.org>
36415
36416         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
36417         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36418
36419 2008-04-12  Jim Meyering  <meyering@redhat.com>
36420
36421         * m4/math_h.m4 (gl_MATH_H): Fix typos.
36422
36423 2008-04-12  Bruno Haible  <bruno@clisp.org>
36424
36425         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
36426         Reported by Elbert Pol <e.pol@chello.nl>.
36427
36428 2008-04-12  Eric Blake  <ebb9@byu.net>
36429
36430         Work around Solaris 10 math.h bug.
36431         * m4/math_h.m4 (gl_MATH_H): Check for bug.
36432         (gl_MATH_H_DEFAULTS): Set up default.
36433         * modules/math (Makefile.am): Replace new indicators.
36434         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
36435         * tests/test-math.c (main): Test this.
36436         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
36437         * doc/posix-headers/math.texi (math.h): Mention bug.
36438         Reported by Nelson H. F. Beebe and Jim Meyering.
36439
36440 2008-04-11  Bruno Haible  <bruno@clisp.org>
36441
36442         Adapt to future versions of Apple GCC.
36443         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
36444         Reported by Peter O'Gorman <peter@pogma.com>.
36445
36446 2008-04-11  Bruno Haible  <bruno@clisp.org>
36447
36448         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
36449
36450 2008-04-11  Bruno Haible  <bruno@clisp.org>
36451
36452         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
36453
36454         * modules/getaddrinfo-tests (Makefile.am): Define
36455         test_getaddrinfo_LDADD.
36456
36457 2008-04-11  Bruno Haible  <bruno@clisp.org>
36458
36459         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
36460         (init): Fix syntax error.
36461         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
36462         is declared.
36463
36464 2008-04-11  Bruno Haible  <bruno@clisp.org>
36465
36466         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
36467         * modules/glob (Depends-on): Add stdbool.
36468
36469 2008-04-11  Bruno Haible  <bruno@clisp.org>
36470
36471         * lib/trim.c: Include <string.h>.
36472
36473 2008-04-11  Eric Blake  <ebb9@byu.net>
36474
36475         Avoid compile failure on OS/2.
36476         * lib/regex_internal.h (internal_function): Disable optimization
36477         on OS/2 (__EMX__), where it caused compiler error.
36478         Reported by Elbert Pol.
36479
36480 2008-04-11  Bruno Haible  <bruno@clisp.org>
36481
36482         Flush the standard error stream before aborting. Needed on mingw.
36483         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
36484         * tests/test-array_list.c (ASSERT): Likewise.
36485         * tests/test-array_oset.c (ASSERT): Likewise.
36486         * tests/test-avltree_list.c (ASSERT): Likewise.
36487         * tests/test-avltree_oset.c (ASSERT): Likewise.
36488         * tests/test-avltreehash_list.c (ASSERT): Likewise.
36489         * tests/test-binary-io.c (ASSERT): Likewise.
36490         * tests/test-byteswap.c (ASSERT): Likewise.
36491         * tests/test-c-ctype.c (ASSERT): Likewise.
36492         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
36493         * tests/test-c-strcasestr.c (ASSERT): Likewise.
36494         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
36495         * tests/test-c-strstr.c (ASSERT): Likewise.
36496         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
36497         * tests/test-canonicalize.c (ASSERT): Likewise.
36498         * tests/test-carray_list.c (ASSERT): Likewise.
36499         * tests/test-ceilf1.c (ASSERT): Likewise.
36500         * tests/test-ceilf2.c (ASSERT): Likewise.
36501         * tests/test-ceill.c (ASSERT): Likewise.
36502         * tests/test-count-one-bits.c (ASSERT): Likewise.
36503         * tests/test-fbufmode.c (ASSERT): Likewise.
36504         * tests/test-fflush2.c (ASSERT): Likewise.
36505         * tests/test-floorf1.c (ASSERT): Likewise.
36506         * tests/test-floorf2.c (ASSERT): Likewise.
36507         * tests/test-floorl.c (ASSERT): Likewise.
36508         * tests/test-fopen.c (ASSERT): Likewise.
36509         * tests/test-fpending.c (ASSERT): Likewise.
36510         * tests/test-fprintf-posix.c (ASSERT): Likewise.
36511         * tests/test-fpurge.c (ASSERT): Likewise.
36512         * tests/test-freadable.c (ASSERT): Likewise.
36513         * tests/test-freadahead.c (ASSERT): Likewise.
36514         * tests/test-freading.c (ASSERT): Likewise.
36515         * tests/test-freadptr.c (ASSERT): Likewise.
36516         * tests/test-freadptr2.c (ASSERT): Likewise.
36517         * tests/test-freadseek.c (ASSERT): Likewise.
36518         * tests/test-freopen.c (ASSERT): Likewise.
36519         * tests/test-frexp.c (ASSERT): Likewise.
36520         * tests/test-frexpl.c (ASSERT): Likewise.
36521         * tests/test-fseek.c (ASSERT): Likewise.
36522         * tests/test-fseeko.c (ASSERT): Likewise.
36523         * tests/test-fstrcmp.c (ASSERT): Likewise.
36524         * tests/test-ftell.c (ASSERT): Likewise.
36525         * tests/test-ftello.c (ASSERT): Likewise.
36526         * tests/test-func.c (ASSERT): Likewise.
36527         * tests/test-fwritable.c (ASSERT): Likewise.
36528         * tests/test-fwriting.c (ASSERT): Likewise.
36529         * tests/test-getdelim.c (ASSERT): Likewise.
36530         * tests/test-getline.c (ASSERT): Likewise.
36531         * tests/test-i-ring.c (ASSERT): Likewise.
36532         * tests/test-iconv-utf.c (ASSERT): Likewise.
36533         * tests/test-iconv.c (ASSERT): Likewise.
36534         * tests/test-isfinite.c (ASSERT): Likewise.
36535         * tests/test-isnand.c (ASSERT): Likewise.
36536         * tests/test-isnanf.c (ASSERT): Likewise.
36537         * tests/test-isnanl.h (ASSERT): Likewise.
36538         * tests/test-ldexpl.c (ASSERT): Likewise.
36539         * tests/test-linked_list.c (ASSERT): Likewise.
36540         * tests/test-linkedhash_list.c (ASSERT): Likewise.
36541         * tests/test-localename.c (ASSERT): Likewise.
36542         * tests/test-lseek.c (ASSERT): Likewise.
36543         * tests/test-mbscasecmp.c (ASSERT): Likewise.
36544         * tests/test-mbscasestr1.c (ASSERT): Likewise.
36545         * tests/test-mbscasestr2.c (ASSERT): Likewise.
36546         * tests/test-mbscasestr3.c (ASSERT): Likewise.
36547         * tests/test-mbscasestr4.c (ASSERT): Likewise.
36548         * tests/test-mbschr.c (ASSERT): Likewise.
36549         * tests/test-mbscspn.c (ASSERT): Likewise.
36550         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
36551         * tests/test-mbspbrk.c (ASSERT): Likewise.
36552         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
36553         * tests/test-mbsrchr.c (ASSERT): Likewise.
36554         * tests/test-mbsspn.c (ASSERT): Likewise.
36555         * tests/test-mbsstr1.c (ASSERT): Likewise.
36556         * tests/test-mbsstr2.c (ASSERT): Likewise.
36557         * tests/test-mbsstr3.c (ASSERT): Likewise.
36558         * tests/test-memchr2.c (ASSERT): Likewise.
36559         * tests/test-memmem.c (ASSERT): Likewise.
36560         * tests/test-open.c (ASSERT): Likewise.
36561         * tests/test-printf-frexp.c (ASSERT): Likewise.
36562         * tests/test-printf-frexpl.c (ASSERT): Likewise.
36563         * tests/test-printf-posix.c (ASSERT): Likewise.
36564         * tests/test-quotearg.c (ASSERT): Likewise.
36565         * tests/test-rbtree_list.c (ASSERT): Likewise.
36566         * tests/test-rbtree_oset.c (ASSERT): Likewise.
36567         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
36568         * tests/test-round1.c (ASSERT): Likewise.
36569         * tests/test-roundf1.c (ASSERT): Likewise.
36570         * tests/test-roundl.c (ASSERT): Likewise.
36571         * tests/test-signbit.c (ASSERT): Likewise.
36572         * tests/test-sleep.c (ASSERT): Likewise.
36573         * tests/test-snprintf-posix.c (ASSERT): Likewise.
36574         * tests/test-snprintf.c (ASSERT): Likewise.
36575         * tests/test-sprintf-posix.c (ASSERT): Likewise.
36576         * tests/test-stat-time.c (ASSERT): Likewise.
36577         * tests/test-strcasestr.c (ASSERT): Likewise.
36578         * tests/test-strerror.c (ASSERT): Likewise.
36579         * tests/test-striconv.c (ASSERT): Likewise.
36580         * tests/test-striconveh.c (ASSERT): Likewise.
36581         * tests/test-striconveha.c (ASSERT): Likewise.
36582         * tests/test-strsignal.c (ASSERT): Likewise.
36583         * tests/test-strstr.c (ASSERT): Likewise.
36584         * tests/test-strtod.c (ASSERT): Likewise.
36585         * tests/test-trunc1.c (ASSERT): Likewise.
36586         * tests/test-trunc2.c (ASSERT): Likewise.
36587         * tests/test-truncf1.c (ASSERT): Likewise.
36588         * tests/test-truncf2.c (ASSERT): Likewise.
36589         * tests/test-truncl.c (ASSERT): Likewise.
36590         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
36591         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
36592         * tests/test-vasnprintf.c (ASSERT): Likewise.
36593         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
36594         * tests/test-vasprintf.c (ASSERT): Likewise.
36595         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
36596         * tests/test-vprintf-posix.c (ASSERT): Likewise.
36597         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
36598         * tests/test-vsnprintf.c (ASSERT): Likewise.
36599         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
36600         * tests/test-wcwidth.c (ASSERT): Likewise.
36601         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
36602         * tests/test-xprintf-posix.c (ASSERT): Likewise.
36603         * tests/test-xvasprintf.c (ASSERT): Likewise.
36604         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
36605         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
36606         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
36607         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
36608         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
36609         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
36610         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
36611         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
36612         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
36613         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
36614         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
36615         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
36616         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
36617         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
36618         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
36619         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
36620         * tests/unictype/test-block_list.c (ASSERT): Likewise.
36621         * tests/unictype/test-block_of.c (ASSERT): Likewise.
36622         * tests/unictype/test-block_test.c (ASSERT): Likewise.
36623         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
36624         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
36625         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
36626         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
36627         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
36628         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
36629         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
36630         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
36631         * tests/unictype/test-combining.c (ASSERT): Likewise.
36632         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
36633         * tests/unictype/test-digit.c (ASSERT): Likewise.
36634         * tests/unictype/test-mirror.c (ASSERT): Likewise.
36635         * tests/unictype/test-numeric.c (ASSERT): Likewise.
36636         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
36637         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
36638         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
36639         * tests/unictype/test-scripts.c (ASSERT): Likewise.
36640         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
36641         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
36642         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
36643         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
36644         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
36645         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
36646         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
36647         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
36648         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
36649         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
36650         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
36651         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
36652         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
36653         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
36654         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
36655         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
36656         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
36657         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
36658         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
36659         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
36660         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
36661         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
36662         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
36663         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
36664         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
36665         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
36666         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
36667         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
36668         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
36669         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
36670         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
36671         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
36672         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
36673         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
36674         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
36675         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
36676         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
36677         Reported by Eric Blake.
36678
36679 2008-04-11  Bruno Haible  <bruno@clisp.org>
36680
36681         * lib/wchar.in.h: Tweak comment.
36682
36683 2008-04-11  Bruno Haible  <bruno@clisp.org>
36684
36685         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
36686         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
36687         gl_COMMON.
36688         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
36689
36690 2008-04-11  Bruno Haible  <bruno@clisp.org>
36691
36692         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
36693
36694 2008-04-11  Simon Josefsson  <simon@josefsson.org>
36695
36696         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
36697         of attempting to use non-existing /dev/*random.  Based on patch
36698         from Adam Strzelecki <ono@java.pl> in
36699         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
36700
36701 2008-04-08  Bruno Haible  <bruno@clisp.org>
36702
36703         Add tentative support for emx+gcc.
36704         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
36705         * lib/fpurge.c (fpurge): Likewise.
36706         * lib/freadable.c (freadable): Likewise.
36707         * lib/freadahead.c (freadahead): Likewise.
36708         * lib/freading.c (freading): Likewise.
36709         * lib/freadptr.c (freadptr): Likewise.
36710         * lib/freadseek.c (freadptrinc): Likewise.
36711         * lib/fseeko.c (rpl_fseeko): Likewise.
36712         * lib/fseterr.c (fseterr): Likewise.
36713         * lib/fwritable.c (fwritable): Likewise.
36714         * lib/fwriting.c (fwriting): Likewise.
36715         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
36716
36717 2008-04-09  Eric Blake  <ebb9@byu.net>
36718
36719         Avoid some autoconf warnings.
36720         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
36721         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
36722         * m4/afs.m4 (gl_AFS): Likewise.
36723         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
36724         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
36725         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36726         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
36727         (gl_INTEGER_TYPE_SUFFIX): Likewise.
36728         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
36729         (AC_CHECK_DECLS_ONCE): Likewise.
36730         Rename file...
36731         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
36732         gnulib-tool requires autoconf 2.59 or better.
36733         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
36734
36735 2008-04-08  Eric Blake  <ebb9@byu.net>
36736
36737         Use 'git describe --match' if present (added in git 1.5.5).
36738         * build-aux/git-version-gen: Limit result to tags that match 'v*'
36739         if possible.
36740
36741 2008-04-08  Bruno Haible  <bruno@clisp.org>
36742
36743         Add tentative support for OpenServer.
36744         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
36745         _ptr, _cnt.
36746         * lib/fpurge.c (fpurge): Likewise.
36747         * lib/freadable.c (freadable): Likewise.
36748         * lib/freadahead.c (freadahead): Likewise.
36749         * lib/freading.c (freading): Likewise.
36750         * lib/freadptr.c (freadptr): Likewise.
36751         * lib/freadseek.c (freadptrinc): Likewise.
36752         * lib/fseeko.c (rpl_fseeko): Likewise.
36753         * lib/fseterr.c (fseterr): Likewise.
36754         * lib/fwritable.c (fwritable): Likewise.
36755         * lib/fwriting.c (fwriting): Likewise.
36756         Reported by Roger Cornelius <rac@tenzing.org> and
36757         Brian K. White <brian@aljex.com>.
36758
36759 2008-04-06  Jim Meyering  <meyering@redhat.com>
36760
36761         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
36762
36763 2008-04-06  Bruno Haible  <bruno@clisp.org>
36764
36765         Avoid possible error with non-ASCII bytes in UTF-8 locales.
36766         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
36767         * tests/test-printf-posix.sh: Likewise.
36768         * tests/test-vfprintf-posix.sh: Likewise.
36769         * tests/test-vprintf-posix.sh: Likewise.
36770         * tests/test-xprintf-posix.sh: Likewise.
36771
36772 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36773
36774         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
36775         hide error from 'ls', needed on OS/2.
36776         Report by Elbert Pol <elbert.pol@gmail.com>.
36777
36778 2008-04-04  Eric Blake  <ebb9@byu.net>
36779
36780         Make test-fseeko.c failures meaningful.
36781         * tests/test-fseeko.c: Print line number on failure.
36782         * tests/test-fseek.c: Likewise.
36783         Reported by Nelson H. F. Beebe.
36784
36785         Improve strtod bug detection check.
36786         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
36787         required for Solaris 10.
36788         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
36789
36790 2008-04-04  Bruno Haible  <bruno@clisp.org>
36791
36792         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
36793         by m4/setenv.m4.
36794
36795 2008-04-03  Eric Blake  <ebb9@byu.net>
36796
36797         Ensure sane .version contents.
36798         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
36799         version string.
36800         * build-aux/git-version-gen: Improve documentation.
36801
36802         Make GNU make output nicer.
36803         * top/GNUmakefile [!_have-Makefile]: Add dependency on
36804         MAKECMDGOALS to enforce message for all command line targets.  Set
36805         srcdir for use in maint.mk.
36806
36807         Another maintainer tweak.
36808         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
36809         a target that regenerates version.
36810
36811 2008-04-03  Jim Meyering  <meyering@redhat.com>
36812
36813         vc-list-files: don't cause coreutils "make po-check" failure
36814         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
36815
36816 2008-04-03  Eric Blake  <ebb9@byu.net>
36817
36818         Allow VPATH usage of vc-list-files.
36819         * build-aux/vc-list-files (scriptversion): Add timestamp.
36820         (options): Add --help, --version, -C.
36821         (CVS): Support installed cvsu.
36822
36823 2008-04-02  Bruno Haible  <bruno@clisp.org>
36824
36825         Avoid some "statement with no effect" warnings from gcc.
36826         * tests/test-wctype.c (main): Explicitly ignore unused values.
36827         Reported by Jim Meyering.
36828
36829 2008-04-02  Jim Meyering  <meyering@redhat.com>
36830
36831         Avoid some warnings from "gcc -Wshadow".
36832         * tests/test-frexp.c (exp): Define to a different identifier.
36833         * tests/test-frexpl.c (exp): Likewise.
36834
36835 2008-04-03  Jim Meyering  <meyering@redhat.com>
36836
36837         bootstrap: remove dangling *.[ch] symlinks from lib
36838         * build-aux/bootstrap [dangling symlink removal]: Move find's
36839         -depth option to precede all others, to avoid a warning.
36840         Remove *.[ch] files too, and from "$source_base" (usually lib/).
36841
36842 2008-04-02  Bruno Haible  <bruno@clisp.org>
36843
36844         Avoid some warnings from "gcc -Wshadow".
36845         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
36846         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
36847         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
36848         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
36849         Reported by Jim Meyering.
36850
36851 2008-04-01  Bruno Haible  <bruno@clisp.org>
36852
36853         Fix test to work on IRIX 6.5 with cc.
36854         * tests/test-math.c (numeric_equal): New function.
36855         (main): Use it.
36856
36857 2008-04-01  Bruno Haible  <bruno@clisp.org>
36858
36859         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
36860
36861 2008-04-01  Bruno Haible  <bruno@clisp.org>
36862
36863         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
36864         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36865         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
36866         (Depends-on): Remove math.
36867
36868         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
36869         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36870         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
36871         (Depends-on): Remove math.
36872
36873         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
36874         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36875         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
36876         (Depends-on): Remove math.
36877         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
36878         (Depends-on): Remove math.
36879
36880         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
36881         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36882         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
36883         (Depends-on): Remove math.
36884         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
36885         (Depends-on): Remove math.
36886
36887         * tests/test-round1.c: Include nan.h.
36888         (main): Use NaNd instead of NAN.
36889         * modules/round-tests (Files): Add tests/nan.h.
36890
36891         * tests/test-trunc1.c: Include nan.h.
36892         (main): Use NaNd instead of NAN.
36893         * modules/trunc-tests (Files): Add tests/nan.h.
36894
36895         * tests/test-roundf1.c: Include nan.h.
36896         (main): Use NaNf instead of NAN.
36897         * modules/roundf-tests (Files): Add tests/nan.h.
36898
36899         * tests/test-truncf1.c: Include nan.h.
36900         (main): Use NaNf instead of NAN.
36901         * modules/truncf-tests (Files): Add tests/nan.h.
36902
36903         * tests/test-ceilf1.c: Include nan.h.
36904         (main): Use NaNf instead of NAN.
36905         * modules/ceilf-tests (Files): Add tests/nan.h.
36906
36907         * tests/test-floorf1.c: Include nan.h.
36908         (main): Use NaNf instead of NAN.
36909         * modules/floorf-tests (Files): Add tests/nan.h.
36910
36911         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
36912         (main): Use NaNf instead of NAN.
36913         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
36914
36915         * tests/test-isnand.c: Include nan.h instead of <math.h>.
36916         (main): Use NaNd instead of NAN.
36917         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
36918
36919         * tests/test-frexp.c: Include nan.h.
36920         (main): Use NaNd instead of NAN.
36921         * modules/frexp-tests (Files): Add tests/nan.h.
36922
36923         * lib/isnan.c: Don't include <math.h>.
36924         (FUNC): Don't use NAN macro.
36925         * modules/isnand-nolibm (Depends-on): Remove math.
36926         * modules/isnanf-nolibm (Depends-on): Remove math.
36927         * modules/isnanl (Depends-on): Remove math.
36928         * modules/isnanl-nolibm (Depends-on): Remove math.
36929
36930         * tests/nan.h: New file.
36931
36932 2008-04-01  Eric Blake  <ebb9@byu.net>
36933
36934         Fix typos.
36935         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
36936         values to be the right type.
36937
36938         For now, cater to gnulib strtod inaccuracies.
36939         * tests/test-strtod.c (main): Allow 1-ulp error on expected
36940         fractional results.  While not as nice from a QoI perspective, it
36941         is a quicker patch than correctly implementing decimal to binary
36942         rounding.
36943
36944 2008-03-31  Eric Blake  <ebb9@byu.net>
36945
36946         Guarantee a definition of NAN.
36947         * lib/math.in.h (NAN): Define if missing.
36948         * tests/test-math.c (main): Test it.
36949         * doc/posix-headers/math.texi (math.h): Document this.
36950         * lib/isnan.c (rpl_isnand): Use it.
36951         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
36952         * tests/test-floorf1.c (NaN): Likewise.
36953         * tests/test-frexp.c (NaN): Likewise.
36954         * tests/test-isnand.c (NaN): Likewise.
36955         * tests/test-isnanf.c (NaN): Likewise.
36956         * tests/test-round1.c (NaN): Likewise.
36957         * tests/test-roundf1.c (NaN): Likewise.
36958         * tests/test-snprintf-posix.h (NaN): Likewise.
36959         * tests/test-sprintf-posix.h (NaN): Likewise.
36960         * tests/test-trunc1.c (NaN): Likewise.
36961         * tests/test-truncf1.c (NaN): Likewise.
36962         * tests/test-vasnprintf-posix.c (NaN): Likewise.
36963         * tests/test-vasprintf-posix.c (NaN): Likewise.
36964         * modules/isnand-nolibm (Depends-on): Add math.
36965         * modules/isnanf-nolibm (Depends-on): Likewise.
36966         * modules/isnanl (Depends-on): Likewise.
36967         * modules/isnanl-nolibm (Depends-on): Likewise.
36968         * modules/snprintf-posix-tests (Depends-on): Likewise.
36969         * modules/sprintf-posix-tests (Depends-on): Likewise.
36970         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
36971         * modules/vsprintf-posix-tests (Depends-on): Likewise.
36972         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
36973         * modules/vasprintf-posix-tests (Depends-on): Likewise.
36974
36975 2008-03-31  Bruno Haible  <bruno@clisp.org>
36976
36977         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
36978         * doc/posix-functions/strtod.texi: Likewise.
36979
36980 2008-03-31  Bruno Haible  <bruno@clisp.org>
36981
36982         * tests/test-strtod.c (main): Don't use C99 syntax.
36983
36984 2008-03-31  Bruno Haible  <bruno@clisp.org>
36985
36986         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
36987         Reported by Eric Blake.
36988
36989 2008-03-31  Jim Meyering  <meyering@redhat.com>
36990
36991         Don't compare actual signbit return values.
36992         * tests/test-strtod.c (main): Rather, compare only their
36993         zero/non-zero nature.
36994
36995 2008-03-31  Eric Blake  <ebb9@byu.net>
36996
36997         More strtod documentation.
36998         * doc/posix-functions/strtod.texi (strtod): Interpret more test
36999         failures as distinct bugs.
37000
37001 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
37002
37003         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
37004         Problem reported by Erik Benada in
37005         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
37006
37007 2008-03-30  Bruno Haible  <bruno@clisp.org>
37008
37009         * tests/test-strtod.c: Add comments about which assertion fails on which
37010         platform.
37011         * doc/posix-functions/strtod.texi: Add info about many more platforms.
37012
37013 2008-03-30  Eric Blake  <ebb9@byu.net>
37014
37015         Test signbit behavior on zeros.
37016         * tests/test-signbit.c (test_signbitf): Add tests for zero.
37017         (test_signbitd, test_signbitl): Likewise.
37018
37019         More strtod touchups.
37020         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
37021         sign of negative underflow, for now.  Use .5, not .1.
37022         * doc/posix-functions/strtod.texi (strtod): Mention these
37023         limitations.
37024         Reported by Jim Meyering.
37025
37026 2008-03-30  Bruno Haible  <bruno@clisp.org>
37027
37028         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
37029         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
37030
37031 2008-03-30  Bruno Haible  <bruno@clisp.org>
37032
37033         Avoid failure when attempting to return empty iconv results on some
37034         platforms.
37035         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
37036         allocation, don't report ENOMEM when the resulting string is empty.
37037
37038 2008-03-30  Bruno Haible  <bruno@clisp.org>
37039
37040         Fix buffer overrun.
37041         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
37042         Don't consider the width for tmp_length. Check count against tmp_length
37043         before doing the padding. Ensure enough allocation during padding.
37044
37045 2008-03-30  Eric Blake  <ebb9@byu.net>
37046
37047         strtod touchups.
37048         * lib/strtod.c (strtod): Avoid compiler warnings.
37049         Reported by Jim Meyering.
37050
37051 2008-03-30  Bruno Haible  <bruno@clisp.org>
37052
37053         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
37054         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
37055         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
37056         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
37057         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
37058         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
37059         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
37060         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
37061
37062         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
37063         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
37064         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
37065         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
37066         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
37067         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
37068         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
37069         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
37070
37071         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
37072         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
37073         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
37074         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
37075         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
37076         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
37077         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
37078         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
37079
37080         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
37081         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
37082
37083         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
37084         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
37085
37086         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
37087         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
37088
37089         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
37090         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
37091         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
37092
37093         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
37094         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
37095         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
37096
37097         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
37098         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
37099         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
37100
37101         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
37102         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
37103         * modules/vasprintf (Depends-on): Add EOVERFLOW.
37104
37105         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
37106         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
37107         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
37108         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
37109         (Depends-on): Add EOVERFLOW.
37110         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
37111         (Depends-on): Add EOVERFLOW.
37112         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
37113         (Depends-on): Add EOVERFLOW.
37114         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
37115         (Depends-on): Add EOVERFLOW.
37116         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
37117         (Depends-on): Add EOVERFLOW.
37118         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
37119         (Depends-on): Add EOVERFLOW.
37120         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
37121         (Depends-on): Add EOVERFLOW.
37122         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
37123         (Depends-on): Add EOVERFLOW.
37124
37125         * lib/sprintf.c (EOVERFLOW): Remove fallback.
37126         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
37127         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
37128
37129         * lib/snprintf.c (EOVERFLOW): Remove fallback.
37130         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
37131         * modules/snprintf (Depends-on): Add EOVERFLOW.
37132
37133         * lib/poll.c (EOVERFLOW): Remove fallback.
37134         * modules/poll (Depends-on): Add EOVERFLOW.
37135
37136         * lib/getugroups.c (EOVERFLOW): Remove fallback.
37137         * modules/getugroups (Depends-on): Add EOVERFLOW.
37138
37139         * lib/getdelim.c (EOVERFLOW): Remove fallback.
37140         * modules/getdelim (Depends-on): Add EOVERFLOW.
37141
37142         * lib/ftell.c (EOVERFLOW): Remove fallback.
37143         * modules/ftell (Depends-on): Add EOVERFLOW.
37144
37145         * lib/fprintf.c (EOVERFLOW): Remove fallback.
37146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
37147         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
37148
37149         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
37150
37151         * modules/EOVERFLOW-tests: New file.
37152         * tests/test-EOVERFLOW.c: New file.
37153
37154         * modules/EOVERFLOW: New file.
37155         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
37156
37157 2008-03-30  Bruno Haible  <bruno@clisp.org>
37158
37159         Fix bug introduced on 2007-06-10.
37160         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
37161         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
37162
37163 2008-03-30  Bruno Haible  <bruno@clisp.org>
37164
37165         Improve freadseek's efficiency after ungetc.
37166         * lib/freadseek.c: Include freadahead.h.
37167         (freadptrinc): New function, extracted from freadseek.
37168         (freadseek): Use it in a loop. Use freadahead to determine the number
37169         of loop iterations.
37170         * modules/freadseek (Depends-on): Add freadahead.
37171         (configure.ac): Require AC_C_INLINE.
37172
37173 2008-03-30  Bruno Haible  <bruno@clisp.org>
37174
37175         * lib/freadseek.c (freadseek): Don't ignore the return value of
37176         freadptr.
37177
37178 2008-03-29  Eric Blake  <ebb9@byu.net>
37179
37180         Add hex float support.
37181         * modules/strtod (Depends-on): Add c-ctype.
37182         (Link): Mention POW_LIB.
37183         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
37184         whitespace between 'e' and exponent.
37185         * tests/test-strtod.c (main): Enable hex float tests.
37186         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
37187         now provides.
37188
37189         Document various strtod bugs, with some fixes.
37190         * doc/posix-functions/strtod.texi (strtod): Document bugs with
37191         "-0x", "inf", "nan", and hex constants.
37192         * doc/posix-functions/atof.texi (atof): Likewise.
37193         * modules/stdlib (Makefile.am): Support strtod.
37194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37195         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
37196         detect additional strtod bugs.
37197         * lib/stdlib.in.h (rpl_strtod): Add declarations.
37198         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
37199         bool where appropriate.  Parse 'inf' and 'nan'.
37200         * tests/test-strtod.c: New file.
37201         * modules/strtod (Depends-on): Add stdbool, stdlib.
37202         (configure.ac): Turn on module indicator.
37203         * modules/strtod-tests: New module.
37204
37205 2008-03-29  Eric Blake  <ebb9@byu.net>
37206
37207         Fix ftell on mingw.
37208         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
37209         * modules/ftell-tests (Depends-on): Add binary-io.
37210         * modules/ftello-tests (Depends-on): Likewise.
37211         * tests/test-ftell.c (main): Enhance test to cover behavior after
37212         ungetc.  Enforce binary mode.
37213         * tests/test-ftello.c (main): Likewise.
37214
37215         Pass test-freadseek on cygwin.
37216         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
37217         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
37218         ungetc buffer.
37219
37220         * tests/test-fflush2.c (main): Fix typo.
37221
37222 2008-03-29  Bruno Haible  <bruno@clisp.org>
37223
37224         * tests/test-fflush2.c (main): Temporarily disable the contents of
37225         this test.
37226         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
37227         Reported by Eric Blake.
37228
37229 2008-03-28  Simon Josefsson  <simon@josefsson.org>
37230
37231         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
37232         (GC_SHA224_DIGEST_SIZE): Add.
37233
37234         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
37235         (gc_hash_digest_length): Likewise.
37236         (gc_hash_buffer): Likewise.
37237
37238 2008-03-25  Bruno Haible  <bruno@clisp.org>
37239
37240         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
37241         detail which gettext release to use.
37242         Reported by Simon Josefsson.
37243
37244 2008-03-26  Jim Meyering  <meyering@redhat.com>
37245
37246         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
37247         * modules/gnumakefile (clean-GNUmakefile): Also, use
37248         test ... && ... || : syntax rather than if-then ... fi.
37249
37250         gnumakefile: Don't double-quote-expand $(VPATH) value.
37251         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
37252
37253 2008-03-24  Eric Blake  <ebb9@byu.net>
37254
37255         Alter GNUmakefile to install into top directory.
37256         * modules/maintainer-makefile: Split, and add dependency...
37257         * modules/gnumakefile: to this new module.
37258         * build-aux/GNUmakefile: Move...
37259         * top/GNUmakefile: ...here.
37260         * build-aux/maint.mk: Move...
37261         * top/maint.mk: ...here.
37262         * MODULES.html.sh (Support for maintaining...): Document new
37263         module.
37264
37265 2008-03-23  Bruno Haible  <bruno@clisp.org>
37266
37267         * gnulib-tool: New options --vc-files, --no-vc-files.
37268         (func_usage): Document them.
37269         (vc_files): New variable.
37270         (func_import): Consider vc_files.
37271         (func_create_testdir): Set vc_files to empty.
37272         Suggested by Jim Meyering and Karl Berry.
37273
37274 2008-03-23  Bruno Haible  <bruno@clisp.org>
37275
37276         Fix regex compilation error on HP-UX 11.
37277         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
37278         * modules/regex (Files): Add m4/mbstate_t.m4.
37279         Reported by Ton Voon <ton.voon@altinity.com>.
37280
37281 2008-03-23  Bruno Haible  <bruno@clisp.org>
37282
37283         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
37284
37285 2008-03-23  Eric Blake  <ebb9@byu.net>
37286             Bruno Haible  <bruno@clisp.org>
37287
37288         Install files from top/ in the destination directory.
37289         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
37290         augmentation also for the files from top/.
37291         (func_import, func_create_testdir): Rewrite file names:
37292         top/filename -> filename.
37293
37294 2008-03-23  Bruno Haible  <bruno@clisp.org>
37295
37296         Tweak "gnulib --version" output.
37297         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
37298
37299 2008-03-23  Bruno Haible  <bruno@clisp.org>
37300
37301         Tweak "gnulib --version" output.
37302         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
37303         rather than contents of ChangeLog, when possible.
37304
37305 2008-03-21  Eric Blake  <ebb9@byu.net>
37306
37307         More --version tweaks.
37308         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
37309         date of last ChangeLog entry.
37310
37311 2008-03-21  Jim Meyering  <meyering@redhat.com>
37312
37313         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
37314
37315 2008-03-20  Eric Blake  <ebb9@byu.net>
37316
37317         VPATH fix.
37318         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
37319
37320 2008-03-20  Simon Josefsson  <simon@josefsson.org>
37321
37322         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
37323         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
37324
37325 2008-03-20  Eric Blake  <ebb9@byu.net>
37326
37327         Sync GNUmakefile with coreutils.
37328         * build-aux/GNUmakefile (have-Makefile): Rename...
37329         (_have-Makefile): ...to this, for namespace consideration.
37330         (GNUmakefile.cfg): Include, if present.
37331         (_autoreconf): Define a default.
37332         (_is-dist-target): New rule for rebuilds to pick up intra-release
37333         version.
37334         (maint-cfg.mk): Rename...
37335         (cfg.mk): ...to this.
37336
37337 2008-03-18  Jim Meyering  <meyering@redhat.com>
37338
37339         New script and module: mktempd
37340         * MODULES.html.sh (maint+release support): Add mktempd.
37341         * build-aux/mktempd: New file.
37342         * modules/mktempd: New file.
37343
37344 2008-03-15  Jim Meyering  <meyering@redhat.com>
37345
37346         Undo last change.
37347         * lib/sha1.c, lib/md5.c: 63 != ~63.
37348         Reported by Andreas Schwab.
37349
37350         sha1.c, md5.c: Hoist a redundant expression.
37351         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
37352         "ctx->buflen" only once, before calling *_process_block.
37353         * lib/md5.c (md5_process_bytes): Likewise.
37354
37355 2008-03-14  Eric Blake  <ebb9@byu.net>
37356
37357         Bump copyright year in files generated by gnulib-tool.
37358         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
37359         gnulib-tool, rather than hard-coding it.
37360
37361         Fix 'gnulib-tool --version' output to work with git.
37362         * gnulib-tool (func_gnulib_dir): New function, extracted from...
37363         (startup): ...here.
37364         (func_version): Use it to invoke git-version-gen, rather than
37365         relying on CVS keyword expansion.  Modernize wording.
37366         (cvsdatestamp, last_checkin_date, version): Kill unused
37367         variables.
37368
37369 2008-03-12  Jim Meyering  <meyering@redhat.com>
37370
37371         Recognize optional cast of the argument to free.
37372         * build-aux/useless-if-before-free: Update regexps.
37373
37374         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
37375
37376 2008-03-11  Bruno Haible  <bruno@clisp.org>
37377
37378         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
37379         by a single package.
37380         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
37381         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
37382         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
37383         Reported by Sam Steingold <sds@gnu.org>.
37384
37385 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37386
37387         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
37388         repositories.
37389
37390 2008-03-11  Bruno Haible  <bruno@clisp.org>
37391
37392         Avoid conflicts between local macro definitions.
37393         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
37394         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
37395
37396 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
37397             Bruno Haible  <bruno@clisp.org>
37398
37399         Make va_copy work with some version of xlc on AIX 5.1.
37400         * lib/stdarg.in.h: New file.
37401         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
37402         On AIX, use a <stdarg.h> file substitute.
37403         * modules/stdarg (Files): Add lib/stdarg.in.h.
37404         (Depends-on): Add include_next.
37405         (Makefile.am): Build a stdarg.h substitute if requested.
37406         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
37407
37408 2008-03-10  Bruno Haible  <bruno@clisp.org>
37409
37410         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
37411         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37412         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
37413
37414 2008-03-10  Bruno Haible  <bruno@clisp.org>
37415
37416         * modules/stdlib (Depends-on): Add include_next, remove
37417         absolute-header.
37418
37419 2008-03-09  Bruno Haible  <bruno@clisp.org>
37420
37421         * lib/freadahead.h (freadahead): Document more precisely.
37422         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
37423         the sum of both buffer sizes.
37424         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
37425         * NEWS: Document the change.
37426
37427 2008-03-09  Bruno Haible  <bruno@clisp.org>
37428
37429         Extend freadptr to return also the buffer size.
37430         * lib/freadptr.h (freadptr): Add sizep argument.
37431         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
37432         (freadptr): Add sizep argument. Determine buffer size like freadahead
37433         does.
37434         * tests/test-freadptr.c: Don't include freadahead.h.
37435         (main): Adapt for new calling convention of freadptr.
37436         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
37437         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
37438         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
37439         tests/test-freadptr2.sh.
37440         (Depends): Remove freadahead.
37441         (TESTS): Add test-freadptr2.sh.
37442         (check_PROGRAMS): Add test-freadptr2.
37443
37444 2008-03-09  Bruno Haible  <bruno@clisp.org>
37445
37446         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
37447         Report and solution by Simon Josefsson.
37448
37449 2008-03-06  Bruno Haible  <bruno@clisp.org>
37450
37451         Make fflush after ungetc work on BSD platforms.
37452         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
37453         * tests/test-fflush2.c: New file.
37454         * tests/test-fflush2.sh: New file.
37455         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
37456         tests/test-fflush2.c.
37457         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
37458         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
37459
37460 2008-03-06  Eric Blake  <ebb9@byu.net>
37461
37462         Likewise for ftello.
37463         * modules/ftello (Dependencies): Add extensions.
37464         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
37465
37466 2008-03-06  Bruno Haible  <bruno@clisp.org>
37467
37468         * modules/fseeko (Dependencies): Add extensions.
37469         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
37470         Needed on glibc systems.
37471
37472 2008-03-06  Bruno Haible  <bruno@clisp.org>
37473
37474         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
37475         email address.
37476         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37477
37478 2008-03-06  Bruno Haible  <bruno@clisp.org>
37479
37480         * users.txt: Add libgnupdf.
37481
37482 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
37483
37484         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
37485         (Header File Substitutes, Function Substitutes,
37486         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
37487         (Build robot for gnulib): Fix typo.
37488
37489 2008-03-06  Bruno Haible  <bruno@clisp.org>
37490
37491         * doc/gnulib-tool.texi (VCS Issues): Small updates.
37492         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37493
37494 2008-03-06  Bruno Haible  <bruno@clisp.org>
37495
37496         * doc/func.texi: New file, extracted from doc/gnulib.texi.
37497         * doc/gnulib.texi: Include it.
37498
37499 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37500
37501         * modules/func (License): Change license to unlimited; there was
37502         no LGPL parts in the module anyway.
37503
37504 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37505
37506         * modules/__func__: Renamed to modules/func.
37507         * modules/__func__-tests: Renamed to modules/func-tests.
37508         * tests/test-__func__.c: Renamed to tests/test-func.c.
37509         * m4/__func__.m4: Renamed to m4/func.m4.
37510         * doc/gnulib.texi (__func__): Section renamed to func.
37511         Suggested by Eric Blake <ebb9@byu.net>.
37512
37513 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37514
37515         * doc/gnulib.texi (__func__): Use C99 terminology when talking
37516         about __func__.  Make example self-contained.  Suggested by Eric
37517         Blake <ebb9@byu.net>.
37518
37519         * tests/test-__func__.c (main): Avoid extraneous () around __func.
37520         Suggested by Eric Blake <ebb9@byu.net>.
37521
37522 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37523
37524         * modules/__func__: New file.
37525         * modules/__func__-tests: New file.
37526         * tests/test-__func__.c: New file.
37527         * m4/__func__.m4: New file.
37528         * doc/gnulib.texi (__func__): Document __func__ module.
37529
37530 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37531
37532         * modules/byteswap (License): Re-license as LGPLv2+.
37533
37534 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37535
37536         * doc/Makefile: Add pdf target.
37537
37538 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37539
37540         * modules/inline (License): Use 'unlimited', since there are only
37541         *.m4 files in this module.
37542
37543 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
37544             Bruno Haible  <bruno@clisp.org>
37545
37546         Add support for HP C 7.1 on OpenVMS 8.3.
37547         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
37548
37549 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
37550
37551         Update VMS specifics.
37552         * lib/getopt.c [VMS]: Remove include of unixlib.h.
37553
37554 2008-03-02  Jim Meyering  <meyering@redhat.com>
37555
37556         Remove the last dependency on the "free" module.
37557         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
37558         Reported by Bob Proulx.
37559
37560         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
37561
37562         Remove useless "if" tests before free.  Deprecate "free" module.
37563         * doc/posix-functions/free.texi: Mention that this
37564         module is no longer useful.
37565         * modules/free (Notice): Say this module is obsolete.
37566         * modules/readutmp (Depends-on): Remove free.
37567         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
37568         * lib/putenv.c (putenv): Likewise.
37569         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
37570         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
37571         * tests/test-c-strcasestr.c (main): Likewise.
37572         * tests/test-c-strstr.c (main): Likewise.
37573         * tests/test-mbscasestr1.c (main): Likewise.
37574         * tests/test-mbscasestr2.c (main): Likewise.
37575         * tests/test-mbsstr1.c (main): Likewise.
37576         * tests/test-mbsstr2.c (main): Likewise.
37577         * tests/test-memmem.c (main): Likewise.
37578         * tests/test-strcasestr.c (main): Likewise.
37579         * tests/test-striconv.c (main): Likewise.
37580         * tests/test-striconveh.c (main): Likewise.
37581         * tests/test-striconveha.c (main): Likewise.
37582         * tests/test-strstr.c (main): Likewise.
37583
37584         * build-aux/git-version-gen: Adjust a comment and the Usage string.
37585
37586         bootstrap: sync from coreutils again
37587         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
37588
37589 2008-03-01  Jim Meyering  <meyering@redhat.com>
37590
37591         bootstrap: sync from coreutils
37592         * build-aux/bootstrap (update_po_files): Copy a .po file into place
37593         also when the target doesn't exist.
37594
37595 2008-03-01  Eric Blake  <ebb9@byu.net>
37596
37597         Fix bugs in last patch.
37598         * lib/memchr2.c (memchr2): Fix typo.
37599         * tests/test-memchr2.c: Test previous bug, and don't use GNU
37600         extension.
37601         Reported by Bruce Korb.
37602
37603         New module 'memchr2'.
37604         * modules/memchr2: New file.
37605         * modules/memchr2-tests: Likewise.
37606         * lib/memchr2.h: Likewise.
37607         * lib/memchr2.c: Likewise, based on memchr.c.
37608         * tests/test-memchr2.c: New test.
37609         * MODULES.html.sh (String handling): Add memchr2.
37610
37611 2008-02-29  Bruno Haible  <bruno@clisp.org>
37612
37613         * modules/freadseek-tests: New file.
37614         * tests/test-freadseek.sh: New file.
37615         * tests/test-freadseek.c: New file.
37616
37617         New module 'freadseek'.
37618         * modules/freadseek: New file.
37619         * lib/freadseek.h: New file.
37620         * lib/freadseek.c: New file.
37621         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
37622
37623 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
37624
37625         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
37626         wydawca.
37627
37628         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
37629         program_invocation_name and program_invocation_short_name are
37630         present.
37631
37632 2008-02-28  Bruno Haible  <bruno@clisp.org>
37633
37634         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
37635         * tests/test-freadptr.sh: Also test non-seekable stdin.
37636
37637 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
37638
37639         * build-aux/bootstrap (source_base, m4_base)
37640         (doc_base, tests_base): New variables.
37641         (gnulib_tool_options): Do not hardcode base directories, use
37642         the above variables instead.
37643
37644 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
37645
37646         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
37647
37648 2008-02-28  Bruno Haible  <bruno@clisp.org>
37649
37650         * modules/freadptr-tests: New file.
37651         * tests/test-freadptr.sh: New file.
37652         * tests/test-freadptr.c: New file.
37653
37654         New module 'freadptr'.
37655         * modules/freadptr: New file.
37656         * lib/freadptr.h: New file.
37657         * lib/freadptr.c: New file.
37658         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
37659
37660 2008-02-26  Karl Berry  <karl@freefriends.org>
37661
37662         Sync from Libtool:
37663         * libltdl/argz.c (argz_add, argz_count): New functions.
37664         * libltdl/argz.in.h: Declare them.
37665         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
37666
37667 2008-02-22  Bruno Haible  <bruno@clisp.org>
37668
37669         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
37670         is a pointer type.  Needed for HP-UX 10.
37671         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
37672         * doc/posix-functions/gmtime_r.texi: Likewise.
37673         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
37674
37675 2008-02-24  Bruno Haible  <bruno@clisp.org>
37676
37677         * modules/environ-tests: New file.
37678         * tests/test-environ.c: New file.
37679
37680         New module 'environ'.
37681         * modules/environ: New file.
37682         * lib/unistd.in.h (environ): New declaration.
37683         * m4/environ.m4: New file.
37684         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
37685         after use.
37686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
37687         HAVE_DECL_ENVIRON.
37688         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
37689         HAVE_DECL_ENVIRON.
37690         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
37691         wrong claim that 'environ' is missing on some systems.
37692         * modules/execute (Depends-on): Add environ.
37693         * lib/execute.c (environ): Remove fallback declaration.
37694         * modules/pipe (Depends-on): Add environ.
37695         * lib/pipe.c (environ): Remove fallback declaration.
37696         * modules/setenv (Depends-on): Add environ.
37697         * lib/setenv.c (environ): Remove fallback declaration.
37698         * modules/unsetenv (Depends-on): Add environ.
37699         * lib/unsetenv.c (environ): Remove fallback declaration.
37700         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
37701         m4/environ.m4.
37702         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
37703         (gl_PREREQ_UNSETENV): Likewise.
37704
37705 2008-02-24  Bruno Haible  <bruno@clisp.org>
37706
37707         * doc/posix-functions/environ.texi: Document the MacOS X problem.
37708
37709 2008-02-20  Bob Proulx  <bob@proulx.com>
37710
37711         Enable use of older two part flavor 'git describe'.
37712         * build-aux/git-version-gen: If using the older two part flavor of
37713         git version then recreate the third part now present in the
37714         newer three part flavor of git describe.
37715
37716 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
37717
37718         * lib/fts.c (fts_build): Typo correction to comment.
37719
37720 2008-02-17  Bruno Haible  <bruno@clisp.org>
37721
37722         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
37723         generating no-op conflicts.
37724
37725 2008-02-17  Bruno Haible  <bruno@clisp.org>
37726
37727         Speed up by 10%.
37728         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
37729         result_entries, rather than an index-based loop.
37730
37731 2008-02-17  Bruno Haible  <bruno@clisp.org>
37732
37733         Speed up by 25%.
37734         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
37735         'hashcode_cached'.
37736         (entry_create): New function.
37737         (entry_hashcode): Use the cached hashcode if possible.
37738         (read_changelog_file, try_split_merged_entry): Use entry_create.
37739
37740 2008-02-17  Bruno Haible  <bruno@clisp.org>
37741
37742         Speed up from O(n^2) to O(n) for long ChangeLog files.
37743         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
37744         (read_changelog_file): Change implementation of entries_reversed list
37745         to rbtreehash.
37746         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
37747
37748 2008-02-17  Bruno Haible  <bruno@clisp.org>
37749
37750         New option --split-merged-entry.
37751         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
37752         (find_paragraph_end, try_split_merged_entry): New functions.
37753         (long_options): Add option --split-merged-entry.
37754         (usage): Document option --split-merged-entry.
37755         (main): Implement option --split-merged-entry.
37756         Reported by Eric Blake.
37757
37758 2008-02-17  Bruno Haible  <bruno@clisp.org>
37759
37760         * lib/git-merge-changelog.c: Include c-strstr.h.
37761         (main): Support the "git pull --rebase" situation.
37762         * modules/git-merge-changelog (Depends-on): Add c-strstr.
37763         Reported by Eric Blake.
37764
37765 2008-02-16  Eric Blake  <ebb9@byu.net>
37766
37767         Avoid doubling \ in common case of "c-maybe" quoting style.
37768         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
37769         eliding outer quotes.
37770         * lib/quotearg.h: Document this.
37771         * tests/test-quotearg.c (result_strings, inputs, results_g)
37772         (flag_results, locale_results): Test it by adding a new string to
37773         each test group.
37774         (compare_strings): Test new string.
37775
37776 2008-02-13  Eric Blake  <ebb9@byu.net>
37777
37778         Avoid trigraph quoting in default output.
37779         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
37780         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
37781         unless explicitly requested.
37782         * tests/test-quotearg.c (flag_results, main): Add additional tests.
37783
37784 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
37785
37786         Don't rely on signed integer overflowing to negative value.
37787         * lib/getugroups.c (getugroups): Include <limits.h>.
37788         Instead, compare against INT_MAX, and increment only if the test passes.
37789
37790 2008-02-13  Jim Meyering  <meyering@redhat.com>
37791         and Eric Blake  <ebb9@byu.net>
37792
37793         Avoid shadowing warning and compile errors on Linux.
37794         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
37795         forwarding macros on Linux.
37796         (dcgettext): Define a stub, for Linux.
37797         (results_g, main): Avoid warnings.
37798
37799 2008-02-12  Eric Blake  <ebb9@byu.net>
37800
37801         Silence warning in last patch.
37802         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
37803
37804         Quotearg part 4: add tests, fix c-maybe colon quoting.
37805         * lib/quotearg.h: Improve documentation.
37806         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
37807         escapes when adding outer quotes.  When quoting trigraphs, use
37808         valid C notation.  When quoting NUL, omit extra characters if next
37809         character is not digit.  Alter prototype.
37810         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
37811         callers.
37812         * modules/quotearg-tests: New module.
37813         * tests/test-quotearg.c: New test.
37814
37815 2008-02-07  Eric Blake  <ebb9@byu.net>
37816
37817         Quotearg part 3: add flag to control outer quote elision.
37818         * lib/quotearg.h (c_maybe_quoting_style): New style.
37819         (enum quoting_flags): Better documentation of flags.
37820         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
37821         c-maybe style.
37822         (quotearg_buffer_restyled): Handle new flag to elide outer
37823         quotes.
37824
37825         Quotearg part 2: add flag that can control NUL elision.
37826         * lib/quotearg.h (set_quoting_flags): New prototype.
37827         * lib/quotearg.c (struct quoting_options): Add flag field.
37828         (set_quoting_flags): New function.
37829         (quotearg_buffer_restyled): Add flags parameter.
37830         (quotearg_alloc_mem): Set the flag if length cannot be returned.
37831         (quotearg_n_options): Set the flag, since length cannot be
37832         returned.
37833         (quoting_options_from_style): Default flags correctly.
37834
37835         Quotearg part 1: more wrappers, restore quotearg_char state.
37836         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
37837         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
37838         (quotearg_colon_mem): New wrappers.
37839         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
37840         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
37841         functions.
37842         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
37843         (quotearg_colon_mem): New functions.
37844
37845 2008-02-11  Bruno Haible  <bruno@clisp.org>
37846
37847         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
37848         library in the current directory: it does not work with parallel make.
37849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37850
37851 2008-02-11  Bruno Haible  <bruno@clisp.org>
37852
37853         * .gitattributes: New file.
37854
37855 2008-02-11  Jim Meyering  <meyering@redhat.com>
37856
37857         useless-if-before-free: Fix reversed exit values.
37858         * build-aux/useless-if-before-free: Use correct values
37859         for EXIT_MATCH and EXIT_NO_MATCH.
37860
37861         * build-aux/useless-if-before-free: Close stdout carefully.
37862
37863 2008-02-10  Bruno Haible  <bruno@clisp.org>
37864
37865         New module 'git-merge-changelog'.
37866         * modules/git-merge-changelog: New file.
37867         * lib/git-merge-changelog.c: New file.
37868
37869 2008-02-10  Jim Meyering  <meyering@redhat.com>
37870
37871         useless-if-before-free: New option: --list (-l).
37872
37873         useless-if-before-free: Don't exit immediately upon open failure.
37874         * build-aux/useless-if-before-free: Exit 2 for errors.
37875         Upon failure to open a file, don't exit immediately.
37876         Rather, just warn and continue with any remaining files.
37877
37878 2008-02-10  Bruno Haible  <bruno@clisp.org>
37879
37880         New abstract list operation 'node_set_value'.
37881         * lib/gl_list.h (gl_list_node_set_value): New function.
37882         (struct gl_list_implementation): New field node_set_value.
37883         * lib/gl_list.c (gl_list_node_set_value): New function.
37884         * lib/gl_array_list.c (gl_array_node_set_value): New function.
37885         (gl_array_list_implementation): Update.
37886         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
37887         (gl_carray_list_implementation): Update.
37888         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
37889         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
37890         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
37891         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
37892         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
37893         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
37894         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
37895         Update.
37896         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
37897         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
37898         (gl_sublist_list_implementation): Update.
37899
37900 2008-02-10  Bruno Haible  <bruno@clisp.org>
37901
37902         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
37903         Needed when ELEMENT is #defined to 'some_type *'.
37904
37905 2008-02-10  Jim Meyering  <meyering@redhat.com>
37906
37907         New script and module: useless-if-before-free
37908         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
37909         * build-aux/useless-if-before-free: New file.
37910         * modules/useless-if-before-free: New file.
37911
37912         * build-aux/gitlog-to-changelog: Use committer date, not author date.
37913
37914         xstrtol_error: Fix typo.
37915         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
37916         s/exit_failure/exit_status/.
37917
37918 2008-02-09  Jim Meyering  <meyering@redhat.com>
37919
37920         New script and module: gitlog-to-changelog
37921         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
37922         * modules/gitlog-to-changelog: New file.
37923         * build-aux/gitlog-to-changelog: New file.
37924
37925 2008-02-08  Jim Meyering  <meyering@redhat.com>
37926
37927         Avoid two "parameter unused" warnings.
37928         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
37929         Mark "st" as used.
37930
37931         Use "git COMMAND", not "git-COMMAND".
37932         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
37933         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
37934         * build-aux/git-version-gen: Use "git status", not "git-status".
37935
37936 2008-02-07  Bruno Haible  <bruno@clisp.org>
37937
37938         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
37939         Avoids a crash on Windows Vista.
37940         Reported by Adam Strzelecki <ono@java.pl> via
37941         Simon Josefsson <simon@josefsson.org>.
37942
37943 2008-02-06  Bruno Haible  <bruno@clisp.org>
37944
37945         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
37946         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
37947         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
37948         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
37949         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
37950         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37951         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
37952         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
37953         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37954         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37955         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37956         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37957         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37958         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37959         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37960         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
37961         left-adjust flag.
37962         * tests/test-snprintf-posix.h (test_function): Likewise.
37963         * tests/test-sprintf-posix.h (test_function): Likewise.
37964         * tests/test-vasprintf-posix.c (test_function): Likewise.
37965         * doc/posix-functions/fprintf.texi: Update.
37966         * doc/posix-functions/printf.texi: Update.
37967         * doc/posix-functions/snprintf.texi: Update.
37968         * doc/posix-functions/sprintf.texi: Update.
37969         * doc/posix-functions/vfprintf.texi: Update.
37970         * doc/posix-functions/vprintf.texi: Update.
37971         * doc/posix-functions/vsnprintf.texi: Update.
37972         * doc/posix-functions/vsprintf.texi: Update.
37973         Reported by Peter Fales <psfales@alcatel-lucent.com>.
37974
37975 2008-02-06  Bruno Haible  <bruno@clisp.org>
37976
37977         Fix bug introduced on 2008-01-26.
37978         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
37979
37980 2008-02-06  Bruno Haible  <bruno@clisp.org>
37981
37982         Fix bug introduced on 2007-06-10.
37983         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
37984         !NEED_PRINTF_FLAG_ZERO.
37985
37986 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
37987
37988         getloadavg: use libperfstat on AIX5
37989         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
37990
37991 2008-02-03  Bruno Haible  <bruno@clisp.org>
37992
37993         * lib/diffseq.h: Add comments about required #includes.
37994         Reported by Michael Biggs <gnulib@doubleplum.net>.
37995
37996 2008-02-01  Bruno Haible  <bruno@clisp.org>
37997
37998         * users.txt: Add gnuit.
37999
38000 2008-01-31  Bruno Haible  <bruno@clisp.org>
38001
38002         * lib/md4.c (set_uint32): Mark as inline.
38003         * lib/md5.c (set_uint32): Likewise.
38004         * lib/sha1.c (set_uint32): Likewise.
38005         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
38006         * m4/md5.m4 (gl_MD5): Likewise.
38007         * m4/sha1.m4 (gl_SHA1): Likewise.
38008
38009 2008-01-31  Jim Meyering  <meyering@redhat.com>
38010
38011         Use "sizeof VAR", rather than a literal "4".
38012         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
38013         * lib/md4.c (md4_read_ctx): Likewise.
38014         * lib/sha1.c (sha1_read_ctx): Likewise.
38015
38016 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38017
38018         * tests/test-sha1.c: New file, based on test-md5.c.
38019
38020         * modules/crypto/sha1-tests: New file.
38021
38022 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38023
38024         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
38025
38026 2008-01-31  Jim Meyering  <meyering@redhat.com>
38027
38028         Prefer "sizeof v" over the equivalent "4".
38029         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
38030         * lib/md5.c (set_uint32): Likewise.
38031         * lib/sha1.c (set_uint32): Likewise.
38032
38033 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38034
38035         * lib/sha1.c (set_uint32): Mark function as static.
38036
38037 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38038
38039         md2: clarify comments to say that alignment is not required.
38040         * lib/md2.h: Remove warning about alignment in comment.
38041         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
38042         never been required.
38043
38044 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38045
38046         md4: adapt alignment constraint fix from sha1.
38047         * lib/md4.c (set_uint32): New function, from sha1.c
38048         (md4_read_ctx): Use it.
38049         (md4_finish_ctx): Doc fix.
38050         * lib/md4.h: Doc fix.
38051
38052 2008-01-31  Simon Josefsson  <simon@josefsson.org>
38053
38054         md5: adapt alignment constraint fix from sha1.
38055         * lib/md5.c (set_uint32): New function, from sha1.c
38056         (md5_read_ctx): Use it.
38057         (md5_finish_ctx): Doc fix.
38058         * lib/md5.h: Doc fix.
38059
38060 2008-01-30  Peter Palfrader  <weasel@debian.org>
38061
38062         sha1: remove the result buffer alignment constraint
38063         * lib/sha1.c (set_uint32): New function.
38064         (sha1_read_ctx): Rewrite to remove the result buffer alignment
38065         constraint.
38066         (sha1_finish_ctx): Remove comment warning about alignment constraint.
38067         * lib/sha1.h: Likewise.
38068
38069 2008-01-30  Andreas Schwab  <schwab@suse.de>
38070             Bruno Haible  <bruno@clisp.org>
38071
38072         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
38073         correct definition of LDBL_MIN_EXP.
38074
38075 2008-01-30  Karl Berry  <karl@gnu.org>
38076
38077         * config/srclist-update: try to preserve x bit on updates.
38078         * config/srclistvars.sh: update for karl.
38079
38080 2008-01-29  Jim Meyering  <meyering@redhat.com>
38081
38082         vasnprintf.c: Avoid warning about unused label
38083         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
38084         "overflow" label definition and associated code with the
38085         same cpp condition that guards the sole use of that label.
38086
38087 2008-01-26  Bruno Haible  <bruno@clisp.org>
38088
38089         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
38090         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
38091         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
38092         * lib/isnanl-nolibm.h (isnanl): Likewise.
38093         Reported by Paul Eggert <eggert@cs.ucla.edu>.
38094
38095 2008-01-26  Bruno Haible  <bruno@clisp.org>
38096
38097         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
38098         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
38099
38100 2008-01-26  Bruno Haible  <bruno@clisp.org>
38101
38102         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
38103         GCC >= 4.0 built-in.
38104         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
38105
38106 2008-01-26  Bruno Haible  <bruno@clisp.org>
38107
38108         Rename isnan, applicable to 'double' only, to isnand.
38109         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
38110         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
38111         (configure.ac): Update.
38112         (Include): Replace "isnan.h" with "isnand.h".
38113         * m4/isnand.m4: Renamed from m4/isnan.m4.
38114         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
38115         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
38116         instead of isnan.c.
38117         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
38118         instead of HAVE_ISNAN_IN_LIBC.
38119         (isnand): Renamed from isnan.
38120         * lib/isnand.c: New file.
38121         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
38122         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
38123         (Makefile.am): Update.
38124         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
38125         Include isnand.h instead of isnan.h.
38126         (main): Test isnand instead of isnan.
38127         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
38128         isnan-nolibm.
38129         * modules/frexp (Depends-on): Likewise.
38130         * modules/frexp-tests (Depends-on): Likewise.
38131         * modules/frexp-nolibm (Depends-on): Likewise.
38132         * modules/frexp-nolibm-tests (Depends-on): Likewise.
38133         * modules/isfinite (Depends-on): Likewise.
38134         * modules/round-tests (Depends-on): Likewise.
38135         * modules/signbit (Depends-on): Likewise.
38136         * modules/signbit-tests (Depends-on): Likewise.
38137         * modules/snprintf-posix (Depends-on): Likewise.
38138         * modules/sprintf-posix (Depends-on): Likewise.
38139         * modules/trunc-tests (Depends-on): Likewise.
38140         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38141         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38142         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38143         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38144         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38145         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38146         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38147         * modules/vasnprintf-posix (Depends-on): Likewise.
38148         * modules/vasprintf-posix (Depends-on): Likewise.
38149         * modules/vfprintf-posix (Depends-on): Likewise.
38150         * modules/vsnprintf-posix (Depends-on): Likewise.
38151         * modules/vsprintf-posix (Depends-on): Likewise.
38152         * lib/frexp.c: Include isnand.h instead of isnan.h.
38153         (ISNAN): Set to isnand instead of isnan.
38154         * lib/isfinite.c: Include isnand.h instead of isnan.h.
38155         (gl_isfinited): Use isnand instead of isnan.
38156         * lib/signbitd.c: Include isnand.h instead of isnan.h.
38157         (gl_signbitd): Use isnand instead of isnan.
38158         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
38159         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
38160         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
38161         (main): Use isnand instead of isnan.
38162         * tests/test-round1.c: Include isnand.h.
38163         (main): Use isnand instead of isnan.
38164         * tests/test-round2.c: Include isnand.h instead of isnan.h.
38165         (ISNAN): Set to isnand instead of isnan.
38166         * tests/test-trunc1.c: Include isnand.h.
38167         (main): Use isnand instead of isnan.
38168         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
38169         (equal): Use isnand instead of isnan.
38170         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
38171         isnand-nolibm.
38172         * NEWS: Mention the change.
38173
38174 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
38175             Bruno Haible  <bruno@clisp.org>
38176
38177         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
38178         the GCC builtins for signbits are present and set
38179         REPLACE_SIGNBIT_USING_GCC if so.
38180         * lib/math.in.h (signbit): Define using GCC builtins if
38181         REPLACE_SIGNBIT_USING_GCC is set.
38182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
38183         REPLACE_SIGNBIT_USING_GCC.
38184         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
38185
38186 2008-01-25  Jim Meyering  <meyering@redhat.com>
38187
38188         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
38189         * lib/poll.c: Include <config.h>, not "config.h".
38190         * tests/test-getaddrinfo.c: Likewise.
38191
38192 2008-01-25  Simon Josefsson  <simon@josefsson.org>
38193
38194         * modules/sockets-tests: New file.
38195
38196 2008-01-24  Simon Josefsson  <simon@josefsson.org>
38197
38198         * modules/sockets: New module, can be used to call WSA_Startup and
38199         WSA_Cleanup when needed.
38200
38201         * lib/sockets.h, lib/sockets.c: New files.
38202
38203         * m4/sockets.m4: New file.
38204
38205         * tests/test-sockets.c: New file.
38206
38207 2008-01-19  Bruno Haible  <bruno@clisp.org>
38208
38209         * doc/posix-headers: Renamed from doc/headers.
38210         * doc/posix-functions: Renamed from doc/functions.
38211         * doc/gnulib.texi: Update.
38212
38213 2008-01-19  Bruno Haible  <bruno@clisp.org>
38214
38215         * doc/glibc-functions/strcasestr.texi: Include contents of
38216         doc/functions/strcasestr.texi, fixing the list of platforms.
38217         * doc/functions/strcasestr.texi: Remove file.
38218
38219 2008-01-19  Bruno Haible  <bruno@clisp.org>
38220
38221         * doc/glibc-functions/memmem.texi: Include contents of
38222         doc/functions/memmem.texi.
38223         * doc/functions/memmem.texi: Remove file.
38224
38225 2008-01-18  Bruno Haible  <bruno@clisp.org>
38226
38227         * doc/glibc-functions/*.texi: New files.
38228         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
38229         to use the new files.
38230
38231 2008-01-17  Bruno Haible  <bruno@clisp.org>
38232
38233         * tests/test-gethostname.c (main): Fix printf statement.
38234
38235 2008-01-17  Simon Josefsson  <simon@josefsson.org>
38236
38237         * modules/gethostname-tests: New file.
38238
38239         * tests/test-gethostname.c: New file.
38240
38241 2008-01-17  Simon Josefsson  <simon@josefsson.org>
38242
38243         * lib/gethostname.c: Include string.h unconditionally, strncpy is
38244         used by the UNAME case.  Reported by Bruno Haible
38245         <bruno@clisp.org>.
38246
38247 2008-01-17  Eric Blake  <ebb9@byu.net>
38248
38249         Convert c-strcasestr to be more efficient.
38250         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
38251         (Depends-on): Add c-strcase, remove malloca, strnlen.
38252         * tests/test-c-strcasestr.c (main): Enhance test.
38253         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
38254
38255 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
38256
38257         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
38258         Use it in creating po/Makevars.
38259
38260 2008-01-15  Simon Josefsson  <simon@josefsson.org>
38261
38262         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
38263         Applications that requires it should initialize libgcrypt
38264         manually.
38265
38266 2008-01-16  Simon Josefsson  <simon@josefsson.org>
38267
38268         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
38269
38270 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
38271
38272         Fix problem with getdate on mingw32 reported by Simon Josefsson
38273         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
38274         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
38275         tzname", when deciding whether to declare tzname.
38276         * lib/strftime.c (tzname): Likewise.
38277
38278 2008-01-15  Bruno Haible  <bruno@clisp.org>
38279
38280         Work around a MacOS X 10.5 bug in frexpl().
38281         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
38282         * doc/functions/frexpl.texi: Document the bug.
38283         Reported by Elias Pipping <pipping@gentoo.org>.
38284
38285 2008-01-14  Eric Blake  <ebb9@byu.net>
38286
38287         Touch up previous patch.
38288         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
38289         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
38290
38291         Convert strcasestr module to use Two-Way algorithm.
38292         * modules/strcasestr-simple: New module, based on the old
38293         strcasestr, but with Two-Way rather than KMP.
38294         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
38295         * lib/string.in.h (rpl_strcasestr): Declare.
38296         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
38297         performance.
38298         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
38299         * modules/string (Makefile.am): Support strcasestr.
38300         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38301         * modules/strcasestr-tests (Depends-on): Check for alarm.
38302         * tests/test-strcasestr.c: Augment test.
38303         * lib/str-two-way.h: Clean up stray macro.
38304         * NEWS: Document new module.
38305         * MODULES.html.sh (string handling): Likewise.
38306         * doc/functions/strcasestr.texi: New file.
38307         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
38308         here, since it is not a POSIX function.
38309
38310 2008-01-14  Colin Watson  <cjwatson@debian.org>
38311             Bruno Haible  <bruno@clisp.org>
38312
38313         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
38314         works fine; if not, set REPLACE_STRSIGNAL.
38315         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
38316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38317         REPLACE_STRSIGNAL.
38318         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
38319         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
38320         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
38321
38322 2008-01-14  Bruno Haible  <bruno@clisp.org>
38323
38324         * modules/strsignal (Include): Change to <string.h>.
38325
38326 2008-01-14  Colin Watson  <cjwatson@debian.org>
38327
38328         * modules/argp (Notice): Add a notice recommending to change
38329         XGETTEXT_OPTIONS.
38330         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
38331
38332 2008-01-13  Colin Watson  <cjwatson@debian.org>
38333
38334         * modules/strsignal-tests: New file.
38335         * tests/test-strsignal.c: New file.
38336
38337         * lib/strsignal.c: New file, from glibc with modifications.
38338         * lib/siglist.h: New file, from glibc with modifications.
38339         * lib/string.in.h (strsignal): New declaration.
38340         * m4/strsignal.m4: New file.
38341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38342         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
38343         * modules/strsignal: New file.
38344         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
38345         HAVE_DECL_STRSIGNAL.
38346
38347 2008-01-13  Bruno Haible  <bruno@clisp.org>
38348
38349         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
38350         locale encoding is not ASCII. Needed for OpenBSD 4.0.
38351         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
38352         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38353
38354 2008-01-13  Bruno Haible  <bruno@clisp.org>
38355
38356         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
38357         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
38358         * lib/argp.h (__attribute__): Likewise.
38359         * lib/c-stack.c (__attribute__): Likewise.
38360         * lib/error.h (__attribute__): Likewise.
38361         * lib/fts.c (__attribute__): Likewise.
38362         * lib/openat.h (__attribute__): Likewise.
38363         * lib/stdio.in.h (__attribute__): Likewise.
38364         * lib/string.in.h (__attribute__): Likewise.
38365         * lib/utimens.c (__attribute__): Likewise.
38366         * lib/vasnprintf.h (__attribute__): Likewise.
38367         * lib/xalloc.h (__attribute__): Likewise.
38368         * lib/xprintf.h (__attribute__): Likewise.
38369         * lib/xstrtol.h (__attribute__): Likewise.
38370         * lib/xvasprintf.h (__attribute__): Likewise.
38371
38372 2008-01-12  Bruno Haible  <bruno@clisp.org>
38373
38374         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
38375         * doc/glibc-headers/a.out.texi: New file.
38376         * doc/glibc-headers/aliases.texi: New file.
38377         * doc/glibc-headers/alloca.texi: New file.
38378         * doc/glibc-headers/ar.texi: New file.
38379         * doc/glibc-headers/argp.texi: New file.
38380         * doc/glibc-headers/argz.texi: New file.
38381         * doc/glibc-headers/byteswap.texi: New file.
38382         * doc/glibc-headers/crypt.texi: New file.
38383         * doc/glibc-headers/endian.texi: New file.
38384         * doc/glibc-headers/envz.texi: New file.
38385         * doc/glibc-headers/err.texi: New file.
38386         * doc/glibc-headers/error.texi: New file.
38387         * doc/glibc-headers/execinfo.texi: New file.
38388         * doc/glibc-headers/fpu_control.texi: New file.
38389         * doc/glibc-headers/fstab.texi: New file.
38390         * doc/glibc-headers/fts.texi: New file.
38391         * doc/glibc-headers/getopt.texi: New file.
38392         * doc/glibc-headers/ieee754.texi: New file.
38393         * doc/glibc-headers/ifaddrs.texi: New file.
38394         * doc/glibc-headers/libintl.texi: New file.
38395         * doc/glibc-headers/mcheck.texi: New file.
38396         * doc/glibc-headers/mntent.texi: New file.
38397         * doc/glibc-headers/obstack.texi: New file.
38398         * doc/glibc-headers/paths.texi: New file.
38399         * doc/glibc-headers/printf.texi: New file.
38400         * doc/glibc-headers/pty.texi: New file.
38401         * doc/glibc-headers/resolv.texi: New file.
38402         * doc/glibc-headers/shadow.texi: New file.
38403         * doc/glibc-headers/sysexits.texi: New file.
38404         * doc/glibc-headers/ttyent.texi: New file.
38405
38406 2008-01-12  Jim Meyering  <meyering@redhat.com>
38407
38408         announce-gen: emit Gnulib's git-based version string.
38409         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
38410         New option --gnulib-version=V, where V is expected to be
38411         the output of running git describe in the gnulib directory.
38412         (get_tool_versions): Request feedback on xdelta.  I suspect it's
38413         not useful, and plan to stop publishing an xdelta file with each
38414         coreutils release.
38415
38416         * build-aux/announce-gen: Also check for lzma-compressed files.
38417
38418 2008-01-11  Bruno Haible  <bruno@clisp.org>
38419
38420         * tests/test-memmem.c (main): Increase maximum allowed time.
38421         * tests/test-strstr.c (main): Likewise.
38422
38423 2008-01-11  Bruno Haible  <bruno@clisp.org>
38424
38425         * doc/functions/memmem.texi: Add more precisions about platforms.
38426         * doc/functions/strstr.texi: Likewise.
38427
38428 2008-01-10  Eric Blake  <ebb9@byu.net>
38429
38430         * m4/strstr.m4: Delete cruft from copy-n-paste.
38431         Reported by Bruno Haible.
38432
38433 2008-01-10  Bruno Haible  <bruno@clisp.org>
38434
38435         Make c-strstr rely on strstr.
38436         * lib/c-strstr.c: Don't include str-kmp.h.
38437         (c_strstr): Define in terms of strstr.
38438         * modules/c-strstr (Files): Remove lib/str-kmp.h.
38439         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
38440
38441 2008-01-10  Bruno Haible  <bruno@clisp.org>
38442
38443         * doc/gnulib.texi (String Functions in C Locale): New section.
38444         * doc/c-ctype.texi: New file.
38445         * doc/c-strcase.texi: New file.
38446         * doc/c-strcaseeq.texi: New file.
38447         * doc/c-strcasestr.texi: New file.
38448         * doc/c-strstr.texi: New file.
38449         * doc/c-strtod.texi: New file.
38450         * doc/c-strtold.texi: New file.
38451
38452 2008-01-10  Eric Blake  <ebb9@byu.net>
38453
38454         * lib/relocatable.h: Fix a comment.
38455
38456 2008-01-10  Eric Blake  <ebb9@byu.net>
38457
38458         Share two-way algorithm.
38459         * lib/str-two-way.h: New file, merged from...
38460         * lib/memmem.c: ...here...
38461         * lib/strstr.c: ...and here.
38462         * modules/memmem (Files): Use it.
38463         * modules/strstr (Files): Likewise.
38464
38465         Avoid quadratic strstr implementations.
38466         * lib/strstr.c: New file.
38467         * m4/strstr.m4: Likewise.
38468         * modules/strstr: Likewise.
38469         * modules/strstr-tests: Likewise.
38470         * tests/test-strstr.c: Likewise.
38471         * lib/string.in.h (rpl_strstr): Declare.
38472         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
38473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
38474         * modules/string (Makefile.am): Likewise.
38475         * MODULES.html.sh (string handling): Mention new module.
38476         * doc/functions/strstr.texi (strstr): Document the bug.
38477
38478 2008-01-10  Bruno Haible  <bruno@clisp.org>
38479
38480         * lib/relocatable.h (relocate): State whether result is freshly
38481         allocated or not.
38482         * lib/relocatable.c (relocate): Return a freshly allocated string
38483         instead of a pointer to a privately held string.
38484         Reported by Sylvain Beucler <beuc@gnu.org>.
38485
38486 2008-01-10  Colin Watson  <cjwatson@debian.org>
38487
38488         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
38489         s/S_ISNLK/S_ISLNK/.
38490
38491 2008-01-09  Bruno Haible  <bruno@clisp.org>
38492
38493         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
38494         and other files.
38495         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
38496         if it's only a guess.
38497         * modules/memmem: Simplify by depending on memmem-simple.
38498
38499 2008-01-09  Bruno Haible  <bruno@clisp.org>
38500
38501         Work around OpenBSD 4.0 tdelete() bug.
38502         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
38503         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
38504         macros and don't redefine the enum values.
38505         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
38506         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
38507         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
38508
38509 2008-01-09  Bruno Haible  <bruno@clisp.org>
38510
38511         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
38512         (main): Don't perform the tests if setlocale did not install a UTF-8
38513         locale. Needed on OpenBSD 4.0.
38514         * modules/wcwidth-tests (Depends-on): Add localcharset.
38515
38516 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38517
38518         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
38519         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
38520         * NEWS: announce this.
38521         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
38522
38523 2008-01-09  Simon Josefsson  <simon@josefsson.org>
38524         and Eric Blake  <ebb9@byu.net>
38525
38526         Add memmem-simple module.
38527         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
38528         (gl_FUNC_MEMMEM): Separate performance from presence checks.
38529         * modules/memmem-simple: New file.
38530         * modules/memmem (Description): Tweak.
38531         * MODULES.html.sh (string handling): Mention new module.
38532         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
38533         addressed by memmem-simple.
38534         * NEWS: Document the difference.
38535
38536 2008-01-09  Eric Blake  <ebb9@byu.net>
38537
38538         Give gcc some memmem optimization hints.
38539         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
38540         (strcasestr): Declare as pure.
38541         * modules/memmem (Maintainer): Claim my implementation.
38542
38543 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38544
38545         Support AIX 6.1 and higher.
38546         * build-aux/config.libpath: Likewise.
38547         * build-aux/config.rpath: Likewise.
38548
38549 2008-01-08  Jim Meyering  <meyering@redhat.com>
38550             Bruno Haible  <bruno@clisp.org>
38551
38552         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
38553         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
38554         Reported by Peter Fales in
38555         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
38556
38557 2008-01-08  Bruno Haible  <bruno@clisp.org>
38558
38559         * modules/unictype/category-of (Depends-on): Add
38560         unictype/category-none.
38561         * modules/unictype/category-and-tests (Depends-on): Add
38562         unictype/category-{L,N,Lu,Nd}.
38563         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
38564         * modules/unictype/category-or-tests (Depends-on): Add
38565         unictype/category-{L,N}.
38566         * modules/unictype/category-name-tests (Depends-on): Add
38567         unictype/category-{Z,Nl}.
38568         Reported by Simon Josefsson.
38569
38570 2008-01-08  Bruno Haible  <bruno@clisp.org>
38571
38572         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
38573         convention better.
38574         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
38575         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
38576         Reported by Peter Miller <millerp@canb.auug.org.au>.
38577
38578 2008-01-08  Eric Blake  <ebb9@byu.net>
38579
38580         Rewrite memmem to guarantee linear complexity without malloc.
38581         * lib/memmem.c (memmem): Use Two-Way rather than
38582         Knuth-Morris-Pratt, to allow O(1) space usage.
38583         (critical_factorization, two_way_short_needle)
38584         (two_way_long_needle): New functions.
38585         (knuth_morris_pratt): Delete.
38586         * modules/memmem (Depends-on): No longer need malloca or stdbool.
38587         Add stdint.
38588         * tests/test-memmem.c (main): Add tests for periodic needle and
38589         sublinear performance.
38590         * doc/functions/memmem.texi (memmem): Document other deficiencies
38591         in cygwin and older glibc.
38592
38593 2008-01-08  Bruno Haible  <bruno@clisp.org>
38594
38595         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
38596         augmentation.
38597
38598 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
38599
38600         Add a configure time option: --disable-acl.
38601         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
38602         AC_ARG_ENABLE(acl).
38603
38604 2008-01-06  Simon Josefsson  <simon@josefsson.org>
38605
38606         * tests/test-localename.c: Don't include obsolete "setenv.h".
38607
38608         * modules/localename-tests (Depends-on): Need unsetenv.
38609
38610 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38611
38612         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
38613
38614 2008-01-06  Colin Watson  <cjwatson@debian.org>
38615
38616         * users.txt: Add man-db.
38617
38618 2008-01-07  Bruno Haible  <bruno@clisp.org>
38619
38620         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
38621         previous section name.
38622
38623 2008-01-07  Bruno Haible  <bruno@clisp.org>
38624
38625         * lib/progname.c (set_program_name): Don't strip off a leading
38626         "lt-" prefix outside a .libs directory.
38627         Suggested by Paul Eggert.
38628
38629 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
38630             Bruno Haible  <bruno@clisp.org>
38631
38632         Improve memory cleanup in 'relocatable' module.
38633         * lib/relocatable.h (compute_curr_prefix): Change return type to
38634         'char *'.
38635         * lib/relocatable.c (compute_curr_prefix): Change return type to
38636         'char *'. Free curr_installdir after use.
38637         (relocate): Free curr_prefix_better after use.
38638         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
38639
38640 2008-01-01  Bruno Haible  <bruno@clisp.org>
38641
38642         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
38643         failure on older glibc systems.
38644         Reported by Peter Fales <psfales@alcatel-lucent.com>.
38645
38646 2008-01-05  Eric Blake  <ebb9@byu.net>
38647
38648         Avoid quadratic system memmem.
38649         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
38650         Reported by Ralf Wildenhues.
38651
38652         Fix memmem test for mingw.
38653         * modules/memmem-tests (configure.ac): Check for alarm.
38654         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
38655         it.
38656         * doc/functions/memmem.texi: New file.
38657         * doc/gnulib.texi (Function Substitutes): Add memmem.
38658         Reported by Bruno Haible.
38659
38660 2008-01-04  Bruno Haible  <bruno@clisp.org>
38661
38662         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
38663         Require gl_HEADER_STRINGS_H_DEFAULTS, not
38664         gl_HEADER_STRING_H_DEFAULTS.
38665
38666 2008-01-04  Eric Blake  <ebb9@byu.net>
38667
38668         Shorten duration of memmem test.
38669         * tests/test-memmem.c (main): Use alarm to declare failure if test
38670         is taking too long.
38671         Reported by Ralf Wildenhues.
38672
38673 2007-12-21  Simon Josefsson  <simon@josefsson.org>
38674
38675         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
38676         string, needed by strerror.
38677
38678 2008-01-03  Colin Watson  <cjwatson@debian.org>
38679             Bruno Haible  <bruno@clisp.org>
38680
38681         * doc/gnulib-tool.texi (Localization): New section.
38682
38683 2008-01-02  Bruno Haible  <bruno@clisp.org>
38684
38685         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
38686         variables to 'unsigned char *' type.
38687         Reported by Paul Eggert.
38688
38689 2008-01-02  Jim Meyering  <jim@meyering.net>
38690
38691         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
38692
38693 2007-12-31  Jim Meyering  <jim@meyering.net>
38694
38695         Avoid use of private FTS type name.
38696         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
38697
38698 2007-12-30  Karl Berry  <karl@gnu.org>
38699
38700         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
38701         work around defect in Texinfo and/or the standalone Info browser.
38702
38703 2007-12-30  Bruno Haible  <bruno@clisp.org>
38704
38705         Unify 5 copies of the KMP code.
38706         * lib/str-kmp.h: New file.
38707         * lib/c-strcasestr.c: Include str-kmp.h.
38708         (knuth_morris_pratt): Remove function.
38709         (c_strcasestr): Update.
38710         * lib/c-strstr.c: Include str-kmp.h.
38711         (knuth_morris_pratt): Remove function.
38712         (c_strcasestr): Update.
38713         * lib/mbscasestr.c: Include str-kmp.h.
38714         (knuth_morris_pratt_unibyte): Remove function.
38715         * lib/mbsstr.c: Include str-kmp.h.
38716         (knuth_morris_pratt_unibyte): Remove function.
38717         * lib/strcasestr.c: Include str-kmp.h.
38718         (knuth_morris_pratt): Remove function.
38719         (strcasestr): Update.
38720         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
38721         * modules/c-strstr (Files): Likewise.
38722         * modules/mbscasestr (Files): Likewise.
38723         * modules/mbsstr (Files): Likewise.
38724         * modules/strcasestr (Files): Likewise.
38725         Suggested by Paul Eggert.
38726
38727 2007-12-30  Bruno Haible  <bruno@clisp.org>
38728
38729         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
38730         defined.
38731
38732 2007-12-30  Bruno Haible  <bruno@clisp.org>
38733
38734         * lib/xmalloca.h: Include xalloc.h.
38735         (xnmalloca): New macro.
38736
38737 2007-12-30  Bruno Haible  <bruno@clisp.org>
38738
38739         * lib/malloca.h (nmalloca): New macro.
38740         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
38741         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
38742         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
38743         knuth_morris_pratt_multibyte): Likewise.
38744         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
38745         knuth_morris_pratt_multibyte): Likewise.
38746         * lib/memmem.c (knuth_morris_pratt): Likewise.
38747         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
38748
38749 2007-12-25  Bruno Haible  <bruno@clisp.org>
38750
38751         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
38752         * lib/glob.c: Don't include openat.h.
38753         (link_exists2_p): Add back the code that deals with the
38754         !GLOB_ALTDIRFUNC case.
38755         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
38756         let it do the filename concatenation.
38757         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
38758         * modules/glob (Depends-on): Remove openat.
38759
38760 2007-12-31  Bruno Haible  <bruno@clisp.org>
38761
38762         * modules/dirfd (License): Change to LGPLv2+.
38763         Approved by Jim Meyering.
38764
38765 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38766
38767         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
38768         when multiplying M by sizeof (size_t).
38769
38770 2007-12-10  Martin Lambers  <marlam@marlam.de>
38771
38772         Override getpagesize on mingw.
38773         * lib/getpagesize.c: New file.
38774         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
38775         * modules/getpagesize (Files): Add lib/getpagesize.c.
38776         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
38777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38778         REPLACE_GETPAGESIZE.
38779         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
38780
38781 2007-12-25  Bruno Haible  <bruno@clisp.org>
38782
38783         * modules/localcharset (Notice): New field.
38784         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
38785         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
38786
38787 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38788             Bruno Haible  <bruno@clisp.org>
38789
38790         Avoid using the syntax symbol() in formatted documentation.
38791         * MODULES.html.sh (func_module): When replacing symbol() with a
38792         hyperlink, remove the parentheses. Show an error if some remain.
38793         Recognize and render the '...' syntax.
38794         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
38795         Rework. Add paragraph about GCC's inlining.
38796         * doc/alloca.texi: Likewise.
38797         * doc/error.texi: Remove parentheses from symbol reference.
38798         * doc/gnulib-intro.texi: Likewise.
38799         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
38800         * modules/fnmatch (Description): Reword to say "the ... function".
38801         * modules/full-read (Description): Likewise.
38802         * modules/full-write (Description): Likewise.
38803         * modules/safe-read (Description): Likewise.
38804         * modules/safe-write (Description): Likewise.
38805         * modules/strchrnul (Description): Likewise.
38806         * modules/trim (Description): Likewise.
38807         * modules/error (Description): Remove parentheses from symbol
38808         references.
38809         * modules/verror (Description): Likewise.
38810         Reported by Karl Berry.
38811
38812 2007-12-25  Bruno Haible  <bruno@clisp.org>
38813
38814         Fixup after 2007-10-16 commit.
38815         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
38816
38817 2007-12-24  Bruno Haible  <bruno@clisp.org>
38818
38819         Make --enable-relocatable work with DESTDIR.
38820         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
38821         to compute installdir from destprog.
38822         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
38823         also set the RELOC_DESTDIR variable.
38824         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38825
38826 2007-12-24  Bruno Haible  <bruno@clisp.org>
38827
38828         Fix link error due to xalloc_die().
38829         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
38830         of xreadlink.
38831         * lib/relocwrapper.c: Update comments.
38832         * build-aux/install-reloc: Remove xreadlink.c from file list.
38833         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
38834         xreadlink.c.
38835         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38836
38837 2007-12-24  Bruno Haible  <bruno@clisp.org>
38838
38839         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
38840         * lib/setenv.h: Remove file.
38841         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
38842         lib/setenv.h.
38843         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
38844         (Depends-on): Add stdlib.
38845         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
38846         gl_FUNC_UNSETENV.
38847         (Include): Replace setenv.h with <stdlib.h>.
38848         * modules/unsetenv: New file.
38849         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
38850         * lib/unsetenv.c: Include <stdlib.h> first.
38851         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
38852         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
38853         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
38854         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
38855         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
38856         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
38857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
38858         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
38859         * doc/functions/unsetenv.texi: Update.
38860         * modules/xsetenv (Depends-on): Add unsetenv.
38861         * modules/getdate (Depends-on): Likewise.
38862         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
38863         * lib/xsetenv.c: Don't include setenv.h.
38864         * lib/getdate.y: Likewise.
38865         * lib/relocwrapper.c: Likewise.
38866         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
38867         (Depends-on): Add stdlib.
38868         * NEWS: Mention the changes.
38869         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38870
38871 2007-12-23  Bruno Haible  <bruno@clisp.org>
38872
38873         * lib/memmem.c (memmem): Use lowercase variable names. Tab
38874         indentation.
38875
38876 2007-12-23  Bruno Haible  <bruno@clisp.org>
38877
38878         * lib/c-strcasestr.c: Add more comments.
38879         * lib/c-strstr.c: Likewise.
38880         * lib/mbscasestr.c: Likewise.
38881         * lib/mbsstr.c: Likewise.
38882         * lib/strcasestr.c: Likewise.
38883         * lib/memmem.c: Likewise.
38884
38885 2007-12-23  Bruno Haible  <bruno@clisp.org>
38886
38887         * tests/test-memmem.c: Include <string.h> first.
38888
38889 2007-12-22  Bruno Haible  <bruno@clisp.org>
38890
38891         * gnulib-tool (func_create_testdir): Change $auxdir while generating
38892         the contents of $testsbase.
38893         Reported by Ralf Wildenhues.
38894
38895 2007-12-22  Bruno Haible  <bruno@clisp.org>
38896
38897         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
38898         two variables local_ldadd_before, local_ldadd_last.
38899
38900 2007-12-20  Eric Blake  <ebb9@byu.net>
38901
38902         Work around circular library issue when cross-compiling.
38903         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
38904         that progname.o does not need to pull in rpl_memcmp.
38905
38906 2007-12-19  Eric Blake  <ebb9@byu.net>
38907
38908         Fix memmem to avoid O(n^2) worst-case complexity.
38909         * lib/memmem.c (knuth_morris_pratt): New function.
38910         (memmem): Use it if first few naive iterations fail.
38911         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
38912         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
38913         * modules/memchr (License): Likewise.
38914         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
38915         malloca.
38916         * tests/test-memmem.c: Rewrite, borrowing ideas from
38917         test-mbsstr1.c; the old version wouldn't even compile!
38918         * modules/memmem-tests: New file.
38919         * lib/string.in.h (rpl_memmem): Add declaration.
38920         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
38921         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
38922         REPLACE_MEMMEM.
38923
38924 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38925
38926         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
38927         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
38928         before any system include files, and undef after them all.  This
38929         should fix a problem on VMS reported by John E. Malmberg in
38930         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
38931
38932 2007-12-17  Eric Blake  <ebb9@byu.net>
38933
38934         Revert addition of verify, for BSD/OS.
38935         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
38936         can't handle large files, for the sake of obsolete platforms.
38937         * modules/fseeko (Depends-on): Remove verify.
38938         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
38939         * doc/functions/ftello.texi (ftello): Likewise.
38940         * doc/functions/fgetpos.texi (fgetpos): Likewise.
38941         Reported by Larry Jones.
38942
38943 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
38944
38945         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
38946         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
38947
38948 2007-12-17  Jim Meyering  <meyering@redhat.com>
38949
38950         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
38951         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
38952         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
38953         * modules/getcwd (Depends-on): Add openat.
38954         Reported by Petr Salinger.
38955
38956 2007-12-17  Bruno Haible  <bruno@clisp.org>
38957
38958         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
38959         avoid a segmentation fault of the configure test on x86_64 systems.
38960
38961 2007-12-15  Jim Meyering  <meyering@redhat.com>
38962
38963         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
38964
38965 2007-12-13  Eric Blake  <ebb9@byu.net>
38966
38967         Another fseek test.
38968         * tests/test-fseek.c (main): Also test ungetc handling.
38969         * tests/test-fseeko.c (main): Likewise.
38970         * modules/fseeko (Depends-on): Add verify.
38971         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
38972         large.
38973         Reported by Larry Jones.
38974
38975         Fix fseeko on mingw.
38976         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
38977         seek.
38978
38979         Beef up fseek tests.
38980         * tests/test-fseek.c (main): Also test eof handling.
38981         * tests/test-fseeko.c (main): Likewise.
38982         Reported by Larry Jones.
38983
38984 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
38985
38986         Fix fseeko on BSD-based platforms.
38987         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
38988         successful seek.
38989
38990 2007-12-12  Eric Blake  <ebb9@byu.net>
38991
38992         Allow circular dependency of separate libtests.a
38993         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
38994         when use_libtests.
38995
38996 2007-12-11  Eric Blake  <ebb9@byu.net>
38997
38998         Fix bug with -0.0L in previous patch.
38999         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
39000         * tests/test-isnan.c (main): Also test on zeroes.
39001         * tests/test-isnanf.c (main): Likewise.
39002         * tests/test-isnanl.h (main): Likewise.
39003
39004         Detect pseudo-denormals on x86 even when cross-compiling.
39005         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
39006         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
39007         invalid bit patterns that happen to satisfy ==.
39008
39009         Avoid link failures with separate libtests.a.
39010         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
39011         last, to satisfy circular dependencies.
39012
39013 2007-12-11  Eric Blake  <ebb9@byu.net>
39014         and Bruno Haible  <bruno@clisp.org>
39015
39016         Fix OpenBSD 4.0 <float.h> handling of long double.
39017         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
39018         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
39019         * doc/headers/float.texi (float.h): Document OpenBSD bug.
39020
39021 2007-12-11  Jim Meyering  <meyering@redhat.com>
39022
39023         * users.txt: Add libvirt.
39024
39025         Support versions of autoconf prior to 2.59c.
39026         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
39027         if it is not already defined.
39028
39029 2007-12-09  Bruno Haible  <bruno@clisp.org>
39030
39031         Let 'gnulib-tool --import' collect sources needed for the tests in
39032         tests/ rather than in lib/.
39033         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
39034         argument. If true, add rules to generate libtests.a, and put libtests.a
39035         into $(LDADD). Consider source files in subdirectories and set
39036         uses_subdirs.
39037         (func_emit_initmacro_start, func_emit_initmacro_end,
39038         func_emit_initmacro_done): Pass all arguments explicitly.
39039         (func_import): Determine two module lists main_modules,
39040         testsrelated_modules. Determine use_libtests. Determine two variables
39041         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
39042         instead of just sed_transform_lib_file. Determine two variables
39043         main_files and testsrelated_files. Compute 'files' as the union of
39044         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
39045         func_add_or_update. In the generated gnulib-comp.m4, collect the
39046         object files for tests/ in different variables than those for lib/.
39047         Substitute LIBTESTS_LIBDEPS.
39048         (func_create_testdir): Combine the uses_subdirs results from
39049         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
39050
39051 2007-12-09  Bruno Haible  <bruno@clisp.org>
39052
39053         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
39054         the build-aux directory.
39055
39056 2007-12-09  Bruno Haible  <bruno@clisp.org>
39057
39058         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
39059         introduced on 2006-09-09.
39060
39061 2007-12-07  Jim Meyering  <meyering@redhat.com>
39062
39063         Let these macros work also with autoconf-2.59.
39064         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
39065         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
39066         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
39067
39068 2007-12-06  Jim Meyering  <meyering@redhat.com>
39069
39070         Avoid a configure-time syntax error in gl_FUNC_ACL.
39071         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
39072         function in each branch, before testing the cache variable.
39073
39074 2007-12-04  Eric Blake  <ebb9@byu.net>
39075
39076         Make scripts executable.
39077         * build-aux/config.guess: Add execute permissions.
39078         * build-aux/config.sub: Likewise.
39079         * build-aux/gendocs.sh: Likewise.
39080
39081         Fix frexp on mingw.
39082         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
39083         cross-compiling.
39084         * doc/functions/frexp.texi (frexp): Document the bug.
39085
39086         Make cygwin fseeko check more reliable.
39087         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
39088         version numbers, rather than unrelated feature check.
39089         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
39090         * doc/functions/ftello.texi (ftello): Likewise.
39091         Reported by Bruno Haible.
39092
39093         * m4/strerror.m4: Bump version number.
39094
39095 2007-12-03  Bruno Haible  <bruno@clisp.org>
39096
39097         * doc/functions/mprotect.texi: Mention the mingw problem.
39098
39099 2007-12-03  Eric Blake  <ebb9@byu.net>
39100
39101         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
39102         REPLACE_STRERROR is initialized before this macro.
39103
39104 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
39105
39106         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
39107         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
39108         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
39109         put -lsec in even for programs other than 'ls'.  This fixes a problem
39110         for gettext reported by Bruno Haible in
39111         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
39112         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
39113         Add support for Solaris 10.  This isn't efficient, but should get the
39114         job done for now.
39115
39116 2007-12-03  James Youngman  <jay@gnu.org>
39117
39118         * doc/regexprops-generic.texi: change "an close-group" to "a
39119         close-group" and "illegal" to "not allowed".
39120
39121 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39122
39123         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
39124         pr_byname.h. Needed for the rare case when the maintainer has done
39125         "make maintainer-clean" in the source directory and then attempts a
39126         build outside the source directory.
39127         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
39128         scripts_byname.h.
39129
39130 2007-12-02  Martin Lambers <marlam@marlam.de>
39131             Bruno Haible  <bruno@clisp.org>
39132
39133         * lib/getpagesize.h: Remove file.
39134         * lib/unistd.in.h: Include declaration of getpagesize here.
39135         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
39136         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
39137         HAVE_SYS_PARAM_H.
39138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
39139         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
39140         * modules/getpagesize (Files): Remove lib/getpagesize.h.
39141         (Depends-on): Add unistd.
39142         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39143         (Include): Use <unistd.h> instead of getpagesize.h.
39144         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
39145         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
39146         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
39147         gl_GETPAGESIZE invocation, already handled by module dependency.
39148         * lib/pagealign_alloc.c: Don't include getpagesize.h.
39149
39150 2007-12-02  Bruno Haible  <bruno@clisp.org>
39151
39152         * modules/strings-tests: New file.
39153         * tests/test-strings.c: New file.
39154
39155         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
39156         * lib/strings.in.h: New file.
39157         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
39158         * m4/strings_h.m4: New file.
39159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
39160         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
39161         * modules/strings: New file.
39162         * modules/string (Makefile.am): Update.
39163         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
39164         Reported by Karl Berry.
39165
39166 2007-12-01  Eric Blake  <ebb9@byu.net>
39167
39168         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
39169         accomodate fix in cygwin 1.5.25.
39170
39171 2007-12-01  Jim Meyering  <meyering@redhat.com>
39172
39173         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
39174         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
39175         that would inhibit utf8-optimization of a regexp containing line-
39176         or buffer-anchors, e.g., `^', `$'.
39177
39178 2007-11-30  Bruno Haible  <bruno@clisp.org>
39179
39180         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
39181         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
39182         glthread_recursive_lock_init.
39183         * lib/lock.c (glthread_recursive_lock_init)
39184         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
39185         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39186
39187 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
39188
39189         New function qset_acl, like set_acl but with syscall semantics.
39190         * lib/acl.h (qset_acl): New decl.
39191         * lib/acl.c (qset_acl): New function.
39192         (set_acl): Use new function.  Use more-consistent diagnostics.
39193
39194 2007-11-28  Jim Meyering  <meyering@redhat.com>
39195
39196         * modules/physmem (License): Change from GPL to LGPLv2+.
39197
39198 2007-11-26  Bruno Haible  <bruno@clisp.org>
39199
39200         * lib/vasnprintf.c (decode_long_double): Don't abort if the
39201         'long double' type has excess precision.
39202         Reported by Jim Meyering in
39203         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
39204
39205 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39206
39207         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
39208         Sync from <http://gnu.org/licenses>.
39209         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
39210         with license text from same location.
39211         * doc/maintain.texi, doc/standards.texi:  Sync from
39212         <http://savannah.gnu.org/projects/gnustandards>.
39213
39214 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
39215         and Jim Meyering  <meyering@redhat.com>
39216
39217         Adjust getdate' grammar to accept a slightly more regular language.
39218         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
39219         Before, the former was rejected.
39220         * lib/getdate.y (digits_to_date_time): New function, factored
39221         out of ...
39222         (number): ...here.  Just call digits_to_date_time.
39223         (hybrid): New non-terminal to handle an <unsigned number,
39224         signed relative offset> sequence consistently.
39225
39226 2007-11-18  Jim Meyering  <meyering@redhat.com>
39227
39228         Pull my changes from coreutils:
39229         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
39230         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
39231         use of $gnulib_tool_option_extras, so that it's separated from the
39232         preceding argument.
39233
39234         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
39235         * build-aux/bootstrap (cp_mark_as_generated): Create any required
39236         parent destination directories before copying a file into place.
39237
39238 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39239
39240         bootstrap: work also with 4-argument variant of AC_INIT
39241         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
39242
39243 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39244
39245         Port test-getaddrinfo to Solaris.
39246         Problem reported by Bruno Haible in
39247         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
39248         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
39249         explanation of setting 'hints'.
39250         Don't reject an implementation merely because it returns EAI_SERVICE.
39251         (EAI_SERVICE): Define to 0 if not defined.
39252
39253 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
39254
39255         The license of gnu-make and posix-shell is now "GPLed build tool".
39256         * modules/gnu-make (License): Likewise.
39257         * modules/posix-shell (License): Likewise.
39258
39259         New module posix-shell, for determining a POSIX shell
39260         or perhaps something that is close enough to a POSIX shell.
39261         * m4/posix-shell.m4: New file.
39262         * modules/posix-shell: New file.
39263
39264         * MODULES.html.sh: Mention new module.
39265
39266         New module gnu-make, for determining whether we're using GNU Make.
39267         * m4/gnu-make.m4: New file.
39268         * modules/gnu-make: New file.
39269         * MODULES.html.sh: Mention new module.
39270
39271 2007-11-14  Jim Meyering  <meyering@redhat.com>
39272
39273         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
39274         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
39275         use this macro to create a function _definition_.
39276         Remove useless "#undef ARGMATCH_DIE".
39277
39278 2007-11-14  Bruno Haible  <bruno@clisp.org>
39279
39280         * lib/config.charset: Update for OpenBSD 4.1.
39281         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
39282
39283 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
39284
39285         Document 64-bit #if problems in stdint.texi.
39286         * doc/headers/stdint.texi (stdint.h): Mention problems with
39287         64-bit-#if, and how to work around them.
39288
39289         Don't insist on 'long long int' support in the preprocessor.  It
39290         breaks too many things.  For example, PRIdMAX still uses a 'long
39291         long int' format with the latest Sun compiler, even though
39292         HAVE_LONG_LONG_INT isn't defined due to that compiler's
39293         preprocessor problem.  This causes the latest coreutils to dump
39294         core on Solaris 10 sparc with the Sun C compiler.
39295         Instead, fix the 2007-10-16 problem in a different way, by evaluating
39296         the troublesome expressions at configure-time, not at #if-time.
39297         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
39298         preprocessor.
39299         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
39300         compile-time C checks, done at 'configure'-time.
39301         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
39302         * modules/inttypes (Makefile): Substitute the new symbols that
39303         gl_INTTYPES_H now generates.
39304         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
39305
39306 2007-11-12  Bruno Haible  <bruno@clisp.org>
39307
39308         Tests for Unicode character classification functions.
39309
39310         * modules/unictype/bidicategory-byname-tests: New file.
39311         * modules/unictype/bidicategory-name-tests: New file.
39312         * modules/unictype/bidicategory-of-tests: New file.
39313         * modules/unictype/bidicategory-test-tests: New file.
39314         * modules/unictype/block-list-tests: New file.
39315         * modules/unictype/block-of-tests: New file.
39316         * modules/unictype/block-test-tests: New file.
39317         * modules/unictype/category-C-tests: New file.
39318         * modules/unictype/category-Cc-tests: New file.
39319         * modules/unictype/category-Cf-tests: New file.
39320         * modules/unictype/category-Cn-tests: New file.
39321         * modules/unictype/category-Co-tests: New file.
39322         * modules/unictype/category-Cs-tests: New file.
39323         * modules/unictype/category-L-tests: New file.
39324         * modules/unictype/category-Ll-tests: New file.
39325         * modules/unictype/category-Lm-tests: New file.
39326         * modules/unictype/category-Lo-tests: New file.
39327         * modules/unictype/category-Lt-tests: New file.
39328         * modules/unictype/category-Lu-tests: New file.
39329         * modules/unictype/category-M-tests: New file.
39330         * modules/unictype/category-Mc-tests: New file.
39331         * modules/unictype/category-Me-tests: New file.
39332         * modules/unictype/category-Mn-tests: New file.
39333         * modules/unictype/category-N-tests: New file.
39334         * modules/unictype/category-Nd-tests: New file.
39335         * modules/unictype/category-Nl-tests: New file.
39336         * modules/unictype/category-No-tests: New file.
39337         * modules/unictype/category-P-tests: New file.
39338         * modules/unictype/category-Pc-tests: New file.
39339         * modules/unictype/category-Pd-tests: New file.
39340         * modules/unictype/category-Pe-tests: New file.
39341         * modules/unictype/category-Pf-tests: New file.
39342         * modules/unictype/category-Pi-tests: New file.
39343         * modules/unictype/category-Po-tests: New file.
39344         * modules/unictype/category-Ps-tests: New file.
39345         * modules/unictype/category-S-tests: New file.
39346         * modules/unictype/category-Sc-tests: New file.
39347         * modules/unictype/category-Sk-tests: New file.
39348         * modules/unictype/category-Sm-tests: New file.
39349         * modules/unictype/category-So-tests: New file.
39350         * modules/unictype/category-Z-tests: New file.
39351         * modules/unictype/category-Zl-tests: New file.
39352         * modules/unictype/category-Zp-tests: New file.
39353         * modules/unictype/category-Zs-tests: New file.
39354         * modules/unictype/category-and-not-tests: New file.
39355         * modules/unictype/category-and-tests: New file.
39356         * modules/unictype/category-byname-tests: New file.
39357         * modules/unictype/category-name-tests: New file.
39358         * modules/unictype/category-none-tests: New file.
39359         * modules/unictype/category-of-tests: New file.
39360         * modules/unictype/category-or-tests: New file.
39361         * modules/unictype/category-test-withtable-tests: New file.
39362         * modules/unictype/combining-class-tests: New file.
39363         * modules/unictype/ctype-alnum-tests: New file.
39364         * modules/unictype/ctype-alpha-tests: New file.
39365         * modules/unictype/ctype-blank-tests: New file.
39366         * modules/unictype/ctype-cntrl-tests: New file.
39367         * modules/unictype/ctype-digit-tests: New file.
39368         * modules/unictype/ctype-graph-tests: New file.
39369         * modules/unictype/ctype-lower-tests: New file.
39370         * modules/unictype/ctype-print-tests: New file.
39371         * modules/unictype/ctype-punct-tests: New file.
39372         * modules/unictype/ctype-space-tests: New file.
39373         * modules/unictype/ctype-upper-tests: New file.
39374         * modules/unictype/ctype-xdigit-tests: New file.
39375         * modules/unictype/decimal-digit-tests: New file.
39376         * modules/unictype/digit-tests: New file.
39377         * modules/unictype/mirror-tests: New file.
39378         * modules/unictype/numeric-tests: New file.
39379         * modules/unictype/property-alphabetic-tests: New file.
39380         * modules/unictype/property-ascii-hex-digit-tests: New file.
39381         * modules/unictype/property-bidi-arabic-digit-tests: New file.
39382         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
39383         * modules/unictype/property-bidi-block-separator-tests: New file.
39384         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
39385         * modules/unictype/property-bidi-common-separator-tests: New file.
39386         * modules/unictype/property-bidi-control-tests: New file.
39387         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
39388         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
39389         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
39390         * modules/unictype/property-bidi-european-digit-tests: New file.
39391         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
39392         * modules/unictype/property-bidi-left-to-right-tests: New file.
39393         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
39394         * modules/unictype/property-bidi-other-neutral-tests: New file.
39395         * modules/unictype/property-bidi-pdf-tests: New file.
39396         * modules/unictype/property-bidi-segment-separator-tests: New file.
39397         * modules/unictype/property-bidi-whitespace-tests: New file.
39398         * modules/unictype/property-byname-tests: New file.
39399         * modules/unictype/property-combining-tests: New file.
39400         * modules/unictype/property-composite-tests: New file.
39401         * modules/unictype/property-currency-symbol-tests: New file.
39402         * modules/unictype/property-dash-tests: New file.
39403         * modules/unictype/property-decimal-digit-tests: New file.
39404         * modules/unictype/property-default-ignorable-code-point-tests: New file.
39405         * modules/unictype/property-deprecated-tests: New file.
39406         * modules/unictype/property-diacritic-tests: New file.
39407         * modules/unictype/property-extender-tests: New file.
39408         * modules/unictype/property-format-control-tests: New file.
39409         * modules/unictype/property-grapheme-base-tests: New file.
39410         * modules/unictype/property-grapheme-extend-tests: New file.
39411         * modules/unictype/property-grapheme-link-tests: New file.
39412         * modules/unictype/property-hex-digit-tests: New file.
39413         * modules/unictype/property-hyphen-tests: New file.
39414         * modules/unictype/property-id-continue-tests: New file.
39415         * modules/unictype/property-id-start-tests: New file.
39416         * modules/unictype/property-ideographic-tests: New file.
39417         * modules/unictype/property-ids-binary-operator-tests: New file.
39418         * modules/unictype/property-ids-trinary-operator-tests: New file.
39419         * modules/unictype/property-ignorable-control-tests: New file.
39420         * modules/unictype/property-iso-control-tests: New file.
39421         * modules/unictype/property-join-control-tests: New file.
39422         * modules/unictype/property-left-of-pair-tests: New file.
39423         * modules/unictype/property-line-separator-tests: New file.
39424         * modules/unictype/property-logical-order-exception-tests: New file.
39425         * modules/unictype/property-lowercase-tests: New file.
39426         * modules/unictype/property-math-tests: New file.
39427         * modules/unictype/property-non-break-tests: New file.
39428         * modules/unictype/property-not-a-character-tests: New file.
39429         * modules/unictype/property-numeric-tests: New file.
39430         * modules/unictype/property-other-alphabetic-tests: New file.
39431         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
39432         * modules/unictype/property-other-grapheme-extend-tests: New file.
39433         * modules/unictype/property-other-id-continue-tests: New file.
39434         * modules/unictype/property-other-id-start-tests: New file.
39435         * modules/unictype/property-other-lowercase-tests: New file.
39436         * modules/unictype/property-other-math-tests: New file.
39437         * modules/unictype/property-other-uppercase-tests: New file.
39438         * modules/unictype/property-paired-punctuation-tests: New file.
39439         * modules/unictype/property-paragraph-separator-tests: New file.
39440         * modules/unictype/property-pattern-syntax-tests: New file.
39441         * modules/unictype/property-pattern-white-space-tests: New file.
39442         * modules/unictype/property-private-use-tests: New file.
39443         * modules/unictype/property-punctuation-tests: New file.
39444         * modules/unictype/property-quotation-mark-tests: New file.
39445         * modules/unictype/property-radical-tests: New file.
39446         * modules/unictype/property-sentence-terminal-tests: New file.
39447         * modules/unictype/property-soft-dotted-tests: New file.
39448         * modules/unictype/property-space-tests: New file.
39449         * modules/unictype/property-terminal-punctuation-tests: New file.
39450         * modules/unictype/property-test-tests: New file.
39451         * modules/unictype/property-titlecase-tests: New file.
39452         * modules/unictype/property-unassigned-code-value-tests: New file.
39453         * modules/unictype/property-unified-ideograph-tests: New file.
39454         * modules/unictype/property-uppercase-tests: New file.
39455         * modules/unictype/property-variation-selector-tests: New file.
39456         * modules/unictype/property-white-space-tests: New file.
39457         * modules/unictype/property-xid-continue-tests: New file.
39458         * modules/unictype/property-xid-start-tests: New file.
39459         * modules/unictype/property-zero-width-tests: New file.
39460         * modules/unictype/scripts-tests: New file.
39461         * modules/unictype/syntax-c-ident-tests: New file.
39462         * modules/unictype/syntax-c-whitespace-tests: New file.
39463         * modules/unictype/syntax-java-ident-tests: New file.
39464         * modules/unictype/syntax-java-whitespace-tests: New file.
39465         * tests/unictype/test-bidi_byname.c: New file.
39466         * tests/unictype/test-bidi_name.c: New file.
39467         * tests/unictype/test-bidi_of.c: New file.
39468         * tests/unictype/test-bidi_test.c: New file.
39469         * tests/unictype/test-block_list.c: New file.
39470         * tests/unictype/test-block_of.c: New file.
39471         * tests/unictype/test-block_test.c: New file.
39472         * tests/unictype/test-categ_and.c: New file.
39473         * tests/unictype/test-categ_and_not.c: New file.
39474         * tests/unictype/test-categ_byname.c: New file.
39475         * tests/unictype/test-categ_name.c: New file.
39476         * tests/unictype/test-categ_none.c: New file.
39477         * tests/unictype/test-categ_of.c: New file.
39478         * tests/unictype/test-categ_or.c: New file.
39479         * tests/unictype/test-categ_test_withtable.c: New file.
39480         * tests/unictype/test-combining.c: New file.
39481         * tests/unictype/test-decdigit.c: New file.
39482         * tests/unictype/test-digit.c: New file.
39483         * tests/unictype/test-mirror.c: New file.
39484         * tests/unictype/test-numeric.c: New file.
39485         * tests/unictype/test-pr_byname.c: New file.
39486         * tests/unictype/test-pr_test.c: New file.
39487         * tests/unictype/test-predicate-part1.h: New file.
39488         * tests/unictype/test-predicate-part2.h: New file.
39489         * tests/unictype/test-scripts.c: New file.
39490         * tests/unictype/test-sy_c_ident.c: New file.
39491         * tests/unictype/test-sy_java_ident.c: New file.
39492
39493         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
39494         for Unicode 5.0.0.
39495         * tests/unictype/test-categ_Cc.c: Likewise.
39496         * tests/unictype/test-categ_Cf.c: Likewise.
39497         * tests/unictype/test-categ_Cn.c: Likewise.
39498         * tests/unictype/test-categ_Co.c: Likewise.
39499         * tests/unictype/test-categ_Cs.c: Likewise.
39500         * tests/unictype/test-categ_L.c: Likewise.
39501         * tests/unictype/test-categ_Ll.c: Likewise.
39502         * tests/unictype/test-categ_Lm.c: Likewise.
39503         * tests/unictype/test-categ_Lo.c: Likewise.
39504         * tests/unictype/test-categ_Lt.c: Likewise.
39505         * tests/unictype/test-categ_Lu.c: Likewise.
39506         * tests/unictype/test-categ_M.c: Likewise.
39507         * tests/unictype/test-categ_Mc.c: Likewise.
39508         * tests/unictype/test-categ_Me.c: Likewise.
39509         * tests/unictype/test-categ_Mn.c: Likewise.
39510         * tests/unictype/test-categ_N.c: Likewise.
39511         * tests/unictype/test-categ_Nd.c: Likewise.
39512         * tests/unictype/test-categ_Nl.c: Likewise.
39513         * tests/unictype/test-categ_No.c: Likewise.
39514         * tests/unictype/test-categ_P.c: Likewise.
39515         * tests/unictype/test-categ_Pc.c: Likewise.
39516         * tests/unictype/test-categ_Pd.c: Likewise.
39517         * tests/unictype/test-categ_Pe.c: Likewise.
39518         * tests/unictype/test-categ_Pf.c: Likewise.
39519         * tests/unictype/test-categ_Pi.c: Likewise.
39520         * tests/unictype/test-categ_Po.c: Likewise.
39521         * tests/unictype/test-categ_Ps.c: Likewise.
39522         * tests/unictype/test-categ_S.c: Likewise.
39523         * tests/unictype/test-categ_Sc.c: Likewise.
39524         * tests/unictype/test-categ_Sk.c: Likewise.
39525         * tests/unictype/test-categ_Sm.c: Likewise.
39526         * tests/unictype/test-categ_So.c: Likewise.
39527         * tests/unictype/test-categ_Z.c: Likewise.
39528         * tests/unictype/test-categ_Zl.c: Likewise.
39529         * tests/unictype/test-categ_Zp.c: Likewise.
39530         * tests/unictype/test-categ_Zs.c: Likewise.
39531         * tests/unictype/test-ctype_alnum.c: Likewise.
39532         * tests/unictype/test-ctype_alpha.c: Likewise.
39533         * tests/unictype/test-ctype_blank.c: Likewise.
39534         * tests/unictype/test-ctype_cntrl.c: Likewise.
39535         * tests/unictype/test-ctype_digit.c: Likewise.
39536         * tests/unictype/test-ctype_graph.c: Likewise.
39537         * tests/unictype/test-ctype_lower.c: Likewise.
39538         * tests/unictype/test-ctype_print.c: Likewise.
39539         * tests/unictype/test-ctype_punct.c: Likewise.
39540         * tests/unictype/test-ctype_space.c: Likewise.
39541         * tests/unictype/test-ctype_upper.c: Likewise.
39542         * tests/unictype/test-ctype_xdigit.c: Likewise.
39543         * tests/unictype/test-decdigit.h: Likewise.
39544         * tests/unictype/test-digit.h: Likewise.
39545         * tests/unictype/test-numeric.h: Likewise.
39546         * tests/unictype/test-pr_alphabetic.c: Likewise.
39547         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
39548         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
39549         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
39550         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
39551         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
39552         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
39553         * tests/unictype/test-pr_bidi_control.c: Likewise.
39554         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
39555         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
39556         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
39557         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
39558         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
39559         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
39560         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
39561         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
39562         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
39563         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
39564         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
39565         * tests/unictype/test-pr_combining.c: Likewise.
39566         * tests/unictype/test-pr_composite.c: Likewise.
39567         * tests/unictype/test-pr_currency_symbol.c: Likewise.
39568         * tests/unictype/test-pr_dash.c: Likewise.
39569         * tests/unictype/test-pr_decimal_digit.c: Likewise.
39570         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
39571         * tests/unictype/test-pr_deprecated.c: Likewise.
39572         * tests/unictype/test-pr_diacritic.c: Likewise.
39573         * tests/unictype/test-pr_extender.c: Likewise.
39574         * tests/unictype/test-pr_format_control.c: Likewise.
39575         * tests/unictype/test-pr_grapheme_base.c: Likewise.
39576         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
39577         * tests/unictype/test-pr_grapheme_link.c: Likewise.
39578         * tests/unictype/test-pr_hex_digit.c: Likewise.
39579         * tests/unictype/test-pr_hyphen.c: Likewise.
39580         * tests/unictype/test-pr_id_continue.c: Likewise.
39581         * tests/unictype/test-pr_id_start.c: Likewise.
39582         * tests/unictype/test-pr_ideographic.c: Likewise.
39583         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
39584         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
39585         * tests/unictype/test-pr_ignorable_control.c: Likewise.
39586         * tests/unictype/test-pr_iso_control.c: Likewise.
39587         * tests/unictype/test-pr_join_control.c: Likewise.
39588         * tests/unictype/test-pr_left_of_pair.c: Likewise.
39589         * tests/unictype/test-pr_line_separator.c: Likewise.
39590         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
39591         * tests/unictype/test-pr_lowercase.c: Likewise.
39592         * tests/unictype/test-pr_math.c: Likewise.
39593         * tests/unictype/test-pr_non_break.c: Likewise.
39594         * tests/unictype/test-pr_not_a_character.c: Likewise.
39595         * tests/unictype/test-pr_numeric.c: Likewise.
39596         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
39597         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
39598         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
39599         * tests/unictype/test-pr_other_id_continue.c: Likewise.
39600         * tests/unictype/test-pr_other_id_start.c: Likewise.
39601         * tests/unictype/test-pr_other_lowercase.c: Likewise.
39602         * tests/unictype/test-pr_other_math.c: Likewise.
39603         * tests/unictype/test-pr_other_uppercase.c: Likewise.
39604         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
39605         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
39606         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
39607         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
39608         * tests/unictype/test-pr_private_use.c: Likewise.
39609         * tests/unictype/test-pr_punctuation.c: Likewise.
39610         * tests/unictype/test-pr_quotation_mark.c: Likewise.
39611         * tests/unictype/test-pr_radical.c: Likewise.
39612         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
39613         * tests/unictype/test-pr_soft_dotted.c: Likewise.
39614         * tests/unictype/test-pr_space.c: Likewise.
39615         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
39616         * tests/unictype/test-pr_titlecase.c: Likewise.
39617         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
39618         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
39619         * tests/unictype/test-pr_uppercase.c: Likewise.
39620         * tests/unictype/test-pr_variation_selector.c: Likewise.
39621         * tests/unictype/test-pr_white_space.c: Likewise.
39622         * tests/unictype/test-pr_xid_continue.c: Likewise.
39623         * tests/unictype/test-pr_xid_start.c: Likewise.
39624         * tests/unictype/test-pr_zero_width.c: Likewise.
39625         * tests/unictype/test-sy_c_whitespace.c: Likewise.
39626         * tests/unictype/test-sy_java_whitespace.c: Likewise.
39627
39628 2007-11-12  Bruno Haible  <bruno@clisp.org>
39629
39630         Unicode character classification functions.
39631         * lib/unictype.h: New file.
39632         * modules/unictype/base: New file.
39633         * modules/unictype/category-L: New file.
39634         * modules/unictype/category-Lu: New file.
39635         * modules/unictype/category-Ll: New file.
39636         * modules/unictype/category-Lt: New file.
39637         * modules/unictype/category-Lm: New file.
39638         * modules/unictype/category-Lo: New file.
39639         * modules/unictype/category-M: New file.
39640         * modules/unictype/category-Mn: New file.
39641         * modules/unictype/category-Mc: New file.
39642         * modules/unictype/category-Me: New file.
39643         * modules/unictype/category-N: New file.
39644         * modules/unictype/category-Nd: New file.
39645         * modules/unictype/category-Nl: New file.
39646         * modules/unictype/category-No: New file.
39647         * modules/unictype/category-P: New file.
39648         * modules/unictype/category-Pc: New file.
39649         * modules/unictype/category-Pd: New file.
39650         * modules/unictype/category-Ps: New file.
39651         * modules/unictype/category-Pe: New file.
39652         * modules/unictype/category-Pi: New file.
39653         * modules/unictype/category-Pf: New file.
39654         * modules/unictype/category-Po: New file.
39655         * modules/unictype/category-S: New file.
39656         * modules/unictype/category-Sm: New file.
39657         * modules/unictype/category-Sc: New file.
39658         * modules/unictype/category-Sk: New file.
39659         * modules/unictype/category-So: New file.
39660         * modules/unictype/category-Z: New file.
39661         * modules/unictype/category-Zs: New file.
39662         * modules/unictype/category-Zl: New file.
39663         * modules/unictype/category-Zp: New file.
39664         * modules/unictype/category-C: New file.
39665         * modules/unictype/category-Cc: New file.
39666         * modules/unictype/category-Cf: New file.
39667         * modules/unictype/category-Cs: New file.
39668         * modules/unictype/category-Co: New file.
39669         * modules/unictype/category-Cn: New file.
39670         * modules/unictype/category-or: New file.
39671         * modules/unictype/category-of: New file.
39672         * modules/unictype/category-test: New file.
39673         * modules/unictype/category-test-withtable: New file.
39674         * modules/unictype/category-byname: New file.
39675         * modules/unictype/category-none: New file.
39676         * modules/unictype/category-and: New file.
39677         * modules/unictype/category-and-not: New file.
39678         * modules/unictype/category-name: New file.
39679         * modules/unictype/combining-class: New file.
39680         * modules/unictype/category-all: New file.
39681         * modules/unictype/bidicategory-all: New file.
39682         * modules/unictype/bidicategory-byname: New file.
39683         * modules/unictype/bidicategory-name: New file.
39684         * modules/unictype/bidicategory-of: New file.
39685         * modules/unictype/bidicategory-test: New file.
39686         * modules/unictype/decimal-digit: New file.
39687         * modules/unictype/digit: New file.
39688         * modules/unictype/numeric: New file.
39689         * modules/unictype/mirror: New file.
39690         * modules/unictype/property-white-space: New file.
39691         * modules/unictype/property-alphabetic: New file.
39692         * modules/unictype/property-other-alphabetic: New file.
39693         * modules/unictype/property-not-a-character: New file.
39694         * modules/unictype/property-default-ignorable-code-point: New file.
39695         * modules/unictype/property-other-default-ignorable-code-point: New
39696         file.
39697         * modules/unictype/property-deprecated: New file.
39698         * modules/unictype/property-logical-order-exception: New file.
39699         * modules/unictype/property-variation-selector: New file.
39700         * modules/unictype/property-private-use: New file.
39701         * modules/unictype/property-unassigned-code-value: New file.
39702         * modules/unictype/property-uppercase: New file.
39703         * modules/unictype/property-other-uppercase: New file.
39704         * modules/unictype/property-lowercase: New file.
39705         * modules/unictype/property-other-lowercase: New file.
39706         * modules/unictype/property-titlecase: New file.
39707         * modules/unictype/property-soft-dotted: New file.
39708         * modules/unictype/property-id-start: New file.
39709         * modules/unictype/property-other-id-start: New file.
39710         * modules/unictype/property-id-continue: New file.
39711         * modules/unictype/property-other-id-continue: New file.
39712         * modules/unictype/property-xid-start: New file.
39713         * modules/unictype/property-xid-continue: New file.
39714         * modules/unictype/property-pattern-white-space: New file.
39715         * modules/unictype/property-pattern-syntax: New file.
39716         * modules/unictype/property-join-control: New file.
39717         * modules/unictype/property-grapheme-base: New file.
39718         * modules/unictype/property-grapheme-extend: New file.
39719         * modules/unictype/property-other-grapheme-extend: New file.
39720         * modules/unictype/property-grapheme-link: New file.
39721         * modules/unictype/property-bidi-control: New file.
39722         * modules/unictype/property-bidi-left-to-right: New file.
39723         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
39724         * modules/unictype/property-bidi-arabic-right-to-left: New file.
39725         * modules/unictype/property-bidi-european-digit: New file.
39726         * modules/unictype/property-bidi-eur-num-separator: New file.
39727         * modules/unictype/property-bidi-eur-num-terminator: New file.
39728         * modules/unictype/property-bidi-arabic-digit: New file.
39729         * modules/unictype/property-bidi-common-separator: New file.
39730         * modules/unictype/property-bidi-block-separator: New file.
39731         * modules/unictype/property-bidi-segment-separator: New file.
39732         * modules/unictype/property-bidi-whitespace: New file.
39733         * modules/unictype/property-bidi-non-spacing-mark: New file.
39734         * modules/unictype/property-bidi-boundary-neutral: New file.
39735         * modules/unictype/property-bidi-pdf: New file.
39736         * modules/unictype/property-bidi-embedding-or-override: New file.
39737         * modules/unictype/property-bidi-other-neutral: New file.
39738         * modules/unictype/property-hex-digit: New file.
39739         * modules/unictype/property-ascii-hex-digit: New file.
39740         * modules/unictype/property-ideographic: New file.
39741         * modules/unictype/property-unified-ideograph: New file.
39742         * modules/unictype/property-radical: New file.
39743         * modules/unictype/property-ids-binary-operator: New file.
39744         * modules/unictype/property-ids-trinary-operator: New file.
39745         * modules/unictype/property-zero-width: New file.
39746         * modules/unictype/property-space: New file.
39747         * modules/unictype/property-non-break: New file.
39748         * modules/unictype/property-iso-control: New file.
39749         * modules/unictype/property-format-control: New file.
39750         * modules/unictype/property-dash: New file.
39751         * modules/unictype/property-hyphen: New file.
39752         * modules/unictype/property-punctuation: New file.
39753         * modules/unictype/property-line-separator: New file.
39754         * modules/unictype/property-paragraph-separator: New file.
39755         * modules/unictype/property-quotation-mark: New file.
39756         * modules/unictype/property-sentence-terminal: New file.
39757         * modules/unictype/property-terminal-punctuation: New file.
39758         * modules/unictype/property-currency-symbol: New file.
39759         * modules/unictype/property-math: New file.
39760         * modules/unictype/property-other-math: New file.
39761         * modules/unictype/property-paired-punctuation: New file.
39762         * modules/unictype/property-left-of-pair: New file.
39763         * modules/unictype/property-combining: New file.
39764         * modules/unictype/property-composite: New file.
39765         * modules/unictype/property-decimal-digit: New file.
39766         * modules/unictype/property-numeric: New file.
39767         * modules/unictype/property-diacritic: New file.
39768         * modules/unictype/property-extender: New file.
39769         * modules/unictype/property-ignorable-control: New file.
39770         * modules/unictype/property-test: New file.
39771         * modules/unictype/property-byname: New file.
39772         * modules/unictype/property-all: New file.
39773         * modules/unictype/scripts: New file.
39774         * modules/unictype/scripts-all: New file.
39775         * modules/unictype/block-of: New file.
39776         * modules/unictype/block-test: New file.
39777         * modules/unictype/block-list: New file.
39778         * modules/unictype/block-all: New file.
39779         * modules/unictype/syntax-c-whitespace: New file.
39780         * modules/unictype/syntax-java-whitespace: New file.
39781         * modules/unictype/syntax-c-ident: New file.
39782         * modules/unictype/syntax-java-ident: New file.
39783         * modules/unictype/ctype-alnum: New file.
39784         * modules/unictype/ctype-alpha: New file.
39785         * modules/unictype/ctype-cntrl: New file.
39786         * modules/unictype/ctype-digit: New file.
39787         * modules/unictype/ctype-graph: New file.
39788         * modules/unictype/ctype-lower: New file.
39789         * modules/unictype/ctype-print: New file.
39790         * modules/unictype/ctype-punct: New file.
39791         * modules/unictype/ctype-space: New file.
39792         * modules/unictype/ctype-upper: New file.
39793         * modules/unictype/ctype-xdigit: New file.
39794         * modules/unictype/ctype-blank: New file.
39795         * lib/unictype/bidi_byname.c: New file.
39796         * lib/unictype/bidi_name.c: New file.
39797         * lib/unictype/bidi_of.c: New file.
39798         * lib/unictype/bidi_test.c: New file.
39799         * lib/unictype/bitmap.h: New file.
39800         * lib/unictype/block_test.c: New file.
39801         * lib/unictype/blocks.c: New file.
39802         * lib/unictype/categ_C.c: New file.
39803         * lib/unictype/categ_Cc.c: New file.
39804         * lib/unictype/categ_Cf.c: New file.
39805         * lib/unictype/categ_Cn.c: New file.
39806         * lib/unictype/categ_Co.c: New file.
39807         * lib/unictype/categ_Cs.c: New file.
39808         * lib/unictype/categ_L.c: New file.
39809         * lib/unictype/categ_Ll.c: New file.
39810         * lib/unictype/categ_Lm.c: New file.
39811         * lib/unictype/categ_Lo.c: New file.
39812         * lib/unictype/categ_Lt.c: New file.
39813         * lib/unictype/categ_Lu.c: New file.
39814         * lib/unictype/categ_M.c: New file.
39815         * lib/unictype/categ_Mc.c: New file.
39816         * lib/unictype/categ_Me.c: New file.
39817         * lib/unictype/categ_Mn.c: New file.
39818         * lib/unictype/categ_N.c: New file.
39819         * lib/unictype/categ_Nd.c: New file.
39820         * lib/unictype/categ_Nl.c: New file.
39821         * lib/unictype/categ_No.c: New file.
39822         * lib/unictype/categ_P.c: New file.
39823         * lib/unictype/categ_Pc.c: New file.
39824         * lib/unictype/categ_Pd.c: New file.
39825         * lib/unictype/categ_Pe.c: New file.
39826         * lib/unictype/categ_Pf.c: New file.
39827         * lib/unictype/categ_Pi.c: New file.
39828         * lib/unictype/categ_Po.c: New file.
39829         * lib/unictype/categ_Ps.c: New file.
39830         * lib/unictype/categ_S.c: New file.
39831         * lib/unictype/categ_Sc.c: New file.
39832         * lib/unictype/categ_Sk.c: New file.
39833         * lib/unictype/categ_Sm.c: New file.
39834         * lib/unictype/categ_So.c: New file.
39835         * lib/unictype/categ_Z.c: New file.
39836         * lib/unictype/categ_Zl.c: New file.
39837         * lib/unictype/categ_Zp.c: New file.
39838         * lib/unictype/categ_Zs.c: New file.
39839         * lib/unictype/categ_and.c: New file.
39840         * lib/unictype/categ_and_not.c: New file.
39841         * lib/unictype/categ_byname.c: New file.
39842         * lib/unictype/categ_name.c: New file.
39843         * lib/unictype/categ_none.c: New file.
39844         * lib/unictype/categ_of.c: New file.
39845         * lib/unictype/categ_or.c: New file.
39846         * lib/unictype/categ_test.c: New file.
39847         * lib/unictype/combining.c: New file.
39848         * lib/unictype/ctype_alnum.c: New file.
39849         * lib/unictype/ctype_alpha.c: New file.
39850         * lib/unictype/ctype_blank.c: New file.
39851         * lib/unictype/ctype_cntrl.c: New file.
39852         * lib/unictype/ctype_digit.c: New file.
39853         * lib/unictype/ctype_graph.c: New file.
39854         * lib/unictype/ctype_lower.c: New file.
39855         * lib/unictype/ctype_print.c: New file.
39856         * lib/unictype/ctype_punct.c: New file.
39857         * lib/unictype/ctype_space.c: New file.
39858         * lib/unictype/ctype_upper.c: New file.
39859         * lib/unictype/ctype_xdigit.c: New file.
39860         * lib/unictype/decdigit.c: New file.
39861         * lib/unictype/digit.c: New file.
39862         * lib/unictype/identsyntaxmap.h: New file.
39863         * lib/unictype/mirror.c: New file.
39864         * lib/unictype/numeric.c: New file.
39865         * lib/unictype/pr_alphabetic.c: New file.
39866         * lib/unictype/pr_ascii_hex_digit.c: New file.
39867         * lib/unictype/pr_bidi_arabic_digit.c: New file.
39868         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
39869         * lib/unictype/pr_bidi_block_separator.c: New file.
39870         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
39871         * lib/unictype/pr_bidi_common_separator.c: New file.
39872         * lib/unictype/pr_bidi_control.c: New file.
39873         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
39874         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
39875         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
39876         * lib/unictype/pr_bidi_european_digit.c: New file.
39877         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
39878         * lib/unictype/pr_bidi_left_to_right.c: New file.
39879         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
39880         * lib/unictype/pr_bidi_other_neutral.c: New file.
39881         * lib/unictype/pr_bidi_pdf.c: New file.
39882         * lib/unictype/pr_bidi_segment_separator.c: New file.
39883         * lib/unictype/pr_bidi_whitespace.c: New file.
39884         * lib/unictype/pr_byname.c: New file.
39885         * lib/unictype/pr_byname.gperf: New file.
39886         * lib/unictype/pr_combining.c: New file.
39887         * lib/unictype/pr_composite.c: New file.
39888         * lib/unictype/pr_currency_symbol.c: New file.
39889         * lib/unictype/pr_dash.c: New file.
39890         * lib/unictype/pr_decimal_digit.c: New file.
39891         * lib/unictype/pr_default_ignorable_code_point.c: New file.
39892         * lib/unictype/pr_deprecated.c: New file.
39893         * lib/unictype/pr_diacritic.c: New file.
39894         * lib/unictype/pr_extender.c: New file.
39895         * lib/unictype/pr_format_control.c: New file.
39896         * lib/unictype/pr_grapheme_base.c: New file.
39897         * lib/unictype/pr_grapheme_extend.c: New file.
39898         * lib/unictype/pr_grapheme_link.c: New file.
39899         * lib/unictype/pr_hex_digit.c: New file.
39900         * lib/unictype/pr_hyphen.c: New file.
39901         * lib/unictype/pr_id_continue.c: New file.
39902         * lib/unictype/pr_id_start.c: New file.
39903         * lib/unictype/pr_ideographic.c: New file.
39904         * lib/unictype/pr_ids_binary_operator.c: New file.
39905         * lib/unictype/pr_ids_trinary_operator.c: New file.
39906         * lib/unictype/pr_ignorable_control.c: New file.
39907         * lib/unictype/pr_iso_control.c: New file.
39908         * lib/unictype/pr_join_control.c: New file.
39909         * lib/unictype/pr_left_of_pair.c: New file.
39910         * lib/unictype/pr_line_separator.c: New file.
39911         * lib/unictype/pr_logical_order_exception.c: New file.
39912         * lib/unictype/pr_lowercase.c: New file.
39913         * lib/unictype/pr_math.c: New file.
39914         * lib/unictype/pr_non_break.c: New file.
39915         * lib/unictype/pr_not_a_character.c: New file.
39916         * lib/unictype/pr_numeric.c: New file.
39917         * lib/unictype/pr_other_alphabetic.c: New file.
39918         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
39919         * lib/unictype/pr_other_grapheme_extend.c: New file.
39920         * lib/unictype/pr_other_id_continue.c: New file.
39921         * lib/unictype/pr_other_id_start.c: New file.
39922         * lib/unictype/pr_other_lowercase.c: New file.
39923         * lib/unictype/pr_other_math.c: New file.
39924         * lib/unictype/pr_other_uppercase.c: New file.
39925         * lib/unictype/pr_paired_punctuation.c: New file.
39926         * lib/unictype/pr_paragraph_separator.c: New file.
39927         * lib/unictype/pr_pattern_syntax.c: New file.
39928         * lib/unictype/pr_pattern_white_space.c: New file.
39929         * lib/unictype/pr_private_use.c: New file.
39930         * lib/unictype/pr_punctuation.c: New file.
39931         * lib/unictype/pr_quotation_mark.c: New file.
39932         * lib/unictype/pr_radical.c: New file.
39933         * lib/unictype/pr_sentence_terminal.c: New file.
39934         * lib/unictype/pr_soft_dotted.c: New file.
39935         * lib/unictype/pr_space.c: New file.
39936         * lib/unictype/pr_terminal_punctuation.c: New file.
39937         * lib/unictype/pr_test.c: New file.
39938         * lib/unictype/pr_titlecase.c: New file.
39939         * lib/unictype/pr_unassigned_code_value.c: New file.
39940         * lib/unictype/pr_unified_ideograph.c: New file.
39941         * lib/unictype/pr_uppercase.c: New file.
39942         * lib/unictype/pr_variation_selector.c: New file.
39943         * lib/unictype/pr_white_space.c: New file.
39944         * lib/unictype/pr_xid_continue.c: New file.
39945         * lib/unictype/pr_xid_start.c: New file.
39946         * lib/unictype/pr_zero_width.c: New file.
39947         * lib/unictype/scripts.c: New file.
39948         * lib/unictype/sy_c_ident.c: New file.
39949         * lib/unictype/sy_c_whitespace.c: New file.
39950         * lib/unictype/sy_java_ident.c: New file.
39951         * lib/unictype/sy_java_whitespace.c: New file.
39952
39953         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
39954         Unicode 5.0.0.
39955         * lib/unictype/blocks.h: Likewise.
39956         * lib/unictype/categ_C.h: Likewise.
39957         * lib/unictype/categ_Cc.h: Likewise.
39958         * lib/unictype/categ_Cf.h: Likewise.
39959         * lib/unictype/categ_Cn.h: Likewise.
39960         * lib/unictype/categ_Co.h: Likewise.
39961         * lib/unictype/categ_Cs.h: Likewise.
39962         * lib/unictype/categ_L.h: Likewise.
39963         * lib/unictype/categ_Ll.h: Likewise.
39964         * lib/unictype/categ_Lm.h: Likewise.
39965         * lib/unictype/categ_Lo.h: Likewise.
39966         * lib/unictype/categ_Lt.h: Likewise.
39967         * lib/unictype/categ_Lu.h: Likewise.
39968         * lib/unictype/categ_M.h: Likewise.
39969         * lib/unictype/categ_Mc.h: Likewise.
39970         * lib/unictype/categ_Me.h: Likewise.
39971         * lib/unictype/categ_Mn.h: Likewise.
39972         * lib/unictype/categ_N.h: Likewise.
39973         * lib/unictype/categ_Nd.h: Likewise.
39974         * lib/unictype/categ_Nl.h: Likewise.
39975         * lib/unictype/categ_No.h: Likewise.
39976         * lib/unictype/categ_P.h: Likewise.
39977         * lib/unictype/categ_Pc.h: Likewise.
39978         * lib/unictype/categ_Pd.h: Likewise.
39979         * lib/unictype/categ_Pe.h: Likewise.
39980         * lib/unictype/categ_Pf.h: Likewise.
39981         * lib/unictype/categ_Pi.h: Likewise.
39982         * lib/unictype/categ_Po.h: Likewise.
39983         * lib/unictype/categ_Ps.h: Likewise.
39984         * lib/unictype/categ_S.h: Likewise.
39985         * lib/unictype/categ_Sc.h: Likewise.
39986         * lib/unictype/categ_Sk.h: Likewise.
39987         * lib/unictype/categ_Sm.h: Likewise.
39988         * lib/unictype/categ_So.h: Likewise.
39989         * lib/unictype/categ_Z.h: Likewise.
39990         * lib/unictype/categ_Zl.h: Likewise.
39991         * lib/unictype/categ_Zp.h: Likewise.
39992         * lib/unictype/categ_Zs.h: Likewise.
39993         * lib/unictype/categ_of.h: Likewise.
39994         * lib/unictype/combining.h: Likewise.
39995         * lib/unictype/ctype_alnum.h: Likewise.
39996         * lib/unictype/ctype_alpha.h: Likewise.
39997         * lib/unictype/ctype_blank.h: Likewise.
39998         * lib/unictype/ctype_cntrl.h: Likewise.
39999         * lib/unictype/ctype_digit.h: Likewise.
40000         * lib/unictype/ctype_graph.h: Likewise.
40001         * lib/unictype/ctype_lower.h: Likewise.
40002         * lib/unictype/ctype_print.h: Likewise.
40003         * lib/unictype/ctype_punct.h: Likewise.
40004         * lib/unictype/ctype_space.h: Likewise.
40005         * lib/unictype/ctype_upper.h: Likewise.
40006         * lib/unictype/ctype_xdigit.h: Likewise.
40007         * lib/unictype/decdigit.h: Likewise.
40008         * lib/unictype/digit.h: Likewise.
40009         * lib/unictype/mirror.h: Likewise.
40010         * lib/unictype/numeric.h: Likewise.
40011         * lib/unictype/pr_alphabetic.h: Likewise.
40012         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
40013         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
40014         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
40015         * lib/unictype/pr_bidi_block_separator.h: Likewise.
40016         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
40017         * lib/unictype/pr_bidi_common_separator.h: Likewise.
40018         * lib/unictype/pr_bidi_control.h: Likewise.
40019         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
40020         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
40021         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
40022         * lib/unictype/pr_bidi_european_digit.h: Likewise.
40023         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
40024         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
40025         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
40026         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
40027         * lib/unictype/pr_bidi_pdf.h: Likewise.
40028         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
40029         * lib/unictype/pr_bidi_whitespace.h: Likewise.
40030         * lib/unictype/pr_combining.h: Likewise.
40031         * lib/unictype/pr_composite.h: Likewise.
40032         * lib/unictype/pr_currency_symbol.h: Likewise.
40033         * lib/unictype/pr_dash.h: Likewise.
40034         * lib/unictype/pr_decimal_digit.h: Likewise.
40035         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
40036         * lib/unictype/pr_deprecated.h: Likewise.
40037         * lib/unictype/pr_diacritic.h: Likewise.
40038         * lib/unictype/pr_extender.h: Likewise.
40039         * lib/unictype/pr_format_control.h: Likewise.
40040         * lib/unictype/pr_grapheme_base.h: Likewise.
40041         * lib/unictype/pr_grapheme_extend.h: Likewise.
40042         * lib/unictype/pr_grapheme_link.h: Likewise.
40043         * lib/unictype/pr_hex_digit.h: Likewise.
40044         * lib/unictype/pr_hyphen.h: Likewise.
40045         * lib/unictype/pr_id_continue.h: Likewise.
40046         * lib/unictype/pr_id_start.h: Likewise.
40047         * lib/unictype/pr_ideographic.h: Likewise.
40048         * lib/unictype/pr_ids_binary_operator.h: Likewise.
40049         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
40050         * lib/unictype/pr_ignorable_control.h: Likewise.
40051         * lib/unictype/pr_iso_control.h: Likewise.
40052         * lib/unictype/pr_join_control.h: Likewise.
40053         * lib/unictype/pr_left_of_pair.h: Likewise.
40054         * lib/unictype/pr_line_separator.h: Likewise.
40055         * lib/unictype/pr_logical_order_exception.h: Likewise.
40056         * lib/unictype/pr_lowercase.h: Likewise.
40057         * lib/unictype/pr_math.h: Likewise.
40058         * lib/unictype/pr_non_break.h: Likewise.
40059         * lib/unictype/pr_not_a_character.h: Likewise.
40060         * lib/unictype/pr_numeric.h: Likewise.
40061         * lib/unictype/pr_other_alphabetic.h: Likewise.
40062         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
40063         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
40064         * lib/unictype/pr_other_id_continue.h: Likewise.
40065         * lib/unictype/pr_other_id_start.h: Likewise.
40066         * lib/unictype/pr_other_lowercase.h: Likewise.
40067         * lib/unictype/pr_other_math.h: Likewise.
40068         * lib/unictype/pr_other_uppercase.h: Likewise.
40069         * lib/unictype/pr_paired_punctuation.h: Likewise.
40070         * lib/unictype/pr_paragraph_separator.h: Likewise.
40071         * lib/unictype/pr_pattern_syntax.h: Likewise.
40072         * lib/unictype/pr_pattern_white_space.h: Likewise.
40073         * lib/unictype/pr_private_use.h: Likewise.
40074         * lib/unictype/pr_punctuation.h: Likewise.
40075         * lib/unictype/pr_quotation_mark.h: Likewise.
40076         * lib/unictype/pr_radical.h: Likewise.
40077         * lib/unictype/pr_sentence_terminal.h: Likewise.
40078         * lib/unictype/pr_soft_dotted.h: Likewise.
40079         * lib/unictype/pr_space.h: Likewise.
40080         * lib/unictype/pr_terminal_punctuation.h: Likewise.
40081         * lib/unictype/pr_titlecase.h: Likewise.
40082         * lib/unictype/pr_unassigned_code_value.h: Likewise.
40083         * lib/unictype/pr_unified_ideograph.h: Likewise.
40084         * lib/unictype/pr_uppercase.h: Likewise.
40085         * lib/unictype/pr_variation_selector.h: Likewise.
40086         * lib/unictype/pr_white_space.h: Likewise.
40087         * lib/unictype/pr_xid_continue.h: Likewise.
40088         * lib/unictype/pr_xid_start.h: Likewise.
40089         * lib/unictype/pr_zero_width.h: Likewise.
40090         * lib/unictype/scripts.h: Likewise.
40091         * lib/unictype/scripts_byname.gperf: Likewise.
40092         * lib/unictype/sy_c_ident.h: Likewise.
40093         * lib/unictype/sy_c_whitespace.h: Likewise.
40094         * lib/unictype/sy_java_ident.h: Likewise.
40095         * lib/unictype/sy_java_whitespace.h: Likewise.
40096
40097         * lib/unictype/Makefile: New file.
40098         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
40099         glibc.
40100         * lib/unictype/3level.h: New file, copied from glibc.
40101         * lib/unictype/3levelbit.h: New file.
40102
40103 2007-11-11  Bruno Haible  <bruno@clisp.org>
40104
40105         * modules/gperf: New file.
40106         * modules/iconv_open (Depends-on): Add it.
40107         (Makefile.am): Remove the GPERF definition.
40108
40109 2007-11-11  Bruno Haible  <bruno@clisp.org>
40110
40111         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
40112         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
40113
40114 2007-11-11  Bruno Haible  <bruno@clisp.org>
40115
40116         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
40117         (usage): Remove function.
40118
40119 2007-11-11  Bruno Haible  <bruno@clisp.org>
40120
40121         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
40122         gl_FUNC_CEILF_LIBS.
40123         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
40124         gl_FUNC_CEIL_LIBS.
40125         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
40126         gl_FUNC_CEILL_LIBS.
40127         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
40128         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
40129         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
40130
40131 2007-11-11  Bruno Haible  <bruno@clisp.org>
40132
40133         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
40134         roundf were declared but do not exist on functions.
40135         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
40136         roundl were declared but do not exist on functions.
40137         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
40138         HAVE_FLOORL_AND_CEILL, respectively.
40139         Needed for Sun C on Solaris 10.
40140
40141 2007-11-11  Bruno Haible  <bruno@clisp.org>
40142
40143         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
40144         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
40145         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
40146         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
40147         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
40148         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
40149         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
40150         HAVE_DECL_ROUNDF.
40151         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
40152         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
40153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
40154         of HAVE_DECL_ROUND*.
40155         * modules/math (Makefile.am): Update.
40156
40157 2007-11-10  Bruno Haible  <bruno@clisp.org>
40158
40159         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
40160         ptrdiff_t as m4/intl.m4.
40161
40162 2007-11-10  Jim Meyering  <meyering@redhat.com>
40163
40164         Avoid link failure for the argmatch test.
40165         * tests/test-argmatch.c (usage): Define function to avoid a link
40166         failure: argmatch_die requires a usage function.
40167
40168 2007-11-09  Bruno Haible  <bruno@clisp.org>
40169
40170         * doc/functions/snprintf.texi: Mention BeOS deficiency.
40171         * doc/functions/vsnprintf.texi: Likewise.
40172         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
40173         with a size argument < 2.
40174
40175 2007-11-09  Bruno Haible  <bruno@clisp.org>
40176
40177         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
40178         buffer. Fixes an inefficiency introduced on 2007-11-03.
40179
40180 2007-11-09  Bruno Haible  <bruno@clisp.org>
40181
40182         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
40183         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
40184
40185 2007-11-08  Jim Meyering  <meyering@redhat.com>
40186
40187         Change cache variable name prefix "jm_" to "gl_" everywhere.
40188         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
40189         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
40190         * m4/uptime.m4: s/gl_/jm_/
40191
40192 2007-11-07  Bruno Haible  <bruno@clisp.org>
40193
40194         Update to GNU gettext 0.17.
40195         * m4/intl.m4: Update to GNU gettext 0.17.
40196         * m4/po.m4: Likewise.
40197         * modules/gettext (Files): Remove m4/ulonglong.m4.
40198         (configure.ac): Require gettext infrastructure from version 0.17.
40199
40200 2007-11-06  Bruno Haible  <bruno@clisp.org>
40201
40202         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
40203         symbolic values are not defined in a public header.
40204         * lib/freadable.c (freadable) [QNX]: Likewise.
40205         * lib/freadahead.c (freadahead) [QNX]: Likewise.
40206         * lib/freading.c (freading) [QNX]: Likewise.
40207         * lib/fseterr.c (fseterr) [QNX]: Likewise.
40208         * lib/fwritable.c (fwritable) [QNX]: Likewise.
40209         * lib/fwriting.c (fwriting) [QNX]: Likewise.
40210         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
40211         Reported by Alain Magloire.
40212
40213         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
40214
40215 2007-11-05  Bruno Haible  <bruno@clisp.org>
40216
40217         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
40218         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
40219         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
40220         Reported by Eric Blake.
40221
40222 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40223             Bruno Haible  <bruno@clisp.org>
40224
40225         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
40226         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
40227         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
40228         (malloc): Undefine also before including <stdlib.h>.
40229         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
40230         Needed on OSF/1 4.0.
40231
40232 2007-11-05  Jim Meyering  <meyering@redhat.com>
40233
40234         git-version-gen: sync from coreutils.
40235         * build-aux/git-version-gen: Add comments.
40236         Change the first '-' to '.' in the snapshot version string,
40237         e.g., 6.9-377-08144 -> 6.9.377-08144
40238         Remove first parameter.
40239         Don't declare a version "-dirty" merely because a time
40240         stamp has changed.
40241
40242 2007-11-04  Bruno Haible  <bruno@clisp.org>
40243
40244         * lib/lock.h: Protect all macro definitions containing an 'if'
40245         statement through a "do { ... } while (0)".
40246         * lib/tls.h: Likewise.
40247
40248 2007-11-04  Bruno Haible  <bruno@clisp.org>
40249
40250         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
40251
40252 2007-11-04  Bruno Haible  <bruno@clisp.org>
40253
40254         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
40255         * modules/fprintf-posix (Depends-on): Add nocrash.
40256         * modules/snprintf-posix (Depends-on): Likewise.
40257         * modules/sprintf-posix (Depends-on): Likewise.
40258         * modules/vasnprintf-posix (Depends-on): Likewise.
40259         * modules/vasprintf-posix (Depends-on): Likewise.
40260         * modules/vfprintf-posix (Depends-on): Likewise.
40261         * modules/vsnprintf-posix (Depends-on): Likewise.
40262         * modules/vsprintf-posix (Depends-on): Likewise.
40263         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40264         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40265         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40266         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40267         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40268         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40269         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40270
40271 2007-11-04  Bruno Haible  <bruno@clisp.org>
40272
40273         * modules/nocrash: New file.
40274         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
40275         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
40276
40277 2007-11-04  Bruno Haible  <bruno@clisp.org>
40278
40279         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
40280         precision handling.
40281         * tests/test-vasprintf-posix.c (test_function): Likewise.
40282         * tests/test-snprintf-posix.h (test_function): Likewise.
40283         * tests/test-sprintf-posix.h (test_function): Likewise.
40284
40285         Fix *printf behaviour for large precisions on mingw and BeOS.
40286         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
40287         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
40288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
40289         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40290         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40291         gl_PRINTF_PRECISION and test its result. Invoke
40292         gl_PREREQ_VASNPRINTF_PRECISION.
40293         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40294         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40295         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40296         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40297         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40298         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40299         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40300         * doc/functions/fprintf.texi: Update.
40301         * doc/functions/printf.texi: Update.
40302         * doc/functions/snprintf.texi: Update.
40303         * doc/functions/sprintf.texi: Update.
40304         * doc/functions/vfprintf.texi: Update.
40305         * doc/functions/vprintf.texi: Update.
40306         * doc/functions/vsnprintf.texi: Update.
40307         * doc/functions/vsprintf.texi: Update.
40308
40309 2007-11-04  Bruno Haible  <bruno@clisp.org>
40310
40311         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
40312
40313 2007-11-04  Bruno Haible  <bruno@clisp.org>
40314
40315         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
40316         Reported by Sylvain Beucler <beuc@gnu.org>.
40317
40318 2007-11-03  Bruno Haible  <bruno@clisp.org>
40319
40320         * tests/test-fprintf-posix2.sh: New file.
40321         * tests/test-fprintf-posix2.c: New file.
40322         * modules/fprintf-posix-tests (Files): Add them.
40323         (TESTS): Add test-fprintf-posix2.sh.
40324         (configure.ac): Check for getrlimit and setrlimit.
40325         (check_PROGRAMS): Add test-fprintf-posix2.
40326
40327         * tests/test-printf-posix2.sh: New file.
40328         * tests/test-printf-posix2.c: New file.
40329         * modules/printf-posix-tests (Files): Add them.
40330         (TESTS): Add test-printf-posix2.sh.
40331         (configure.ac): Check for getrlimit and setrlimit.
40332         (check_PROGRAMS): Add test-printf-posix2.
40333
40334         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
40335         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
40336         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
40337         (decode_double): New function, copied from decode_long_double.
40338         (scale10_round_decimal_decoded): New function, extracted from
40339         scale10_round_decimal_long_double.
40340         (scale10_round_decimal_long_double): Use it.
40341         (scale10_round_decimal_double): New function.
40342         (floorlog10): New function.
40343         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
40344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
40345         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40346         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40347         gl_PRINTF_ENOMEM and test its result. Invoke
40348         gl_PREREQ_VASNPRINTF_ENOMEM.
40349         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40350         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40351         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40352         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40353         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40354         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40355         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40356         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
40357         * modules/snprintf-posix (Depends-on): Likewise.
40358         * modules/sprintf-posix (Depends-on): Likewise.
40359         * modules/vasnprintf-posix (Depends-on): Likewise.
40360         * modules/vasprintf-posix (Depends-on): Likewise.
40361         * modules/vfprintf-posix (Depends-on): Likewise.
40362         * modules/vsnprintf-posix (Depends-on): Likewise.
40363         * modules/vsprintf-posix (Depends-on): Likewise.
40364         * doc/functions/fprintf.texi: Update.
40365         * doc/functions/printf.texi: Update.
40366         * doc/functions/snprintf.texi: Update.
40367         * doc/functions/sprintf.texi: Update.
40368         * doc/functions/vfprintf.texi: Update.
40369         * doc/functions/vprintf.texi: Update.
40370         * doc/functions/vsnprintf.texi: Update.
40371         * doc/functions/vsprintf.texi: Update.
40372
40373 2007-11-03  Bruno Haible  <bruno@clisp.org>
40374
40375         * modules/frexp-nolibm-tests: New file.
40376
40377         * modules/frexp-nolibm: New file.
40378         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
40379
40380 2007-11-03  Bruno Haible  <bruno@clisp.org>
40381
40382         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
40383         value is C99 compliant.
40384         Needed for OSF/1 5.1.
40385
40386 2007-11-03  Bruno Haible  <bruno@clisp.org>
40387
40388         Fix out-of-memory handling of vasnprintf.
40389         * lib/printf-parse.c: Include <errno.h>.
40390         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
40391         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
40392         is already set.
40393
40394 2007-11-02  Eric Blake  <ebb9@byu.net>
40395
40396         Fix tests on cygwin.
40397         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
40398
40399 2007-11-01  Bruno Haible  <bruno@clisp.org>
40400
40401         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
40402         warning.
40403         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
40404         needed for POSIX compatibility.
40405
40406 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
40407
40408         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
40409         for compatibility with GNU.
40410
40411 2007-11-01  Bruno Haible  <bruno@clisp.org>
40412
40413         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
40414         (putenv): Renamed from rpl_putenv. Change argument type from
40415         'const char *' to 'char *'.
40416         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
40417         of defining putenv in config.h, just set REPLACE_PUTENV.
40418         * modules/putenv (Depends-on): Add stdlib.
40419         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40420         (Include): Use <stdlib.h>.
40421         * lib/stdlib.in.h (putenv): New declaration.
40422         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
40423         REPLACE_PUTENV.
40424         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
40425         REPLACE_PUTENV.
40426         Needed for MacOS X 10.5.0.
40427         Reported by Peter O'Gorman <peter@pogma.com>.
40428
40429 2007-11-01  Jim Meyering  <meyering@redhat.com>
40430
40431         Treat an empty date string exactly like "0".
40432         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
40433         if the remaining date string (to be parsed) is empty, use "0".
40434         Reported by Mischa Molhoek and discussed in this thread:
40435         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
40436
40437 2007-10-31  Bruno Haible  <bruno@clisp.org>
40438
40439         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
40440         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
40441         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
40442         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
40443         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
40444         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
40445
40446 2007-10-31  Bruno Haible  <bruno@clisp.org>
40447
40448         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
40449         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
40450         (AC_TYPE_LONG_LONG_INT): Use it.
40451         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
40452         it as well.
40453         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
40454         to m4/longlong.m4.
40455         * modules/stdint (Files): Remove m4/ulonglong.m4.
40456         * modules/strtoull (Files): Use m4/longlong.m4 instead of
40457         m4/ulonglong.m4.
40458         * modules/strtoumax (Files): Likewise.
40459
40460 2007-10-30  Bruno Haible  <bruno@clisp.org>
40461
40462         * modules/xvasprintf-posix: New file.
40463         Suggested by Eric Blake.
40464
40465 2007-10-30  Bruno Haible  <bruno@clisp.org>
40466
40467         * modules/xprintf-posix-tests: New file.
40468         * tests/test-xprintf-posix.sh: New file.
40469         * tests/test-xprintf-posix.c: New file.
40470         * tests/test-xfprintf-posix.c: New file.
40471
40472         * modules/xprintf-posix: New file.
40473
40474 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40475
40476         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
40477         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
40478         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
40479
40480 2007-10-29  Bruno Haible  <bruno@clisp.org>
40481
40482         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
40483         contain the special marker '_cv_'.
40484         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40485         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40486         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40487         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
40488         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40489         Reported by Ralf Wildenhues.
40490
40491 2007-10-29  Bruno Haible  <bruno@clisp.org>
40492
40493         * gnulib-tool (func_import): When --lgpl is not specified, set
40494         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
40495         GPLv3.
40496         Reported by Simon Josefsson.
40497
40498 2007-10-28  Bruno Haible  <bruno@clisp.org>
40499
40500         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
40501         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
40502         HAVE_DECL_ISFINITE.
40503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
40504         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
40505         HAVE_DECL_ISFINITE.
40506
40507 2007-10-28  Bruno Haible  <bruno@clisp.org>
40508
40509         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
40510         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
40511
40512 2007-10-28  Bruno Haible  <bruno@clisp.org>
40513
40514         Fix link errors with Sun C 5.0 on Solaris 10.
40515         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
40516         function is declared but not present in the compiler's libm.
40517         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
40518         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
40519         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
40520         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
40521         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
40522         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
40523         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
40524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
40525         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
40526         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
40527         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
40528         HAVE_DECL_FLOORL.
40529
40530 2007-10-28  Bruno Haible  <bruno@clisp.org>
40531
40532         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
40533         gl_FUNC_FLOORL. Cache the result.
40534         (gl_FUNC_FLOORL): Use it.
40535         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
40536         gl_FUNC_CEILL. Cache the result.
40537         (gl_FUNC_CEILL): Use it.
40538
40539         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
40540         gl_FUNC_FLOOR. Cache the result.
40541         (gl_FUNC_FLOOR): Use it.
40542         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
40543         gl_FUNC_CEIL. Cache the result.
40544         (gl_FUNC_CEIL): Use it.
40545
40546         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
40547         gl_FUNC_FLOORF. Cache the result.
40548         (gl_FUNC_FLOORF): Use it.
40549         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
40550         gl_FUNC_CEILF. Cache the result.
40551         (gl_FUNC_CEILF): Use it.
40552
40553 2007-10-28  Bruno Haible  <bruno@clisp.org>
40554
40555         * gnulib-tool: Allow specifying the LGPL version number through
40556         --lgpl=2 or --lgpl=3.
40557         (func_usage): Document --lgpl with argument.
40558         Handle --lgpl=... arguments.
40559         (func_import): Recognize also gl_LGPL calls with an argument. When
40560         --lgpl=2 is used and the module's license is just LGPL, report an
40561         error. Set sed_transform_lib_file according to the lgpl variable. In
40562         the generated files, use --lgpl or gl_LGPL invocations with argument,
40563         if necessary.
40564         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
40565         an LGPv2+ license.
40566         * doc/gnulib-tool.texi (Modified imports): Update explanation of
40567         gl_LGPL macro.
40568
40569 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40570             Bruno Haible  <bruno@clisp.org>
40571
40572         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
40573         (u16_uctomb_aux): Likewise.
40574         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
40575         !HAVE_INLINE.
40576         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
40577
40578 2007-10-28  Bruno Haible  <bruno@clisp.org>
40579
40580         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
40581         Invoke AM_GETTEXT_OPTION if it exists.
40582         * modules/vasprintf: Likewise.
40583         * modules/verror: Likewise.
40584         * modules/xprintf: Likewise.
40585         * modules/xvasprintf: Likewise.
40586
40587 2007-10-27  Ben Pfaff  <blp@gnu.org>
40588
40589         * lib/math.in.h: Define isfinite macro and prototypes for
40590         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
40591         implementations.
40592         * m4/math_h.m4: New substitutions for isfinite module.
40593         * lib/isfinite.c: New file.
40594         * m4/isfinite.m4: New file.
40595         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
40596         * modules/isfinite: New file.
40597         * modules/isfinite-tests: New file.
40598         * tests/tests-isfinite.c: New file.
40599         * doc/functions/isfinite.texi: Mention isfinite module.
40600         * MODULES.html.sh: Mention new module.
40601
40602 2007-10-27  Ben Pfaff  <blp@gnu.org>
40603
40604         Ralf Wildenhues reported that Tru64 4.0D declares the round
40605         functions but does not have definitions.
40606         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
40607         cannot be found in any library, set the output variable to
40608         "missing" instead of "".
40609         * m4/round.m4: Also use our substitute if we cannot find round in
40610         any library, even if it is declared.
40611         * m4/roundf.m4: Likewise for roundf.
40612         * m4/roundl.m4: Likewise for roundl.
40613         * lib/math.in.h: Undefine roundf, round, roundl before defining
40614         their replacements, to allow for hypothetical systems where these
40615         may be defined as macros but not available in libraries.
40616
40617 2007-10-27  Bruno Haible  <bruno@clisp.org>
40618
40619         * doc/gnulib.texi: Invoke @firstparagraphindent.
40620         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
40621         changes in gnulib.
40622         (Source changes): New section.
40623
40624 2007-10-26  Bruno Haible  <bruno@clisp.org>
40625
40626         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
40627         borrowed from autoconf.
40628
40629 2007-10-26  Bruno Haible  <bruno@clisp.org>
40630
40631         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
40632         strerror returned the empty string. Needed on HP-UX 11.00.
40633
40634 2007-10-24  Micah Cowan  <micah@cowan.name>
40635
40636         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
40637         * build-aux/bootstrap: Remove support for now-unnecessary option,
40638         --cvs-user, and envvars CVS_USER, CVS_RSH.
40639
40640 2007-10-24  Jim Meyering  <meyering@redhat.com>
40641
40642         Avoid diagnostics from sha1sum when there is no cached checksum.
40643         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
40644         if the po.s1 file hasn't been created yet.
40645
40646         * build-aux/bootstrap: Sync from coreutils:
40647         2007-10-24  Jim Meyering  <meyering@redhat.com>
40648         Get gnulib from the git repository, not from an obsolete cvs one.
40649         * build-aux/bootstrap: Suggestion from Micah Cowan.
40650         2007-10-04  Jim Meyering  <jim@meyering.net>
40651         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
40652         (update_po_files): Work also when there are no .po files in po/.
40653
40654 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
40655
40656         * README: Append ".git" to git and cg examples.
40657         Problem reported by Benoit Sigoure.
40658
40659 2007-10-23  Micah Cowan  <micah@cowan.name>
40660
40661         * users.txt: Add wget.
40662
40663 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40664
40665         Fix linking of some unistdio tests on FreeBSD.
40666         * modules/unistdio/u16-vsnprintf-tests
40667         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
40668         * modules/unistdio/u16-vsprintf-tests
40669         (test_u16_vsnprintf1_LDADD): Likewise.
40670         * modules/unistdio/u32-vsnprintf-tests
40671         (test_u32_vsnprintf1_LDADD): Likewise.
40672         * modules/unistdio/u32-vsprintf-tests
40673         (test_u32_vsprintf1_LDADD): Likewise.
40674         * modules/unistdio/u8-vsnprintf-tests
40675         (test_u8_vsnprintf1_LDADD): Likewise.
40676         * modules/unistdio/u8-vsprintf-tests
40677         (test_u8_vsprintf1_LDADD): Likewise.
40678         * modules/unistdio/ulc-vsnprintf-tests
40679         (test_ulc_vsnprintf1_LDADD): Likewise.
40680         * modules/unistdio/ulc-vsprintf-tests
40681         (test_ulc_vsprintf1_LDADD): Likewise.
40682
40683         Fix linking of some uniconv tests on FreeBSD.
40684         * modules/uniconv/u16-conv-from-enc-tests
40685         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
40686         * modules/uniconv/u16-conv-to-enc-tests
40687         (test_u16_conv_to_enc_LDADD): Likewise.
40688         * modules/uniconv/u16-strconv-from-enc-tests
40689         (test_u16_strconv_from_enc_LDADD): Likewise.
40690         * modules/uniconv/u16-strconv-to-enc-tests
40691         (test_u16_strconv_to_enc_LDADD): Likewise.
40692         * modules/uniconv/u32-conv-from-enc-tests
40693         (test_u32_conv_from_enc_LDADD): Likewise.
40694         * modules/uniconv/u32-conv-to-enc-tests
40695         (test_u32_conv_to_enc_LDADD): Likewise.
40696         * modules/uniconv/u32-strconv-from-enc-tests
40697         (test_u32_strconv_from_enc_LDADD): Likewise.
40698         * modules/uniconv/u32-strconv-to-enc-tests
40699         (test_u32_strconv_to_enc_LDADD): Likewise.
40700         * modules/uniconv/u8-conv-from-enc-tests
40701         (test_u8_conv_from_enc_LDADD): Likewise.
40702         * modules/uniconv/u8-conv-to-enc-tests
40703         (test_u8_conv_to_enc_LDADD): Likewise.
40704         * modules/uniconv/u8-strconv-from-enc-tests
40705         (test_u8_strconv_from_enc_LDADD): Likewise.
40706         * modules/uniconv/u8-strconv-to-enc-tests
40707         (test_u8_strconv_to_enc_LDADD): Likewise.
40708
40709 2007-10-22  Bruno Haible  <bruno@clisp.org>
40710
40711         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
40712         size.
40713
40714 2007-10-22  Eric Blake  <ebb9@byu.net>
40715
40716         Tweak x*printf documentation.
40717         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
40718         variable name and comments.
40719         Suggested by Bruno Haible.
40720
40721 2007-10-22  Bruno Haible  <bruno@clisp.org>
40722
40723         * lib/acl.c (copy_acl): Fix file name in comment.
40724
40725 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40726
40727         Fix Tru64 problem with stdbool.h.
40728         * lib/stdbool.in.h (false, true):
40729         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
40730         Don't declare as an enum in this situation; it runs afoul of Tru64.
40731         Problem reported by Steven M. Schweda in
40732         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
40733
40734 2007-10-22  Eric Blake  <ebb9@byu.net>
40735
40736         Also wrap vf?printf.
40737         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
40738         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
40739         (xvprintf, xvfprintf): New functions.
40740
40741 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40742
40743         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
40744         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
40745
40746         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
40747         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
40748
40749 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40750
40751         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
40752         by Bruno Haible.
40753
40754 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40755
40756         * lib/getloadavg.c
40757         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
40758         Undef `sys' after including sys/table.h, for Tru64 4.0D.
40759
40760         * tests/test-i-ring.c: Work for C89.
40761
40762 2007-10-22  Bruno Haible  <bruno@clisp.org>
40763
40764         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
40765         -1u, in preprocessor expression, so that we don't test for the bug
40766         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
40767         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
40768
40769 2007-10-22  Eric Blake  <ebb9@byu.net>
40770
40771         * tests/test-yesno.sh: Silence stderr during test.
40772
40773 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40774
40775         * modules/crypto/gc-camellia: New file.
40776
40777         * m4/gc-camellia.m4: New file.
40778
40779         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
40780
40781         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
40782
40783 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40784
40785         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
40786         --help to stdout.  Reported by sms@antinode.org (Steven
40787         M. Schweda).
40788
40789 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40790
40791         * users.txt: Fix link to libksba.
40792
40793 2007-10-21  Ben Pfaff  <blp@gnu.org>
40794
40795         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
40796         round.c roundf implementation that depends on floorf and ceilf to
40797         be tested unconditionally.
40798
40799 2007-10-21  Ben Pfaff  <blp@gnu.org>
40800
40801         * m4/check-libm-func.m4: Removed.
40802         * m4/check-math-lib.m4: New file.
40803         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
40804         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
40805         definition and lack of AC_LIBOBJ([roundf]).
40806         * m4/roundl.m4: Ditto, and similarly for roundl.
40807         * modules/round: Reference new m4 file.
40808         * modules/roundf: Ditto.
40809         * modules/roundl: Ditto.
40810         * tests/test-round2.c (main): Use ROUND instead of round.
40811         Bug report from Bruno Haible.
40812
40813 2007-10-21  Bruno Haible  <bruno@clisp.org>
40814
40815         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
40816         context.
40817
40818 2007-10-21  Bruno Haible  <bruno@clisp.org>
40819
40820         * tests/test-wcwidth.c (main): Allow negative result for some control
40821         characters.
40822
40823         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
40824         Needed on OSF/1 5.1.
40825
40826 2007-10-21  Bruno Haible  <bruno@clisp.org>
40827
40828         * tests/test-floorf1.c: Include isnanf.h.
40829         (main): Use isnanf() instead of isnan().
40830         * tests/test-ceilf1.c: Include isnanf.h.
40831         (main): Use isnanf() instead of isnan().
40832         * tests/test-truncf1.c: Include isnanf.h.
40833         (main): Use isnanf() instead of isnan().
40834         * tests/test-roundf1.c: Include isnanf.h.
40835         (main): Use isnanf() instead of isnan().
40836
40837 2007-10-21  Eric Blake  <ebb9@byu.net>
40838
40839         * users.txt: Update URL for m4.
40840
40841 2007-10-21  Bruno Haible  <bruno@clisp.org>
40842
40843         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
40844
40845 2007-10-21  Bruno Haible  <bruno@clisp.org>
40846
40847         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
40848         Git's management files if the CVS files are not present.
40849
40850 2007-10-20  Bruno Haible  <bruno@clisp.org>
40851
40852         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
40853         gcc-3.4.x.
40854
40855 2007-10-20  Ben Pfaff  <blp@gnu.org>
40856
40857         * lib/math.in.h: Declare round, roundf, roundl if we are providing
40858         implementations.
40859         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
40860         * lib/round.c: New file.
40861         * lib/roundf.c: New file.
40862         * lib/roundl.c: New file.
40863         * m4/round.m4: New file.
40864         * m4/roundf.m4: New file.
40865         * m4/roundl.m4: New file.
40866         * m4/check-libm-func-m4: New file.
40867         * modules/math: Replace round, roundf, roundl related @VARS@ in
40868         math.in.h.
40869         * modules/round: New file.
40870         * modules/round-tests: New file.
40871         * modules/roundf: New file.
40872         * modules/roundf-tests: New file.
40873         * modules/roundl: New file.
40874         * modules/roundl-tests: New file.
40875         * tests/test-round1.c: New file.
40876         * tests/test-round2.c: New file.
40877         * tests/test-roundf1.c: New file.
40878         * tests/test-roundf2.c: New file.
40879         * tests/test-roundl.c: New file.
40880         * doc/functions/round.texi: Mention round module.
40881         * doc/functions/roundf.texi: Mention roundf module.
40882         * doc/functions/roundl.texi: Mention roundl module.
40883         * MODULES.html.sh: Mention new modules.
40884         Thanks to Bruno Haible for suggestions.
40885
40886 2007-10-20  Jim Meyering  <meyering@redhat.com>
40887
40888         * lib/xprintf.c: Include <config.h> unconditionally.
40889
40890         Change xprintf's license to GPL.
40891         * modules/xprintf (License): s/LGPL/GPL/, since this module
40892         depends on modules (exit and exitfail) which are GPL.
40893         Suggestion from Bruno Haible.
40894
40895         xprintf fixes.
40896         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
40897         Use a clearer diagnostic.
40898         Patch from Bruno Haible.
40899
40900 2007-10-20  Bruno Haible  <bruno@clisp.org>
40901
40902         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
40903         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
40904         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40905
40906 2007-10-20  Bruno Haible  <bruno@clisp.org>
40907
40908         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
40909         precision in the comparison result > x - 1 or similar.
40910         * tests/test-ceilf2.c (correct_result_p): Likewise.
40911         * tests/test-truncf2.c (correct_result_p): Likewise.
40912         * tests/test-trunc2.c (correct_result_p): Likewise.
40913         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40914
40915 2007-10-20  Bruno Haible  <bruno@clisp.org>
40916
40917         * modules/ceil: New file.
40918         * m4/ceil.m4: New file.
40919         * doc/functions/ceil.texi: Mention the 'ceil' module.
40920
40921 2007-10-20  Bruno Haible  <bruno@clisp.org>
40922
40923         * modules/floor: New file.
40924         * m4/floor.m4: New file.
40925         * doc/functions/floor.texi: Mention the 'floor' module.
40926
40927 2007-10-20  Bruno Haible  <bruno@clisp.org>
40928
40929         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
40930         of %a.
40931         * modules/floorf-tests (Depends-on): Likewise.
40932         * modules/truncf-tests (Depends-on): Likewise.
40933         * modules/trunc-tests (Depends-on): Likewise.
40934         Reported by Ben Pfaff.
40935
40936 2007-10-19  Jim Meyering  <meyering@redhat.com>
40937
40938         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
40939         Don't bother testing specific errno values.  Just test ferror.
40940
40941         New module: xprintf
40942         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
40943
40944 2007-10-19  Bruno Haible  <bruno@clisp.org>
40945
40946         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
40947         syntax.
40948         * modules/javaexec (Makefile.am): Likewise.
40949         * modules/relocatable-prog (Makefile.am): Likewise.
40950         Suggested by Jim Meyering.
40951
40952 2007-10-18  Bruno Haible  <bruno@clisp.org>
40953
40954         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
40955         Reported by Jim Meyering.
40956
40957 2007-10-18  Eric Blake  <ebb9@byu.net>
40958
40959         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
40960
40961 2007-10-18  Bruno Haible  <bruno@clisp.org>
40962
40963         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
40964         the format string into writable memory. Needed in Fortify conditions.
40965
40966 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
40967             Bruno Haible  <bruno@clisp.org>
40968
40969         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
40970         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
40971         * modules/trim (Depends-on): Add mbchar.
40972         (configure.ac): Add gl_FUNC_MBRTOWC.
40973         (Makefile.am): Augment lib_SOURCES.
40974
40975 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
40976
40977         Modify glob.c to use fstatat and dirfd, to simplify it.
40978         Suggested by Eric Blake.
40979         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
40980         Don't include <stdbool.h>; not used.
40981         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
40982         (link_exists_p): Simplify implementation, since we can now assume
40983         dirfd and fstatat.
40984         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
40985
40986 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40987
40988         * gnulib-tool (func_get_dependencies): Fix sed script to
40989         match only tests.
40990
40991 2007-10-17  Bruno Haible  <bruno@clisp.org>
40992
40993         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
40994         allow locale names without encoding suffix.
40995         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40996         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40997
40998 2007-10-16  Bruno Haible  <bruno@clisp.org>
40999
41000         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
41001         * lib/getgroups.c (getgroups): Likewise.
41002         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
41003
41004 2007-10-16  Bruno Haible  <bruno@clisp.org>
41005
41006         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
41007         * modules/malloc-posix (License): Likewise.
41008         * modules/realloc-posix (License): Likewise.
41009         * modules/calloc-posix (License): Likewise.
41010         * modules/intprops (License): Change from GPL to LGPL, with
41011         Paul Eggert's approval.
41012
41013 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41014
41015         Merge glibc changes into lib/glob.c.
41016
41017         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
41018         2007-10-15 04:59:03 UTC.  Here are the changes:
41019
41020         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
41021
41022         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
41023
41024         * lib/glob.c: Add some branch prediction throughout.
41025
41026         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
41027
41028         [BZ #5103]
41029         * lib/glob.c (glob): Recognize patterns starting \/.
41030
41031         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
41032
41033         [BZ #3996]
41034         * lib/glob.c (attribute_hidden): Define if not defined.
41035         (glob): Unescape dirname, filename or username when needed and not
41036         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
41037         is NULL.  Handle unescaped [ in pattern without closing ].
41038         Don't pass GLOB_CHECK down to recursive glob for directories.
41039         (__glob_pattern_type): New function.
41040         (__glob_pattern_p): Implement using __glob_pattern_type.
41041         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
41042         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
41043         Remove unreachable code.
41044
41045         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
41046
41047         * lib/glob.c (glob_in_dir): Add some comments and asserts to
41048         explain why there are no leaks.
41049
41050         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
41051
41052         [BZ #3253]
41053         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
41054         time, rather allocate increasingly bigger arrays of pointers, if
41055         possible with alloca, if too large with malloc.
41056
41057 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41058
41059         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
41060         Problem reported by H.Merijn Brand in
41061         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
41062         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
41063         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
41064
41065 2007-10-15  Bruno Haible  <bruno@clisp.org>
41066
41067         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
41068         with explicit rpl_ prefix.
41069         * lib/fopen.c (fopen): Likewise.
41070         * lib/freopen.c (freopen): Likewise.
41071         * lib/iconv.c (iconv): Likewise.
41072         * lib/iconv_close.c (iconv_close): Likewise.
41073
41074 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41075
41076         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
41077
41078 2007-10-15  Bruno Haible  <bruno@clisp.org>
41079
41080         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
41081         <stddef.h> instead of <stdlib.h> since we only need NULL.
41082         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41083
41084 2007-10-15  Bruno Haible  <bruno@clisp.org>
41085
41086         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
41087         Replace paragraph talking about LIBOBJS.
41088         Reported by Colin Watson <cjwatson@debian.org>.
41089
41090 2007-10-15  Bruno Haible  <bruno@clisp.org>
41091
41092         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
41093         <stdlib.h> before using NULL.
41094
41095 2007-10-15  Simon Josefsson  <simon@josefsson.org>
41096
41097         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
41098         Reported by Albert Chin <china@thewrittenword.com>.
41099
41100 2007-10-14  Bruno Haible  <bruno@clisp.org>
41101
41102         * modules/iconv_open-utf-tests: New file.
41103         * tests/test-iconv-utf.c: New file.
41104
41105         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
41106         * modules/iconv_open-utf: New file.
41107         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
41108         (iconv, iconv_close): New declarations.
41109         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
41110         be defined.
41111         (iconv_open): Add special handling of conversion between UTF-8 and
41112         UTF-{16,32}{BE,LE}.
41113         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
41114         * lib/iconv_close.c: New file.
41115         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
41116         gl_FUNC_ICONV_OPEN.
41117         (gl_FUNC_ICONV_OPEN): Use it.
41118         (gl_FUNC_ICONV_OPEN_UTF): New macro.
41119         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
41120         and REPLACE_ICONV_UTF.
41121         * modules/iconv_open (Depends-on): Add c-strcase.
41122         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
41123         ICONV_CONST.
41124         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
41125
41126 2007-10-13  Albert Chin  <china@thewrittenword.com>
41127             Bruno Haible  <bruno@clisp.org>
41128
41129         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
41130         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
41131
41132 2007-10-13  Bruno Haible  <bruno@clisp.org>
41133
41134         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
41135         defined, use the ISO C99 inline semantics.
41136         * lib/argp.h (ARGP_EI): Likewise.
41137
41138 2007-10-13  Bruno Haible  <bruno@clisp.org>
41139
41140         Handle 'inline' change in gcc 4.3.0.
41141         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
41142         argp_fmtstream_write, argp_fmtstream_set_lmargin,
41143         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
41144         argp_fmtstream_point): Disable 'extern' declaration if the function
41145         definition is going to be provided inline.
41146         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
41147         semantics, not the ISO C99 inline semantics.
41148         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
41149         'extern' declaration if the function definition is going to be provided
41150         inline.
41151         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
41152         the GNU C inline semantics, not the ISO C99 inline semantics. With
41153         GCC 4.2, avoid a warning.
41154
41155 2007-10-13  Bruno Haible  <bruno@clisp.org>
41156
41157         * lib/freading.h (freading): Enable the use of __freading for
41158         glibc >= 2.7.
41159         * lib/freading.c (freading): Likewise.
41160
41161 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
41162
41163         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
41164         "warning: C99 inline functions are not supported; using GNU89".
41165
41166 2007-10-12  Bruno Haible  <bruno@clisp.org>
41167
41168         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
41169         of 2.
41170         * tests/test-ceilf2.c: New file.
41171         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
41172
41173         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
41174         * modules/ceilf-tests: Update.
41175
41176 2007-10-12  Bruno Haible  <bruno@clisp.org>
41177
41178         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
41179         of 2.
41180         * tests/test-floorf2.c: New file.
41181         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
41182
41183         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
41184         * modules/floorf-tests: Update.
41185
41186 2007-10-12  Bruno Haible  <bruno@clisp.org>
41187
41188         * tests/test-trunc2.c: New file.
41189         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
41190
41191         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
41192         * modules/trunc-tests: Update.
41193
41194 2007-10-12  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
41197         of 2.
41198         * tests/test-truncf2.c: New file.
41199         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
41200
41201         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
41202         * modules/truncf-tests: Update.
41203
41204 2007-10-11  Eric Blake  <ebb9@byu.net>
41205
41206         Don't claim strerror is broken on Interix.
41207         * doc/functions/strerror.texi (strerror): Known broken systems are
41208         now Solaris 8, and not Interix.
41209         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
41210         Interix on cross-compile.
41211         Reported by Martin Koeppe in
41212         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
41213
41214 2007-10-11  Bruno Haible  <bruno@clisp.org>
41215
41216         * modules/i-ring-tests: New file.
41217         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
41218         instead of assert.
41219
41220 2007-10-11  Bruno Haible  <bruno@clisp.org>
41221
41222         * modules/filenamecat-tests: New file.
41223         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
41224         * lib/filenamecat.c: Remove test code.
41225
41226 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
41227
41228         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
41229
41230         * lib/strerror.c: Include <string.h> always, to test interface,
41231         and to remove the need for the dummy.
41232         Include intprops.h to compute width instead of doing it ourselves
41233         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
41234         (strerror): Define it to return NULL if there's no system strerror.
41235         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
41236         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
41237         ancient pre-strerror Unix systems well any more.  Saying "unknown
41238         system error" is enough.
41239         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
41240         simpler strerror.c implementation.
41241         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
41242         Simplify the tests to reflect the simpler strerror implementation.
41243         * modules/strerror (Depends-on): Add intprops.
41244
41245 2007-10-09  Eric Blake  <ebb9@byu.net>
41246
41247         Silence test-fpending.
41248         * modules/fpending-tests (Files): Add wrapper script.
41249         * tests/test-fpending.sh: New file.
41250
41251 2007-10-09  Bruno Haible  <bruno@clisp.org>
41252
41253         * MODULES.html.sh (func_module): Don't create a hyperlink for
41254         function names like 'printf_frexp'.
41255         (Misc): Add crc, memxor.
41256         (Characteristics of floating types): New section.
41257         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
41258         isnanf-nolibm, signbit, trunc, truncf, truncl.
41259         (Enhancements for ISO C 99 functions): New subsection Input/output.
41260         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
41261         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
41262         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
41263         (Compatibility checks for POSIX:2001 functions): Add clock-time.
41264         (Enhancements for POSIX:2001 functions): Add chdir-long.
41265         (File system functions): Add areadlink, chdir-safer, read-file.
41266         Remove cycle-check.
41267         (File system as inode set): New section.
41268         (Date and time): Add gethrxtime.
41269         (Multithreading): Add openmp.
41270         (Internationalization functions): Add localename.
41271         (Unicode string functions): Add unistr/u*-mbsnlen.
41272         (Support for maintaining and releasing projects): Add git-version-gen.
41273         (Lone files): Remove directories.
41274
41275 2007-10-08  Ben Pfaff  <blp@gnu.org>
41276
41277         * lib/xmalloca.h: Fix typo in comment.
41278
41279 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
41280
41281         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
41282         when avoiding problems with integer overflow.  Use a portable test
41283         instead.
41284
41285 2007-10-08  Simon Josefsson  <simon@josefsson.org>
41286
41287         * modules/dummy (License): Change to LGPLv2+.
41288         * modules/float (License): Likewise
41289         * modules/realloc (License): Likewise
41290         * modules/stdlib (License): Likewise
41291
41292 2007-10-07  Bruno Haible  <bruno@clisp.org>
41293
41294         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
41295         * floor.c (TWO_MANT_DIG): Likewise.
41296         * ceil.c (TWO_MANT_DIG): Likewise.
41297         Reported by Ben Pfaff.
41298
41299 2007-10-07  Bruno Haible  <bruno@clisp.org>
41300
41301         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
41302         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
41303         * lib/frexp.c (FUNC): Likewise.
41304         * lib/printf-frexp.h (printf_frexp): Likewise.
41305         * lib/printf-frexpl.h (printf_frexpl): Likewise.
41306         * lib/printf-frexp.c (FUNC): Likewise.
41307         Suggested by Jim Meyering.
41308
41309 2007-10-07  Jim Meyering  <meyering@redhat.com>
41310
41311         Make xnanosleep's integer overflow test more robust.
41312         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
41313         so that gcc-4.3.0 doesn't optimize away this test for overflow.
41314
41315 2007-10-07  Bruno Haible  <bruno@clisp.org>
41316
41317         * NEWS: Mention the license change.
41318
41319         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
41320         abbreviations in the modules files.
41321
41322         Change copyright notice from GPLv2+ to GPLv3+.
41323         * README: Change copyright notice.
41324         * MODULES.html.sh: Likewise.
41325         * build-aux/bootstrap.conf: Likewise.
41326         * build-aux/config.libpath: Likewise.
41327         * build-aux/csharpcomp.sh.in: Likewise.
41328         * build-aux/csharpexec.sh.in: Likewise.
41329         * build-aux/install-reloc: Likewise.
41330         * build-aux/javacomp.sh.in: Likewise.
41331         * build-aux/javaexec.sh.in: Likewise.
41332         * build-aux/ldd.sh.in: Likewise.
41333         * build-aux/reloc-ldflags: Likewise.
41334         * build-aux/relocatable.sh.in: Likewise.
41335         * build-aux/x-to-1.in: Likewise.
41336         * check-module: Likewise.
41337         * config/srclistvars.sh: Likewise.
41338         * gnulib-tool: Likewise.
41339         * lib/acl-internal.h: Likewise.
41340         * lib/acl.c: Likewise.
41341         * lib/acl.h: Likewise.
41342         * lib/acl_entries.c: Likewise.
41343         * lib/areadlink-with-size.c: Likewise.
41344         * lib/areadlink.c: Likewise.
41345         * lib/areadlink.h: Likewise.
41346         * lib/argmatch.c: Likewise.
41347         * lib/argmatch.h: Likewise.
41348         * lib/argp-ba.c: Likewise.
41349         * lib/argp-eexst.c: Likewise.
41350         * lib/argp-fmtstream.c: Likewise.
41351         * lib/argp-fmtstream.h: Likewise.
41352         * lib/argp-fs-xinl.c: Likewise.
41353         * lib/argp-help.c: Likewise.
41354         * lib/argp-namefrob.h: Likewise.
41355         * lib/argp-parse.c: Likewise.
41356         * lib/argp-pin.c: Likewise.
41357         * lib/argp-pv.c: Likewise.
41358         * lib/argp-pvh.c: Likewise.
41359         * lib/argp-xinl.c: Likewise.
41360         * lib/argp.h: Likewise.
41361         * lib/at-func.c: Likewise.
41362         * lib/atanl.c: Likewise.
41363         * lib/backupfile.c: Likewise.
41364         * lib/backupfile.h: Likewise.
41365         * lib/basename.c: Likewise.
41366         * lib/binary-io.h: Likewise.
41367         * lib/byteswap.in.h: Likewise.
41368         * lib/c-stack.c: Likewise.
41369         * lib/c-stack.h: Likewise.
41370         * lib/c-strcasestr.c: Likewise.
41371         * lib/c-strcasestr.h: Likewise.
41372         * lib/c-strstr.c: Likewise.
41373         * lib/c-strstr.h: Likewise.
41374         * lib/c-strtod.c: Likewise.
41375         * lib/calloc.c: Likewise.
41376         * lib/canon-host.c: Likewise.
41377         * lib/canon-host.h: Likewise.
41378         * lib/canonicalize-lgpl.c: Likewise.
41379         * lib/canonicalize.c: Likewise.
41380         * lib/canonicalize.h: Likewise.
41381         * lib/ceil.c: Likewise.
41382         * lib/ceilf.c: Likewise.
41383         * lib/ceill.c: Likewise.
41384         * lib/chdir-long.c: Likewise.
41385         * lib/chdir-long.h: Likewise.
41386         * lib/chdir-safer.c: Likewise.
41387         * lib/chdir-safer.h: Likewise.
41388         * lib/chown.c: Likewise.
41389         * lib/classpath.c: Likewise.
41390         * lib/classpath.h: Likewise.
41391         * lib/clean-temp.c: Likewise.
41392         * lib/clean-temp.h: Likewise.
41393         * lib/cloexec.c: Likewise.
41394         * lib/close-stream.c: Likewise.
41395         * lib/closein.c: Likewise.
41396         * lib/closein.h: Likewise.
41397         * lib/closeout.c: Likewise.
41398         * lib/closeout.h: Likewise.
41399         * lib/concat-filename.c: Likewise.
41400         * lib/copy-file.c: Likewise.
41401         * lib/copy-file.h: Likewise.
41402         * lib/count-one-bits.h: Likewise.
41403         * lib/crc.c: Likewise.
41404         * lib/crc.h: Likewise.
41405         * lib/creat-safer.c: Likewise.
41406         * lib/csharpcomp.c: Likewise.
41407         * lib/csharpcomp.h: Likewise.
41408         * lib/csharpexec.c: Likewise.
41409         * lib/csharpexec.h: Likewise.
41410         * lib/cycle-check.c: Likewise.
41411         * lib/cycle-check.h: Likewise.
41412         * lib/diacrit.c: Likewise.
41413         * lib/diacrit.h: Likewise.
41414         * lib/diffseq.h: Likewise.
41415         * lib/dirchownmod.c: Likewise.
41416         * lib/dirent.in.h: Likewise.
41417         * lib/dirfd.c: Likewise.
41418         * lib/dirfd.h: Likewise.
41419         * lib/dirname.c: Likewise.
41420         * lib/dirname.h: Likewise.
41421         * lib/dummy.c: Likewise.
41422         * lib/dup-safer.c: Likewise.
41423         * lib/dup2.c: Likewise.
41424         * lib/eealloc.h: Likewise.
41425         * lib/error.c: Likewise.
41426         * lib/error.h: Likewise.
41427         * lib/euidaccess.c: Likewise.
41428         * lib/exclude.c: Likewise.
41429         * lib/exclude.h: Likewise.
41430         * lib/execute.c: Likewise.
41431         * lib/execute.h: Likewise.
41432         * lib/exitfail.c: Likewise.
41433         * lib/exitfail.h: Likewise.
41434         * lib/expl.c: Likewise.
41435         * lib/fatal-signal.c: Likewise.
41436         * lib/fatal-signal.h: Likewise.
41437         * lib/fbufmode.c: Likewise.
41438         * lib/fbufmode.h: Likewise.
41439         * lib/fchdir.c: Likewise.
41440         * lib/fchmodat.c: Likewise.
41441         * lib/fchownat.c: Likewise.
41442         * lib/fcntl--.h: Likewise.
41443         * lib/fcntl-safer.h: Likewise.
41444         * lib/fcntl.in.h: Likewise.
41445         * lib/fd-safer.c: Likewise.
41446         * lib/fflush.c: Likewise.
41447         * lib/file-has-acl.c: Likewise.
41448         * lib/file-set.c: Likewise.
41449         * lib/file-type.c: Likewise.
41450         * lib/file-type.h: Likewise.
41451         * lib/fileblocks.c: Likewise.
41452         * lib/filemode.c: Likewise.
41453         * lib/filemode.h: Likewise.
41454         * lib/filename.h: Likewise.
41455         * lib/filenamecat.c: Likewise.
41456         * lib/filenamecat.h: Likewise.
41457         * lib/findprog.c: Likewise.
41458         * lib/findprog.h: Likewise.
41459         * lib/float.in.h: Likewise.
41460         * lib/floor.c: Likewise.
41461         * lib/floorf.c: Likewise.
41462         * lib/floorl.c: Likewise.
41463         * lib/fopen-safer.c: Likewise.
41464         * lib/fopen.c: Likewise.
41465         * lib/fpending.c: Likewise.
41466         * lib/fpending.h: Likewise.
41467         * lib/fprintf.c: Likewise.
41468         * lib/fprintftime.h: Likewise.
41469         * lib/fpucw.h: Likewise.
41470         * lib/fpurge.c: Likewise.
41471         * lib/fpurge.h: Likewise.
41472         * lib/freadable.c: Likewise.
41473         * lib/freadable.h: Likewise.
41474         * lib/freadahead.c: Likewise.
41475         * lib/freadahead.h: Likewise.
41476         * lib/freading.c: Likewise.
41477         * lib/freading.h: Likewise.
41478         * lib/free.c: Likewise.
41479         * lib/freopen.c: Likewise.
41480         * lib/frexp.c: Likewise.
41481         * lib/frexpl.c: Likewise.
41482         * lib/fseek.c: Likewise.
41483         * lib/fseterr.c: Likewise.
41484         * lib/fseterr.h: Likewise.
41485         * lib/fstatat.c: Likewise.
41486         * lib/fstrcmp.c: Likewise.
41487         * lib/fstrcmp.h: Likewise.
41488         * lib/fsusage.c: Likewise.
41489         * lib/fsusage.h: Likewise.
41490         * lib/ftell.c: Likewise.
41491         * lib/ftello.c: Likewise.
41492         * lib/fts-cycle.c: Likewise.
41493         * lib/fts.c: Likewise.
41494         * lib/fts_.h: Likewise.
41495         * lib/full-read.c: Likewise.
41496         * lib/full-read.h: Likewise.
41497         * lib/full-write.c: Likewise.
41498         * lib/full-write.h: Likewise.
41499         * lib/fwritable.c: Likewise.
41500         * lib/fwritable.h: Likewise.
41501         * lib/fwriteerror.c: Likewise.
41502         * lib/fwriteerror.h: Likewise.
41503         * lib/fwriting.c: Likewise.
41504         * lib/fwriting.h: Likewise.
41505         * lib/gcd.c: Likewise.
41506         * lib/gcd.h: Likewise.
41507         * lib/getcwd.c: Likewise.
41508         * lib/getdate.h: Likewise.
41509         * lib/getdate.y: Likewise.
41510         * lib/getdomainname.c: Likewise.
41511         * lib/getdomainname.h: Likewise.
41512         * lib/getgroups.c: Likewise.
41513         * lib/gethostname.c: Likewise.
41514         * lib/gethrxtime.c: Likewise.
41515         * lib/gethrxtime.h: Likewise.
41516         * lib/getloadavg.c: Likewise.
41517         * lib/getndelim2.c: Likewise.
41518         * lib/getndelim2.h: Likewise.
41519         * lib/getnline.c: Likewise.
41520         * lib/getnline.h: Likewise.
41521         * lib/getopt.c: Likewise.
41522         * lib/getopt.in.h: Likewise.
41523         * lib/getopt1.c: Likewise.
41524         * lib/getopt_int.h: Likewise.
41525         * lib/getpagesize.h: Likewise.
41526         * lib/getsubopt.c: Likewise.
41527         * lib/gettime.c: Likewise.
41528         * lib/getugroups.c: Likewise.
41529         * lib/getugroups.h: Likewise.
41530         * lib/getusershell.c: Likewise.
41531         * lib/gl_anyavltree_list1.h: Likewise.
41532         * lib/gl_anyavltree_list2.h: Likewise.
41533         * lib/gl_anyhash_list1.h: Likewise.
41534         * lib/gl_anyhash_list2.h: Likewise.
41535         * lib/gl_anylinked_list1.h: Likewise.
41536         * lib/gl_anylinked_list2.h: Likewise.
41537         * lib/gl_anyrbtree_list1.h: Likewise.
41538         * lib/gl_anyrbtree_list2.h: Likewise.
41539         * lib/gl_anytree_list1.h: Likewise.
41540         * lib/gl_anytree_list2.h: Likewise.
41541         * lib/gl_anytree_oset.h: Likewise.
41542         * lib/gl_anytreehash_list1.h: Likewise.
41543         * lib/gl_anytreehash_list2.h: Likewise.
41544         * lib/gl_array_list.c: Likewise.
41545         * lib/gl_array_list.h: Likewise.
41546         * lib/gl_array_oset.c: Likewise.
41547         * lib/gl_array_oset.h: Likewise.
41548         * lib/gl_avltree_list.c: Likewise.
41549         * lib/gl_avltree_list.h: Likewise.
41550         * lib/gl_avltree_oset.c: Likewise.
41551         * lib/gl_avltree_oset.h: Likewise.
41552         * lib/gl_avltreehash_list.c: Likewise.
41553         * lib/gl_avltreehash_list.h: Likewise.
41554         * lib/gl_carray_list.c: Likewise.
41555         * lib/gl_carray_list.h: Likewise.
41556         * lib/gl_linked_list.c: Likewise.
41557         * lib/gl_linked_list.h: Likewise.
41558         * lib/gl_linkedhash_list.c: Likewise.
41559         * lib/gl_linkedhash_list.h: Likewise.
41560         * lib/gl_list.c: Likewise.
41561         * lib/gl_list.h: Likewise.
41562         * lib/gl_oset.c: Likewise.
41563         * lib/gl_oset.h: Likewise.
41564         * lib/gl_rbtree_list.c: Likewise.
41565         * lib/gl_rbtree_list.h: Likewise.
41566         * lib/gl_rbtree_oset.c: Likewise.
41567         * lib/gl_rbtree_oset.h: Likewise.
41568         * lib/gl_rbtreehash_list.c: Likewise.
41569         * lib/gl_rbtreehash_list.h: Likewise.
41570         * lib/gl_sublist.c: Likewise.
41571         * lib/gl_sublist.h: Likewise.
41572         * lib/group-member.c: Likewise.
41573         * lib/group-member.h: Likewise.
41574         * lib/hard-locale.c: Likewise.
41575         * lib/hard-locale.h: Likewise.
41576         * lib/hash-pjw.c: Likewise.
41577         * lib/hash-pjw.h: Likewise.
41578         * lib/hash-triple.c: Likewise.
41579         * lib/hash.c: Likewise.
41580         * lib/hash.h: Likewise.
41581         * lib/human.c: Likewise.
41582         * lib/human.h: Likewise.
41583         * lib/i-ring.c: Likewise.
41584         * lib/i-ring.h: Likewise.
41585         * lib/idcache.c: Likewise.
41586         * lib/imaxabs.c: Likewise.
41587         * lib/imaxdiv.c: Likewise.
41588         * lib/inet_pton.c: Likewise.
41589         * lib/inet_pton.h: Likewise.
41590         * lib/intprops.h: Likewise.
41591         * lib/inttostr.c: Likewise.
41592         * lib/inttostr.h: Likewise.
41593         * lib/inttypes.in.h: Likewise.
41594         * lib/isapipe.c: Likewise.
41595         * lib/isdir.c: Likewise.
41596         * lib/isnan.c: Likewise.
41597         * lib/isnan.h: Likewise.
41598         * lib/isnanf.c: Likewise.
41599         * lib/isnanf.h: Likewise.
41600         * lib/isnanl-nolibm.h: Likewise.
41601         * lib/isnanl.c: Likewise.
41602         * lib/isnanl.h: Likewise.
41603         * lib/javacomp.c: Likewise.
41604         * lib/javacomp.h: Likewise.
41605         * lib/javaexec.c: Likewise.
41606         * lib/javaexec.h: Likewise.
41607         * lib/javaversion.c: Likewise.
41608         * lib/javaversion.h: Likewise.
41609         * lib/javaversion.java: Likewise.
41610         * lib/lbrkprop.h: Likewise.
41611         * lib/lchmod.h: Likewise.
41612         * lib/lchown.c: Likewise.
41613         * lib/ldexpl.c: Likewise.
41614         * lib/linebreak.c: Likewise.
41615         * lib/linebreak.h: Likewise.
41616         * lib/linebuffer.c: Likewise.
41617         * lib/linebuffer.h: Likewise.
41618         * lib/locale.in.h: Likewise.
41619         * lib/logl.c: Likewise.
41620         * lib/long-options.c: Likewise.
41621         * lib/long-options.h: Likewise.
41622         * lib/lstat.c: Likewise.
41623         * lib/lstat.h: Likewise.
41624         * lib/math.in.h: Likewise.
41625         * lib/mbchar.c: Likewise.
41626         * lib/mbchar.h: Likewise.
41627         * lib/mbfile.h: Likewise.
41628         * lib/mbiter.h: Likewise.
41629         * lib/mbscasecmp.c: Likewise.
41630         * lib/mbscasestr.c: Likewise.
41631         * lib/mbschr.c: Likewise.
41632         * lib/mbscspn.c: Likewise.
41633         * lib/mbslen.c: Likewise.
41634         * lib/mbsncasecmp.c: Likewise.
41635         * lib/mbsnlen.c: Likewise.
41636         * lib/mbspbrk.c: Likewise.
41637         * lib/mbspcasecmp.c: Likewise.
41638         * lib/mbsrchr.c: Likewise.
41639         * lib/mbssep.c: Likewise.
41640         * lib/mbsspn.c: Likewise.
41641         * lib/mbsstr.c: Likewise.
41642         * lib/mbstok_r.c: Likewise.
41643         * lib/mbswidth.c: Likewise.
41644         * lib/mbswidth.h: Likewise.
41645         * lib/mbuiter.h: Likewise.
41646         * lib/memcasecmp.c: Likewise.
41647         * lib/memcasecmp.h: Likewise.
41648         * lib/memchr.c: Likewise.
41649         * lib/memcmp.c: Likewise.
41650         * lib/memcoll.c: Likewise.
41651         * lib/memcoll.h: Likewise.
41652         * lib/memcpy.c: Likewise.
41653         * lib/memrchr.c: Likewise.
41654         * lib/mkancesdirs.c: Likewise.
41655         * lib/mkdir-p.c: Likewise.
41656         * lib/mkdir-p.h: Likewise.
41657         * lib/mkdir.c: Likewise.
41658         * lib/mkdirat.c: Likewise.
41659         * lib/mkdtemp.c: Likewise.
41660         * lib/mkstemp-safer.c: Likewise.
41661         * lib/mkstemp.c: Likewise.
41662         * lib/modechange.c: Likewise.
41663         * lib/modechange.h: Likewise.
41664         * lib/mountlist.c: Likewise.
41665         * lib/mountlist.h: Likewise.
41666         * lib/mpsort.c: Likewise.
41667         * lib/nanosleep.c: Likewise.
41668         * lib/obstack.c: Likewise.
41669         * lib/obstack.h: Likewise.
41670         * lib/open-safer.c: Likewise.
41671         * lib/open.c: Likewise.
41672         * lib/openat-die.c: Likewise.
41673         * lib/openat-priv.h: Likewise.
41674         * lib/openat-proc.c: Likewise.
41675         * lib/openat.c: Likewise.
41676         * lib/openat.h: Likewise.
41677         * lib/pagealign_alloc.c: Likewise.
41678         * lib/pagealign_alloc.h: Likewise.
41679         * lib/physmem.c: Likewise.
41680         * lib/physmem.h: Likewise.
41681         * lib/pipe-safer.c: Likewise.
41682         * lib/pipe.c: Likewise.
41683         * lib/pipe.h: Likewise.
41684         * lib/posixtm.c: Likewise.
41685         * lib/posixtm.h: Likewise.
41686         * lib/posixver.c: Likewise.
41687         * lib/printf-frexp.c: Likewise.
41688         * lib/printf-frexp.h: Likewise.
41689         * lib/printf-frexpl.c: Likewise.
41690         * lib/printf-frexpl.h: Likewise.
41691         * lib/printf.c: Likewise.
41692         * lib/progname.c: Likewise.
41693         * lib/progname.h: Likewise.
41694         * lib/progreloc.c: Likewise.
41695         * lib/putenv.c: Likewise.
41696         * lib/quote.c: Likewise.
41697         * lib/quote.h: Likewise.
41698         * lib/quotearg.c: Likewise.
41699         * lib/quotearg.h: Likewise.
41700         * lib/raise.c: Likewise.
41701         * lib/readline.c: Likewise.
41702         * lib/readline.h: Likewise.
41703         * lib/readlink.c: Likewise.
41704         * lib/readtokens.c: Likewise.
41705         * lib/readtokens.h: Likewise.
41706         * lib/readtokens0.c: Likewise.
41707         * lib/readtokens0.h: Likewise.
41708         * lib/readutmp.c: Likewise.
41709         * lib/readutmp.h: Likewise.
41710         * lib/realloc.c: Likewise.
41711         * lib/relocwrapper.c: Likewise.
41712         * lib/rename-dest-slash.c: Likewise.
41713         * lib/rename.c: Likewise.
41714         * lib/rmdir.c: Likewise.
41715         * lib/rpmatch.c: Likewise.
41716         * lib/safe-read.c: Likewise.
41717         * lib/safe-read.h: Likewise.
41718         * lib/safe-write.c: Likewise.
41719         * lib/safe-write.h: Likewise.
41720         * lib/same-inode.h: Likewise.
41721         * lib/same.c: Likewise.
41722         * lib/same.h: Likewise.
41723         * lib/save-cwd.c: Likewise.
41724         * lib/save-cwd.h: Likewise.
41725         * lib/savedir.c: Likewise.
41726         * lib/savedir.h: Likewise.
41727         * lib/savewd.c: Likewise.
41728         * lib/savewd.h: Likewise.
41729         * lib/search.in.h: Likewise.
41730         * lib/setenv.c: Likewise.
41731         * lib/setenv.h: Likewise.
41732         * lib/settime.c: Likewise.
41733         * lib/sh-quote.c: Likewise.
41734         * lib/sh-quote.h: Likewise.
41735         * lib/sig2str.c: Likewise.
41736         * lib/sig2str.h: Likewise.
41737         * lib/signal.in.h: Likewise.
41738         * lib/signbitd.c: Likewise.
41739         * lib/signbitf.c: Likewise.
41740         * lib/signbitl.c: Likewise.
41741         * lib/sigprocmask.c: Likewise.
41742         * lib/sincosl.c: Likewise.
41743         * lib/sleep.c: Likewise.
41744         * lib/sprintf.c: Likewise.
41745         * lib/sqrtl.c: Likewise.
41746         * lib/stat-time.h: Likewise.
41747         * lib/stdio--.h: Likewise.
41748         * lib/stdio-safer.h: Likewise.
41749         * lib/stdlib--.h: Likewise.
41750         * lib/stdlib-safer.h: Likewise.
41751         * lib/stdlib.in.h: Likewise.
41752         * lib/stpcpy.c: Likewise.
41753         * lib/stpncpy.c: Likewise.
41754         * lib/strchrnul.c: Likewise.
41755         * lib/strcspn.c: Likewise.
41756         * lib/strerror.c: Likewise.
41757         * lib/strftime.c: Likewise.
41758         * lib/strftime.h: Likewise.
41759         * lib/striconveh.c: Likewise.
41760         * lib/striconveh.h: Likewise.
41761         * lib/striconveha.c: Likewise.
41762         * lib/striconveha.h: Likewise.
41763         * lib/stripslash.c: Likewise.
41764         * lib/strnlen1.c: Likewise.
41765         * lib/strnlen1.h: Likewise.
41766         * lib/strtod.c: Likewise.
41767         * lib/strtoimax.c: Likewise.
41768         * lib/strtok_r.c: Likewise.
41769         * lib/strtol.c: Likewise.
41770         * lib/strtoll.c: Likewise.
41771         * lib/strtoul.c: Likewise.
41772         * lib/strtoull.c: Likewise.
41773         * lib/sysexits.in.h: Likewise.
41774         * lib/tempname.c: Likewise.
41775         * lib/tempname.h: Likewise.
41776         * lib/timespec.h: Likewise.
41777         * lib/tls.c: Likewise.
41778         * lib/tls.h: Likewise.
41779         * lib/tmpdir.c: Likewise.
41780         * lib/tmpdir.h: Likewise.
41781         * lib/tmpfile-safer.c: Likewise.
41782         * lib/tmpfile.c: Likewise.
41783         * lib/trigl.c: Likewise.
41784         * lib/trigl.h: Likewise.
41785         * lib/trim.c: Likewise.
41786         * lib/trim.h: Likewise.
41787         * lib/trunc.c: Likewise.
41788         * lib/truncf.c: Likewise.
41789         * lib/truncl.c: Likewise.
41790         * lib/tsearch.c: Likewise.
41791         * lib/unicodeio.c: Likewise.
41792         * lib/unicodeio.h: Likewise.
41793         * lib/unistd--.h: Likewise.
41794         * lib/unistd-safer.h: Likewise.
41795         * lib/unistdio/ulc-fprintf.c: Likewise.
41796         * lib/unistdio/ulc-vfprintf.c: Likewise.
41797         * lib/unlinkdir.c: Likewise.
41798         * lib/unlinkdir.h: Likewise.
41799         * lib/unlocked-io.h: Likewise.
41800         * lib/unsetenv.c: Likewise.
41801         * lib/userspec.c: Likewise.
41802         * lib/utime.c: Likewise.
41803         * lib/utimecmp.c: Likewise.
41804         * lib/utimecmp.h: Likewise.
41805         * lib/utimens.c: Likewise.
41806         * lib/verify.h: Likewise.
41807         * lib/verror.c: Likewise.
41808         * lib/verror.h: Likewise.
41809         * lib/version-etc-fsf.c: Likewise.
41810         * lib/version-etc.c: Likewise.
41811         * lib/version-etc.h: Likewise.
41812         * lib/vfprintf.c: Likewise.
41813         * lib/vprintf.c: Likewise.
41814         * lib/vsprintf.c: Likewise.
41815         * lib/w32spawn.h: Likewise.
41816         * lib/wait-process.c: Likewise.
41817         * lib/wait-process.h: Likewise.
41818         * lib/wcwidth.c: Likewise.
41819         * lib/write-any-file.c: Likewise.
41820         * lib/xalloc-die.c: Likewise.
41821         * lib/xalloc.h: Likewise.
41822         * lib/xasprintf.c: Likewise.
41823         * lib/xgetcwd.c: Likewise.
41824         * lib/xgetcwd.h: Likewise.
41825         * lib/xgetdomainname.c: Likewise.
41826         * lib/xgetdomainname.h: Likewise.
41827         * lib/xgethostname.c: Likewise.
41828         * lib/xmalloc.c: Likewise.
41829         * lib/xmalloca.c: Likewise.
41830         * lib/xmalloca.h: Likewise.
41831         * lib/xmemcoll.c: Likewise.
41832         * lib/xnanosleep.c: Likewise.
41833         * lib/xreadlink.c: Likewise.
41834         * lib/xreadlink.h: Likewise.
41835         * lib/xsetenv.c: Likewise.
41836         * lib/xsetenv.h: Likewise.
41837         * lib/xstriconv.c: Likewise.
41838         * lib/xstriconv.h: Likewise.
41839         * lib/xstrndup.c: Likewise.
41840         * lib/xstrndup.h: Likewise.
41841         * lib/xstrtod.c: Likewise.
41842         * lib/xstrtod.h: Likewise.
41843         * lib/xstrtol-error.c: Likewise.
41844         * lib/xstrtol.c: Likewise.
41845         * lib/xstrtol.h: Likewise.
41846         * lib/xtime.h: Likewise.
41847         * lib/xvasprintf.c: Likewise.
41848         * lib/xvasprintf.h: Likewise.
41849         * lib/yesno.c: Likewise.
41850         * lib/yesno.h: Likewise.
41851         * posix-modules: Likewise.
41852         * tests/test-alloca-opt.c: Likewise.
41853         * tests/test-arcfour.c: Likewise.
41854         * tests/test-arctwo.c: Likewise.
41855         * tests/test-argmatch.c: Likewise.
41856         * tests/test-argp-2.sh: Likewise.
41857         * tests/test-argp.c: Likewise.
41858         * tests/test-arpa_inet.c: Likewise.
41859         * tests/test-array_list.c: Likewise.
41860         * tests/test-array_oset.c: Likewise.
41861         * tests/test-atexit.c: Likewise.
41862         * tests/test-avltree_list.c: Likewise.
41863         * tests/test-avltree_oset.c: Likewise.
41864         * tests/test-avltreehash_list.c: Likewise.
41865         * tests/test-base64.c: Likewise.
41866         * tests/test-binary-io.c: Likewise.
41867         * tests/test-byteswap.c: Likewise.
41868         * tests/test-c-ctype.c: Likewise.
41869         * tests/test-c-strcasecmp.c: Likewise.
41870         * tests/test-c-strcasestr.c: Likewise.
41871         * tests/test-c-strncasecmp.c: Likewise.
41872         * tests/test-c-strstr.c: Likewise.
41873         * tests/test-canonicalize-lgpl.c: Likewise.
41874         * tests/test-canonicalize.c: Likewise.
41875         * tests/test-carray_list.c: Likewise.
41876         * tests/test-ceilf.c: Likewise.
41877         * tests/test-ceill.c: Likewise.
41878         * tests/test-count-one-bits.c: Likewise.
41879         * tests/test-crc.c: Likewise.
41880         * tests/test-dirname.c: Likewise.
41881         * tests/test-fbufmode.c: Likewise.
41882         * tests/test-fcntl.c: Likewise.
41883         * tests/test-fflush.c: Likewise.
41884         * tests/test-floorf.c: Likewise.
41885         * tests/test-floorl.c: Likewise.
41886         * tests/test-fopen.c: Likewise.
41887         * tests/test-fprintf-posix.c: Likewise.
41888         * tests/test-fprintf-posix.h: Likewise.
41889         * tests/test-fpurge.c: Likewise.
41890         * tests/test-freadable.c: Likewise.
41891         * tests/test-freadahead.c: Likewise.
41892         * tests/test-freading.c: Likewise.
41893         * tests/test-freopen.c: Likewise.
41894         * tests/test-frexp.c: Likewise.
41895         * tests/test-frexpl.c: Likewise.
41896         * tests/test-fseek.c: Likewise.
41897         * tests/test-fseeko.c: Likewise.
41898         * tests/test-fseterr.c: Likewise.
41899         * tests/test-fstrcmp.c: Likewise.
41900         * tests/test-ftell.c: Likewise.
41901         * tests/test-ftello.c: Likewise.
41902         * tests/test-fwritable.c: Likewise.
41903         * tests/test-fwriting.c: Likewise.
41904         * tests/test-getaddrinfo.c: Likewise.
41905         * tests/test-getpass.c: Likewise.
41906         * tests/test-gettimeofday.c: Likewise.
41907         * tests/test-hmac-md5.c: Likewise.
41908         * tests/test-hmac-sha1.c: Likewise.
41909         * tests/test-iconv.c: Likewise.
41910         * tests/test-iconvme.c: Likewise.
41911         * tests/test-inttypes.c: Likewise.
41912         * tests/test-isnan.c: Likewise.
41913         * tests/test-isnanf.c: Likewise.
41914         * tests/test-isnanl-nolibm.c: Likewise.
41915         * tests/test-isnanl.c: Likewise.
41916         * tests/test-isnanl.h: Likewise.
41917         * tests/test-ldexpl.c: Likewise.
41918         * tests/test-linked_list.c: Likewise.
41919         * tests/test-linkedhash_list.c: Likewise.
41920         * tests/test-locale.c: Likewise.
41921         * tests/test-localename.c: Likewise.
41922         * tests/test-lock.c: Likewise.
41923         * tests/test-lseek.c: Likewise.
41924         * tests/test-malloca.c: Likewise.
41925         * tests/test-math.c: Likewise.
41926         * tests/test-mbscasecmp.c: Likewise.
41927         * tests/test-mbscasestr1.c: Likewise.
41928         * tests/test-mbscasestr2.c: Likewise.
41929         * tests/test-mbscasestr3.c: Likewise.
41930         * tests/test-mbscasestr4.c: Likewise.
41931         * tests/test-mbschr.c: Likewise.
41932         * tests/test-mbscspn.c: Likewise.
41933         * tests/test-mbsncasecmp.c: Likewise.
41934         * tests/test-mbspbrk.c: Likewise.
41935         * tests/test-mbspcasecmp.c: Likewise.
41936         * tests/test-mbsrchr.c: Likewise.
41937         * tests/test-mbsspn.c: Likewise.
41938         * tests/test-mbsstr1.c: Likewise.
41939         * tests/test-mbsstr2.c: Likewise.
41940         * tests/test-mbsstr3.c: Likewise.
41941         * tests/test-md5.c: Likewise.
41942         * tests/test-memmem.c: Likewise.
41943         * tests/test-netinet_in.c: Likewise.
41944         * tests/test-open.c: Likewise.
41945         * tests/test-printf-frexp.c: Likewise.
41946         * tests/test-printf-frexpl.c: Likewise.
41947         * tests/test-printf-posix.c: Likewise.
41948         * tests/test-printf-posix.h: Likewise.
41949         * tests/test-rbtree_list.c: Likewise.
41950         * tests/test-rbtree_oset.c: Likewise.
41951         * tests/test-rbtreehash_list.c: Likewise.
41952         * tests/test-read-file.c: Likewise.
41953         * tests/test-rijndael.c: Likewise.
41954         * tests/test-search.c: Likewise.
41955         * tests/test-signbit.c: Likewise.
41956         * tests/test-sleep.c: Likewise.
41957         * tests/test-snprintf-posix.c: Likewise.
41958         * tests/test-snprintf-posix.h: Likewise.
41959         * tests/test-snprintf.c: Likewise.
41960         * tests/test-sprintf-posix.c: Likewise.
41961         * tests/test-sprintf-posix.h: Likewise.
41962         * tests/test-stat-time.c: Likewise.
41963         * tests/test-stdbool.c: Likewise.
41964         * tests/test-stdint.c: Likewise.
41965         * tests/test-stdio.c: Likewise.
41966         * tests/test-stdlib.c: Likewise.
41967         * tests/test-stpncpy.c: Likewise.
41968         * tests/test-strcasestr.c: Likewise.
41969         * tests/test-striconv.c: Likewise.
41970         * tests/test-striconveh.c: Likewise.
41971         * tests/test-striconveha.c: Likewise.
41972         * tests/test-string.c: Likewise.
41973         * tests/test-sys_select.c: Likewise.
41974         * tests/test-sys_socket.c: Likewise.
41975         * tests/test-sys_stat.c: Likewise.
41976         * tests/test-sys_time.c: Likewise.
41977         * tests/test-sysexits.c: Likewise.
41978         * tests/test-time.c: Likewise.
41979         * tests/test-tls.c: Likewise.
41980         * tests/test-trunc.c: Likewise.
41981         * tests/test-truncf.c: Likewise.
41982         * tests/test-truncl.c: Likewise.
41983         * tests/test-unistd.c: Likewise.
41984         * tests/test-vasnprintf-posix.c: Likewise.
41985         * tests/test-vasnprintf-posix2.c: Likewise.
41986         * tests/test-vasnprintf.c: Likewise.
41987         * tests/test-vasprintf-posix.c: Likewise.
41988         * tests/test-vasprintf.c: Likewise.
41989         * tests/test-verify.c: Likewise.
41990         * tests/test-vfprintf-posix.c: Likewise.
41991         * tests/test-vprintf-posix.c: Likewise.
41992         * tests/test-vsnprintf-posix.c: Likewise.
41993         * tests/test-vsnprintf.c: Likewise.
41994         * tests/test-vsprintf-posix.c: Likewise.
41995         * tests/test-wchar.c: Likewise.
41996         * tests/test-wctype.c: Likewise.
41997         * tests/test-wcwidth.c: Likewise.
41998         * tests/test-xstrtol.c: Likewise.
41999         * tests/test-xvasprintf.c: Likewise.
42000         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
42001         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
42002         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
42003         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
42004         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
42005         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
42006         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
42007         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
42008         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
42009         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
42010         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
42011         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
42012         * tests/uniname/test-uninames.c: Likewise.
42013         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
42014         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
42015         * tests/unistdio/test-u16-printf1.h: Likewise.
42016         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
42017         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
42018         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
42019         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
42020         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
42021         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
42022         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
42023         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
42024         * tests/unistdio/test-u32-printf1.h: Likewise.
42025         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
42026         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
42027         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
42028         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
42029         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
42030         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
42031         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
42032         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
42033         * tests/unistdio/test-u8-printf1.h: Likewise.
42034         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
42035         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
42036         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
42037         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
42038         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
42039         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
42040         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
42041         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
42042         * tests/unistdio/test-ulc-printf1.h: Likewise.
42043         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
42044         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
42045         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
42046         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
42047         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
42048         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
42049         * tests/uniwidth/test-u16-strwidth.c: Likewise.
42050         * tests/uniwidth/test-u16-width.c: Likewise.
42051         * tests/uniwidth/test-u32-strwidth.c: Likewise.
42052         * tests/uniwidth/test-u32-width.c: Likewise.
42053         * tests/uniwidth/test-u8-strwidth.c: Likewise.
42054         * tests/uniwidth/test-u8-width.c: Likewise.
42055         * tests/uniwidth/test-uc_width.c: Likewise.
42056         * config/srclist-update: Likewise.
42057         (fixlicense): Update to GPLv3+.
42058
42059         Change copyright notice from LGPLv2.1+ to LGPLv3+.
42060         * tests/test-tsearch.c: Change copyright notice.
42061
42062         Change copyright notice from LGPLv2.0+ to LGPLv3+.
42063         * lib/c-strcaseeq.h: Change copyright notice.
42064         * lib/streq.h: Likewise.
42065         * lib/uniconv.h: Likewise.
42066         * lib/uniconv/u-conv-from-enc.h: Likewise.
42067         * lib/uniconv/u-conv-to-enc.h: Likewise.
42068         * lib/uniconv/u-strconv-from-enc.h: Likewise.
42069         * lib/uniconv/u-strconv-to-enc.h: Likewise.
42070         * lib/uniconv/u16-conv-from-enc.c: Likewise.
42071         * lib/uniconv/u16-conv-to-enc.c: Likewise.
42072         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
42073         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
42074         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
42075         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
42076         * lib/uniconv/u32-conv-from-enc.c: Likewise.
42077         * lib/uniconv/u32-conv-to-enc.c: Likewise.
42078         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
42079         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
42080         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
42081         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
42082         * lib/uniconv/u8-conv-from-enc.c: Likewise.
42083         * lib/uniconv/u8-conv-to-enc.c: Likewise.
42084         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
42085         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
42086         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
42087         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
42088         * lib/uniname.h: Likewise.
42089         * lib/uniname/uniname.c: Likewise.
42090         * lib/unistdio.h: Likewise.
42091         * lib/unistdio/u-asnprintf.h: Likewise.
42092         * lib/unistdio/u-asprintf.h: Likewise.
42093         * lib/unistdio/u-printf-args.c: Likewise.
42094         * lib/unistdio/u-printf-args.h: Likewise.
42095         * lib/unistdio/u-printf-parse.h: Likewise.
42096         * lib/unistdio/u-snprintf.h: Likewise.
42097         * lib/unistdio/u-sprintf.h: Likewise.
42098         * lib/unistdio/u-vasprintf.h: Likewise.
42099         * lib/unistdio/u-vsnprintf.h: Likewise.
42100         * lib/unistdio/u-vsprintf.h: Likewise.
42101         * lib/unistdio/u16-asnprintf.c: Likewise.
42102         * lib/unistdio/u16-asprintf.c: Likewise.
42103         * lib/unistdio/u16-printf-parse.c: Likewise.
42104         * lib/unistdio/u16-snprintf.c: Likewise.
42105         * lib/unistdio/u16-sprintf.c: Likewise.
42106         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
42107         * lib/unistdio/u16-u16-asprintf.c: Likewise.
42108         * lib/unistdio/u16-u16-snprintf.c: Likewise.
42109         * lib/unistdio/u16-u16-sprintf.c: Likewise.
42110         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
42111         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
42112         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
42113         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
42114         * lib/unistdio/u16-vasnprintf.c: Likewise.
42115         * lib/unistdio/u16-vasprintf.c: Likewise.
42116         * lib/unistdio/u16-vsnprintf.c: Likewise.
42117         * lib/unistdio/u16-vsprintf.c: Likewise.
42118         * lib/unistdio/u32-asnprintf.c: Likewise.
42119         * lib/unistdio/u32-asprintf.c: Likewise.
42120         * lib/unistdio/u32-printf-parse.c: Likewise.
42121         * lib/unistdio/u32-snprintf.c: Likewise.
42122         * lib/unistdio/u32-sprintf.c: Likewise.
42123         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
42124         * lib/unistdio/u32-u32-asprintf.c: Likewise.
42125         * lib/unistdio/u32-u32-snprintf.c: Likewise.
42126         * lib/unistdio/u32-u32-sprintf.c: Likewise.
42127         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
42128         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
42129         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
42130         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
42131         * lib/unistdio/u32-vasnprintf.c: Likewise.
42132         * lib/unistdio/u32-vasprintf.c: Likewise.
42133         * lib/unistdio/u32-vsnprintf.c: Likewise.
42134         * lib/unistdio/u32-vsprintf.c: Likewise.
42135         * lib/unistdio/u8-asnprintf.c: Likewise.
42136         * lib/unistdio/u8-asprintf.c: Likewise.
42137         * lib/unistdio/u8-printf-parse.c: Likewise.
42138         * lib/unistdio/u8-snprintf.c: Likewise.
42139         * lib/unistdio/u8-sprintf.c: Likewise.
42140         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
42141         * lib/unistdio/u8-u8-asprintf.c: Likewise.
42142         * lib/unistdio/u8-u8-snprintf.c: Likewise.
42143         * lib/unistdio/u8-u8-sprintf.c: Likewise.
42144         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
42145         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
42146         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
42147         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
42148         * lib/unistdio/u8-vasnprintf.c: Likewise.
42149         * lib/unistdio/u8-vasprintf.c: Likewise.
42150         * lib/unistdio/u8-vsnprintf.c: Likewise.
42151         * lib/unistdio/u8-vsprintf.c: Likewise.
42152         * lib/unistdio/ulc-asnprintf.c: Likewise.
42153         * lib/unistdio/ulc-asprintf.c: Likewise.
42154         * lib/unistdio/ulc-printf-parse.c: Likewise.
42155         * lib/unistdio/ulc-snprintf.c: Likewise.
42156         * lib/unistdio/ulc-sprintf.c: Likewise.
42157         * lib/unistdio/ulc-vasnprintf.c: Likewise.
42158         * lib/unistdio/ulc-vasprintf.c: Likewise.
42159         * lib/unistdio/ulc-vsnprintf.c: Likewise.
42160         * lib/unistdio/ulc-vsprintf.c: Likewise.
42161         * lib/unistr.h: Likewise.
42162         * lib/unistr/u-cpy-alloc.h: Likewise.
42163         * lib/unistr/u-cpy.h: Likewise.
42164         * lib/unistr/u-endswith.h: Likewise.
42165         * lib/unistr/u-move.h: Likewise.
42166         * lib/unistr/u-set.h: Likewise.
42167         * lib/unistr/u-startswith.h: Likewise.
42168         * lib/unistr/u-stpcpy.h: Likewise.
42169         * lib/unistr/u-stpncpy.h: Likewise.
42170         * lib/unistr/u-strcat.h: Likewise.
42171         * lib/unistr/u-strcpy.h: Likewise.
42172         * lib/unistr/u-strcspn.h: Likewise.
42173         * lib/unistr/u-strdup.h: Likewise.
42174         * lib/unistr/u-strlen.h: Likewise.
42175         * lib/unistr/u-strncat.h: Likewise.
42176         * lib/unistr/u-strncpy.h: Likewise.
42177         * lib/unistr/u-strnlen.h: Likewise.
42178         * lib/unistr/u-strpbrk.h: Likewise.
42179         * lib/unistr/u-strspn.h: Likewise.
42180         * lib/unistr/u-strstr.h: Likewise.
42181         * lib/unistr/u-strtok.h: Likewise.
42182         * lib/unistr/u16-check.c: Likewise.
42183         * lib/unistr/u16-chr.c: Likewise.
42184         * lib/unistr/u16-cmp.c: Likewise.
42185         * lib/unistr/u16-cpy-alloc.c: Likewise.
42186         * lib/unistr/u16-cpy.c: Likewise.
42187         * lib/unistr/u16-endswith.c: Likewise.
42188         * lib/unistr/u16-mblen.c: Likewise.
42189         * lib/unistr/u16-mbsnlen.c: Likewise.
42190         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42191         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42192         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42193         * lib/unistr/u16-mbtouc.c: Likewise.
42194         * lib/unistr/u16-mbtoucr.c: Likewise.
42195         * lib/unistr/u16-move.c: Likewise.
42196         * lib/unistr/u16-next.c: Likewise.
42197         * lib/unistr/u16-prev.c: Likewise.
42198         * lib/unistr/u16-set.c: Likewise.
42199         * lib/unistr/u16-startswith.c: Likewise.
42200         * lib/unistr/u16-stpcpy.c: Likewise.
42201         * lib/unistr/u16-stpncpy.c: Likewise.
42202         * lib/unistr/u16-strcat.c: Likewise.
42203         * lib/unistr/u16-strchr.c: Likewise.
42204         * lib/unistr/u16-strcmp.c: Likewise.
42205         * lib/unistr/u16-strcpy.c: Likewise.
42206         * lib/unistr/u16-strcspn.c: Likewise.
42207         * lib/unistr/u16-strdup.c: Likewise.
42208         * lib/unistr/u16-strlen.c: Likewise.
42209         * lib/unistr/u16-strmblen.c: Likewise.
42210         * lib/unistr/u16-strmbtouc.c: Likewise.
42211         * lib/unistr/u16-strncat.c: Likewise.
42212         * lib/unistr/u16-strncmp.c: Likewise.
42213         * lib/unistr/u16-strncpy.c: Likewise.
42214         * lib/unistr/u16-strnlen.c: Likewise.
42215         * lib/unistr/u16-strpbrk.c: Likewise.
42216         * lib/unistr/u16-strrchr.c: Likewise.
42217         * lib/unistr/u16-strspn.c: Likewise.
42218         * lib/unistr/u16-strstr.c: Likewise.
42219         * lib/unistr/u16-strtok.c: Likewise.
42220         * lib/unistr/u16-to-u32.c: Likewise.
42221         * lib/unistr/u16-to-u8.c: Likewise.
42222         * lib/unistr/u16-uctomb-aux.c: Likewise.
42223         * lib/unistr/u16-uctomb.c: Likewise.
42224         * lib/unistr/u32-check.c: Likewise.
42225         * lib/unistr/u32-chr.c: Likewise.
42226         * lib/unistr/u32-cmp.c: Likewise.
42227         * lib/unistr/u32-cpy-alloc.c: Likewise.
42228         * lib/unistr/u32-cpy.c: Likewise.
42229         * lib/unistr/u32-endswith.c: Likewise.
42230         * lib/unistr/u32-mblen.c: Likewise.
42231         * lib/unistr/u32-mbsnlen.c: Likewise.
42232         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42233         * lib/unistr/u32-mbtouc.c: Likewise.
42234         * lib/unistr/u32-mbtoucr.c: Likewise.
42235         * lib/unistr/u32-move.c: Likewise.
42236         * lib/unistr/u32-next.c: Likewise.
42237         * lib/unistr/u32-prev.c: Likewise.
42238         * lib/unistr/u32-set.c: Likewise.
42239         * lib/unistr/u32-startswith.c: Likewise.
42240         * lib/unistr/u32-stpcpy.c: Likewise.
42241         * lib/unistr/u32-stpncpy.c: Likewise.
42242         * lib/unistr/u32-strcat.c: Likewise.
42243         * lib/unistr/u32-strchr.c: Likewise.
42244         * lib/unistr/u32-strcmp.c: Likewise.
42245         * lib/unistr/u32-strcpy.c: Likewise.
42246         * lib/unistr/u32-strcspn.c: Likewise.
42247         * lib/unistr/u32-strdup.c: Likewise.
42248         * lib/unistr/u32-strlen.c: Likewise.
42249         * lib/unistr/u32-strmblen.c: Likewise.
42250         * lib/unistr/u32-strmbtouc.c: Likewise.
42251         * lib/unistr/u32-strncat.c: Likewise.
42252         * lib/unistr/u32-strncmp.c: Likewise.
42253         * lib/unistr/u32-strncpy.c: Likewise.
42254         * lib/unistr/u32-strnlen.c: Likewise.
42255         * lib/unistr/u32-strpbrk.c: Likewise.
42256         * lib/unistr/u32-strrchr.c: Likewise.
42257         * lib/unistr/u32-strspn.c: Likewise.
42258         * lib/unistr/u32-strstr.c: Likewise.
42259         * lib/unistr/u32-strtok.c: Likewise.
42260         * lib/unistr/u32-to-u16.c: Likewise.
42261         * lib/unistr/u32-to-u8.c: Likewise.
42262         * lib/unistr/u32-uctomb.c: Likewise.
42263         * lib/unistr/u8-check.c: Likewise.
42264         * lib/unistr/u8-chr.c: Likewise.
42265         * lib/unistr/u8-cmp.c: Likewise.
42266         * lib/unistr/u8-cpy-alloc.c: Likewise.
42267         * lib/unistr/u8-cpy.c: Likewise.
42268         * lib/unistr/u8-endswith.c: Likewise.
42269         * lib/unistr/u8-mblen.c: Likewise.
42270         * lib/unistr/u8-mbsnlen.c: Likewise.
42271         * lib/unistr/u8-mbtouc-aux.c: Likewise.
42272         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42273         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42274         * lib/unistr/u8-mbtouc.c: Likewise.
42275         * lib/unistr/u8-mbtoucr.c: Likewise.
42276         * lib/unistr/u8-move.c: Likewise.
42277         * lib/unistr/u8-next.c: Likewise.
42278         * lib/unistr/u8-prev.c: Likewise.
42279         * lib/unistr/u8-set.c: Likewise.
42280         * lib/unistr/u8-startswith.c: Likewise.
42281         * lib/unistr/u8-stpcpy.c: Likewise.
42282         * lib/unistr/u8-stpncpy.c: Likewise.
42283         * lib/unistr/u8-strcat.c: Likewise.
42284         * lib/unistr/u8-strchr.c: Likewise.
42285         * lib/unistr/u8-strcmp.c: Likewise.
42286         * lib/unistr/u8-strcpy.c: Likewise.
42287         * lib/unistr/u8-strcspn.c: Likewise.
42288         * lib/unistr/u8-strdup.c: Likewise.
42289         * lib/unistr/u8-strlen.c: Likewise.
42290         * lib/unistr/u8-strmblen.c: Likewise.
42291         * lib/unistr/u8-strmbtouc.c: Likewise.
42292         * lib/unistr/u8-strncat.c: Likewise.
42293         * lib/unistr/u8-strncmp.c: Likewise.
42294         * lib/unistr/u8-strncpy.c: Likewise.
42295         * lib/unistr/u8-strnlen.c: Likewise.
42296         * lib/unistr/u8-strpbrk.c: Likewise.
42297         * lib/unistr/u8-strrchr.c: Likewise.
42298         * lib/unistr/u8-strspn.c: Likewise.
42299         * lib/unistr/u8-strstr.c: Likewise.
42300         * lib/unistr/u8-strtok.c: Likewise.
42301         * lib/unistr/u8-to-u16.c: Likewise.
42302         * lib/unistr/u8-to-u32.c: Likewise.
42303         * lib/unistr/u8-uctomb-aux.c: Likewise.
42304         * lib/unistr/u8-uctomb.c: Likewise.
42305         * lib/unitypes.h: Likewise.
42306         * lib/uniwidth.h: Likewise.
42307         * lib/uniwidth/cjk.h: Likewise.
42308         * lib/uniwidth/u16-strwidth.c: Likewise.
42309         * lib/uniwidth/u16-width.c: Likewise.
42310         * lib/uniwidth/u32-strwidth.c: Likewise.
42311         * lib/uniwidth/u32-width.c: Likewise.
42312         * lib/uniwidth/u8-strwidth.c: Likewise.
42313         * lib/uniwidth/u8-width.c: Likewise.
42314         * lib/uniwidth/width.c: Likewise.
42315
42316 2007-10-07  Bruno Haible  <bruno@clisp.org>
42317
42318         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
42319         The file is still under LGPL (see modules/inttypes).
42320
42321 2007-10-06  Bruno Haible  <bruno@clisp.org>
42322
42323         * modules/trunc (Dependencies): Add 'extensions'.
42324         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
42325         Reported by Ben Pfaff <blp@gnu.org>.
42326
42327 2007-10-06  Bruno Haible  <bruno@clisp.org>
42328
42329         * modules/freopen-tests: New file.
42330         * tests/test-freopen.c: New file.
42331
42332         * modules/fopen-tests: New file.
42333         * tests/test-fopen.c: New file.
42334
42335         * modules/fopen: New file.
42336         * lib/fopen.c: New file.
42337         * m4/fopen.m4: New file.
42338         * modules/freopen: New file.
42339         * lib/freopen.c: New file.
42340         * m4/freopen.m4: New file.
42341         * lib/stdio.in.h (fopen, freopen): New declarations.
42342         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
42343         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
42344         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
42345         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
42346         * doc/functions/fopen.texi: Mention the 'fopen' module.
42347         * doc/functions/freopen.texi: Mention the 'freopen' module.
42348
42349 2007-10-06  Bruno Haible  <bruno@clisp.org>
42350
42351         * modules/open-tests: New file.
42352         * tests/test-open.c: New file.
42353
42354         * modules/open: New file.
42355         * lib/open.c: New file.
42356         * m4/open.m4: New file.
42357         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
42358         lib/open.c does.
42359         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
42360         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
42361         macros.
42362         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
42363         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
42364         REPLACE_OPEN.
42365         * doc/functions/open.texi: Mention the 'open' module.
42366
42367 2007-10-04  Bruno Haible  <bruno@clisp.org>
42368
42369         * modules/ceill-tests: New file.
42370         * tests/test-ceill.c: New file.
42371
42372         * modules/ceill: New file.
42373         * lib/ceill.c: Replace entire file.
42374         * m4/ceill.m4: New file.
42375         * lib/math.in.h (ceill): Replace declaration.
42376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
42377         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
42378         * doc/functions/ceill.texi: Mention the 'ceill' module.
42379         * modules/mathl (Files): Remove lib/ceill.c.
42380         (Depends-on): Add ceill.
42381
42382 2007-10-04  Bruno Haible  <bruno@clisp.org>
42383
42384         * modules/ceilf-tests: New file.
42385         * tests/test-ceilf.c: New file.
42386
42387         * modules/ceilf: New file.
42388         * lib/ceil.c: New file.
42389         * lib/ceilf.c: New file.
42390         * m4/ceilf.m4: New file.
42391         * lib/math.in.h (ceilf): New declaration.
42392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
42393         HAVE_DECL_CEILF.
42394         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
42395         HAVE_DECL_CEILF.
42396         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
42397
42398 2007-10-04  Bruno Haible  <bruno@clisp.org>
42399
42400         * modules/floorl-tests: New file.
42401         * tests/test-floorl.c: New file.
42402
42403         * modules/floorl: New file.
42404         * lib/floorl.c: Replace entire file.
42405         * m4/floorl.m4: New file.
42406         * lib/math.in.h (floorl): Replace declaration.
42407         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
42408         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
42409         * doc/functions/floorl.texi: Mention the 'floorl' module.
42410         * modules/mathl (Files): Remove lib/floorl.c.
42411         (Depends-on): Add floorl.
42412
42413 2007-10-04  Bruno Haible  <bruno@clisp.org>
42414
42415         * modules/floorf-tests: New file.
42416         * tests/test-floorf.c: New file.
42417
42418         * modules/floorf: New file.
42419         * lib/floor.c: New file.
42420         * lib/floorf.c: New file.
42421         * m4/floorf.m4: New file.
42422         * lib/math.in.h (floorf): New declaration.
42423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
42424         HAVE_DECL_FLOORF.
42425         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
42426         HAVE_DECL_FLOORF.
42427         * doc/functions/floorf.texi: Mention the 'floorf' module.
42428
42429 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
42430             Bruno Haible  <bruno@clisp.org>
42431
42432         Advertise for the Git server instead of the CVS server.
42433         * doc/gnulib-intro.texi (Steady Development): Mention the Git
42434         repository instead of the CVS one.
42435         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
42436         about all VCS systems generically.
42437         * doc/gnulib.texi (Introduction): Capitalize `Git'.
42438
42439 2007-10-04  Bruno Haible  <bruno@clisp.org>
42440
42441         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
42442         means.
42443         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
42444
42445 2007-10-04  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/truncl-tests: New file.
42448         * tests/test-truncl.c: New file.
42449
42450         * modules/truncl: New file.
42451         * lib/truncl.c: New file.
42452         * m4/truncl.m4: New file.
42453         * lib/math.in.h (truncl): New declaration.
42454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
42455         HAVE_DECL_TRUNCL.
42456         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
42457         HAVE_DECL_TRUNCL.
42458         * doc/functions/truncl.texi: Mention the 'truncl' module.
42459
42460 2007-10-04  Bruno Haible  <bruno@clisp.org>
42461
42462         * modules/truncf-tests: New file.
42463         * tests/test-truncf.c: New file.
42464
42465         * modules/truncf: New file.
42466         * lib/trunc.c: Make paramerizable through USE_* macros.
42467         * lib/truncf.c: New file.
42468         * m4/truncf.m4: New file.
42469         * lib/math.in.h (truncf): New declaration.
42470         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
42471         HAVE_DECL_TRUNCF.
42472         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
42473         HAVE_DECL_TRUNCF.
42474         * doc/functions/truncf.texi: Mention the 'truncf' module.
42475
42476 2007-10-03  Bruno Haible  <bruno@clisp.org>
42477
42478         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42479         augmentation also for tests modules.
42480         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
42481         * modules/atexit-tests (Makefile.am): Likewise.
42482         * modules/binary-io-tests (Makefile.am): Likewise.
42483         * modules/c-strcase-tests (Makefile.am): Likewise.
42484         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
42485         * modules/canonicalize-tests (Makefile.am): Likewise.
42486         * modules/closein-tests (Makefile.am): Likewise.
42487         * modules/fprintf-posix-tests (Makefile.am): Likewise.
42488         * modules/freadahead-tests (Makefile.am): Likewise.
42489         * modules/fseek-tests (Makefile.am): Likewise.
42490         * modules/fseeko-tests (Makefile.am): Likewise.
42491         * modules/ftell-tests (Makefile.am): Likewise.
42492         * modules/ftello-tests (Makefile.am): Likewise.
42493         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
42494         * modules/isnanl-tests (Makefile.am): Likewise.
42495         * modules/lseek-tests (Makefile.am): Likewise.
42496         * modules/mbscasecmp-tests (Makefile.am): Likewise.
42497         * modules/mbscasestr-tests (Makefile.am): Likewise.
42498         * modules/mbschr-tests (Makefile.am): Likewise.
42499         * modules/mbscspn-tests (Makefile.am): Likewise.
42500         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
42501         * modules/mbspbrk-tests (Makefile.am): Likewise.
42502         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
42503         * modules/mbsrchr-tests (Makefile.am): Likewise.
42504         * modules/mbsspn-tests (Makefile.am): Likewise.
42505         * modules/mbsstr-tests (Makefile.am): Likewise.
42506         * modules/printf-posix-tests (Makefile.am): Likewise.
42507         * modules/snprintf-posix-tests (Makefile.am): Likewise.
42508         * modules/sprintf-posix-tests (Makefile.am): Likewise.
42509         * modules/tsearch-tests (Makefile.am): Likewise.
42510         * modules/uniname/uniname-tests (Makefile.am): Likewise.
42511         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
42512         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
42513         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
42514         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
42515         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
42516         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
42517         * modules/vprintf-posix-tests (Makefile.am): Likewise.
42518         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
42519         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
42520         * modules/xstrtoimax-tests (Makefile.am): Likewise.
42521         * modules/xstrtol-tests (Makefile.am): Likewise.
42522         * modules/xstrtoumax-tests (Makefile.am): Likewise.
42523         * modules/yesno-tests (Makefile.am): Likewise.
42524
42525 2007-10-03  Bruno Haible  <bruno@clisp.org>
42526
42527         * modules/trunc-tests: New file.
42528         * tests/test-trunc.c: New file.
42529
42530         * modules/trunc: New file.
42531         * lib/trunc.c: New file.
42532         * m4/trunc.m4: New file.
42533         * lib/math.in.h (trunc): New declaration.
42534         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
42535         HAVE_DECL_TRUNC.
42536         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
42537         HAVE_DECL_TRUNC.
42538         * doc/functions/trunc.texi: Mention the 'trunc' module.
42539
42540 2007-10-03  Bruno Haible  <bruno@clisp.org>
42541
42542         * tests/test-fpending.c: New file, mostly copied
42543         from coreutils/lib/t-fpending.c.
42544         * modules/fpending-tests: New file.
42545
42546 2007-10-03  Bruno Haible  <bruno@clisp.org>
42547
42548         Port the stdio extensions to QNX (untested).
42549         * lib/fseterr.c (fseterr): Add support for QNX.
42550         * lib/fbufmode.c (fbufmode): Likewise.
42551         * lib/freadable.c (freadable): Likewise.
42552         * lib/fwritable.c (fwritable): Likewise.
42553         * lib/freading.c (freading): Likewise.
42554         * lib/fwriting.c (fwriting): Likewise.
42555         * lib/freadahead.c (freadahed): Likewise.
42556         * lib/fpurge.c (fpurge): Likewise.
42557         * lib/fseeko.c (rpl_fseeko): Likewise.
42558
42559 2007-10-03  Bruno Haible  <bruno@clisp.org>
42560             Jim Meyering  <jim@meyering.net>
42561             Eric Blake  <ebb9@byu.net>
42562
42563         * doc/relocatable.texi: Use @command instead of @program.
42564
42565 2007-10-02  Jim Meyering  <jim@meyering.net>
42566
42567         Perform one more "_.h" -> ".in.h" substitution.
42568         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
42569         instead of unistd_.h here, too.
42570
42571 2007-10-01  Bruno Haible  <bruno@clisp.org>
42572
42573         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
42574         Needed for the alloca-opt module.
42575
42576 2007-09-30  Bruno Haible  <bruno@clisp.org>
42577
42578         * lib/alloca.in.h: Renamed from lib/alloca_.h.
42579         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
42580         alloca_.h.
42581         * lib/argz.in.h: Renamed from lib/argz_.h.
42582         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
42583         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
42584         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
42585         byteswap_.h.
42586         * lib/dirent.in.h: Renamed from lib/dirent_.h.
42587         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
42588         dirent_.h.
42589         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
42590         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
42591         fcntl_.h.
42592         * lib/float.in.h: Renamed from lib/float_.h.
42593         * modules/float (Files, Makefile.am): Use float.in.h instead of
42594         float_.h.
42595         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
42596         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
42597         fnmatch_.h.
42598         * lib/getopt.in.h: Renamed from lib/getopt_.h.
42599         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
42600         getopt_.h.
42601         * lib/glob.in.h: Renamed from lib/glob_.h.
42602         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
42603         * lib/iconv.in.h: Renamed from lib/iconv_.h.
42604         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
42605         iconv_.h.
42606         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
42607         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
42608         inttypes_.h.
42609         * lib/locale.in.h: Renamed from lib/locale_.h.
42610         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
42611         locale_.h.
42612         * lib/math.in.h: Renamed from lib/math_.h.
42613         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
42614         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
42615         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
42616         of netinet_in_.h. Add dependency.
42617         * lib/poll.in.h: Renamed from lib/poll_.h.
42618         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
42619         * lib/search.in.h: Renamed from lib/search_.h.
42620         * modules/search (Files, Makefile.am): Use search.in.h instead of
42621         search_.h.
42622         * lib/signal.in.h: Renamed from lib/signal_.h.
42623         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
42624         _signal.h.
42625         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
42626         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
42627         stdbool_.h.
42628         * lib/stdint.in.h: Renamed from lib/stdint_.h.
42629         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
42630         stdint_.h.
42631         * lib/stdio.in.h: Renamed from lib/stdio_.h.
42632         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
42633         stdio_.h.
42634         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
42635         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
42636         stdlib_.h.
42637         * lib/string.in.h: Renamed from lib/string_.h.
42638         * modules/string (Files, Makefile.am): Use string.in.h instead of
42639         string_.h.
42640         * doc/gnulib-tool.texi (Initial import): Update.
42641         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
42642         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
42643         of sys_select_.h. Add dependency.
42644         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
42645         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
42646         of sys_socket_.h.
42647         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
42648         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
42649         sys_stat_.h.
42650         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
42651         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
42652         sys_time_.h.
42653         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
42654         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
42655         sysexits_.h.
42656         * lib/time.in.h: Renamed from lib/time_.h.
42657         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
42658         * lib/unistd.in.h: Renamed from lib/unistd_.h.
42659         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
42660         unistd_.h.
42661         * lib/wchar.in.h: Renamed from lib/wchar_.h.
42662         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
42663         wchar_.h.
42664         * lib/wctype.in.h: Renamed from lib/wctype_.h.
42665         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
42666         wctype_.h.
42667         * build-aux/bootstrap (slurp): Update.
42668         * lib/.cppi-disable: Update.
42669
42670 2007-09-30  Bruno Haible  <bruno@clisp.org>
42671
42672         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
42673         Needed on BeOS.
42674
42675 2007-09-30  Bruno Haible  <bruno@clisp.org>
42676
42677         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
42678
42679 2007-09-29  Bruno Haible  <bruno@clisp.org>
42680
42681         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
42682
42683 2007-09-29  Bruno Haible  <bruno@clisp.org>
42684
42685         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
42686         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
42687         * build-aux/install-reloc: Compile also areadlink.c.
42688         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
42689
42690 2007-09-29  Bruno Haible  <bruno@clisp.org>
42691
42692         * gnulib-tool (func_emit_initmacro_done): Indentation.
42693
42694 2007-09-29  Bruno Haible  <bruno@clisp.org>
42695
42696         * README: Add CVS checkout update instructions.
42697         Info from Bob Proulx <bob@proulx.com>.
42698
42699 2007-09-28  Eric Blake  <ebb9@byu.net>
42700
42701         Provide move-if-change.
42702         * build-aux/move-if-change: New file, based on best practice
42703         rather than any canonical upstream location.
42704
42705 2007-09-28  Jim Meyering  <jim@meyering.net>
42706
42707         Fix canonicalize loop-detection corner case.
42708         Do not attempt to stat the symlink values stored via seen_triple.
42709         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
42710         on linux-2.6.18, (but not 2.6.22).
42711         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
42712         triple_compare.  The former compares dev,ino,filename, while the latter
42713         would actually stat dirname(filename) when dev and ino were equal.
42714         * lib/hash-triple.c: Install <string.h>.
42715         (STREQ): Define.
42716         (triple_compare_ino_str): New function.
42717         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
42718
42719 2007-09-28  Eric Blake  <ebb9@byu.net>
42720
42721         Enforce that AC_REPLACE_FUNCS files exist.
42722         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
42723         override check for typos.
42724
42725         Fix test-closein on Solaris 10.
42726         * tests/test-closein.c (main): Don't assume stdin can be inherited
42727         closed on all systems.
42728         * tests/test-closein.sh: Likewise.
42729         Reported by Piotr Tarnowski.
42730
42731 2007-09-28  Jim Meyering  <jim@meyering.net>
42732
42733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
42734
42735 2007-09-27  Jim Meyering  <jim@meyering.net>
42736
42737         canonicalize: Avoid a false-positive cycle failure.
42738         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
42739         Sort.  Remove cycle-check.
42740         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
42741         not cycle-check.h.
42742         (seen_triple): New function.
42743         (canonicalize_filename_mode): Use it instead of cycle-check.
42744         * tests/test-canonicalize.c: Add a test for this bug.
42745         * tests/test-canonicalize.sh: Set up and run the test.
42746
42747         New module, file-set, from coreutils.
42748         * modules/file-set: Define it.
42749         * lib/file-set.c, lib/file-set.h: Implement.
42750
42751         New module, hash-triple, from coreutils.
42752         * modules/hash-triple: Define it.
42753         * lib/hash-triple.c, lib/hash-triple.h: Implement.
42754
42755 2007-09-25  Eric Blake  <ebb9@byu.net>
42756
42757         Fix strerror on Interix.
42758         * lib/string_.h (strerror): Declare replacement.
42759         * doc/functions/strerror.texi (strerror): Document the Interix
42760         shortcoming.
42761         * modules/string (Makefile.am): Support new hooks.
42762         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
42763         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
42764         gl_FUNC_STRERROR_SEPARATE.
42765         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
42766         * lib/strerror.c (rpl_strerror): Provide replacement.
42767         * modules/strerror (Depends-on): Add string.
42768         (configure.ac): Detect use of module.
42769         * tests/test-strerror.c: New file.
42770         * modules/strerror-tests: New test module.
42771         * modules/argp (Depends-on): Add strerror.
42772         * modules/error (Depends-on): Likewise.
42773         Reported by Martin Koeppe.
42774
42775 2007-09-24  Bruno Haible  <bruno@clisp.org>
42776
42777         * README: Update git instructions.
42778
42779 2007-09-24  Eric Blake  <ebb9@byu.net>
42780
42781         Revert fpending breakage from 2007-09-08.
42782         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
42783         __fpending.c.
42784
42785 2007-09-24  Jim Meyering  <jim@meyering.net>
42786
42787         filenamecat.c: Add a test.
42788         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
42789         showing how the function works when DIR is the empty string.
42790
42791 2007-09-21  Simon Josefsson  <simon@josefsson.org>
42792
42793         * tests/test-canonicalize.sh: Turn on executable bit.
42794
42795 2007-09-19  Eric Blake  <ebb9@byu.net>
42796
42797         * README: Update CVS instructions.
42798
42799 2007-09-18  Bruno Haible  <bruno@clisp.org>
42800
42801         * modules/areadlink: New file.
42802         * lib/areadlink.h (areadlink): New declaration.
42803         * lib/areadlink.c: New file, based on lib/xreadlink.c.
42804
42805 2007-09-17  Jim Meyering  <jim@meyering.net>
42806
42807         * lib/savewd.c (ESTALE) [!defined]: Define.
42808         Reported to be required on Interix by Martin Koeppe.
42809
42810 2007-09-17  Bruno Haible  <bruno@clisp.org>
42811
42812         * gnulib-tool (func_version): Use $version.
42813
42814 2007-09-16  Bruno Haible  <bruno@clisp.org>
42815
42816         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
42817         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
42818         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
42819         Reported by Greg Schafer <gschafer@zip.com.au>.
42820
42821 2007-09-15  Bruno Haible  <bruno@clisp.org>
42822
42823         * gnulib-tool (sed): Try a little harder to make bash understand the
42824         alias.
42825         Reported by Bruce Korb <bruce.korb@gmail.com>.
42826
42827 2007-09-13  Eric Blake  <ebb9@byu.net>
42828
42829         * ChangeLog: Remove conflict markers.
42830
42831 2007-09-13  Simon Josefsson  <simon@josefsson.org>
42832
42833         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
42834         Reported by Bruno Haible <bruno@clisp.org>.
42835
42836 2007-09-12  Bruno Haible  <bruno@clisp.org>
42837
42838         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
42839         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
42840         is not defined.
42841
42842 2007-09-12  Eric Blake  <ebb9@byu.net>
42843
42844         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
42845         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
42846         Autoconf definition.
42847         * modules/euidaccess (Depends-on): Add extensions, for
42848         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
42849         * modules/fnmatch (Depends-on): Likewise.
42850         * modules/getaddrinfo (Depends-on): Likewise.
42851         * modules/getdelim (Depends-on): Likewise.
42852         * modules/getline (Depends-on): Likewise.
42853         * modules/getsubopt (Depends-on): Likewise.
42854         * modules/gettext (Depends-on): Likewise.
42855         * modules/group-member (Depends-on): Likewise.
42856         * modules/mbchar (Depends-on): Likewise.
42857         * modules/memmem (Depends-on): Likewise.
42858         * modules/mempcpy (Depends-on): Likewise.
42859         * modules/memrchr (Depends-on): Likewise.
42860         * modules/pagealign_alloc (Depends-on): Likewise.
42861         * modules/readutmp (Depends-on): Likewise.
42862         * modules/stpcpy (Depends-on): Likewise.
42863         * modules/stpncpy (Depends-on): Likewise.
42864         * modules/strchrnul (Depends-on): Likewise.
42865         * modules/strndup (Depends-on): Likewise.
42866         * modules/strsep (Depends-on): Likewise.
42867         * modules/strverscmp (Depends-on): Likewise.
42868         * modules/vasprintf (Depends-on): Likewise.
42869         * modules/wcwidth (Depends-on): Likewise.
42870         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
42871         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
42872         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
42873         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
42874         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42875         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42876         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
42877         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42878         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
42879         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
42880         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42881         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42882         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42883         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
42884         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
42885         * m4/readutmp.m4 (gl_READUTMP): Likewise.
42886         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42887         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42888         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42889         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42890         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42891         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42892         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42893         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
42894         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
42895         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42896         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
42897         so that lock.m4 can be used in gettext without extensions module.
42898
42899 2007-09-11  Bruno Haible  <bruno@clisp.org>
42900
42901         * m4/isc-posix.m4: Remove file.
42902         Suggested by Eric Blake.
42903
42904 2007-09-11  Eric Blake  <ebb9@byu.net>
42905
42906         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
42907
42908 2007-09-10  Bruno Haible  <bruno@clisp.org>
42909
42910         * posix-modules: Fix typo in error message.
42911         Reported by Matt <mkraai@beckman.com>.
42912
42913 2007-09-09  Bruno Haible  <bruno@clisp.org>
42914
42915         * doc/functions/getdelim.texi: Update list of platforms lacking the
42916         function.
42917         * doc/functions/getline.texi: Likewise.
42918
42919 2007-09-09  Jim Meyering  <jim@meyering.net>
42920
42921         * lib/hash.c (hash_initialize): Detect calloc failure.
42922         Reported by Bruno Haible.
42923
42924 2007-09-09  Bruno Haible  <bruno@clisp.org>
42925
42926         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
42927         malloc or realloc fails.
42928
42929 2007-09-09  Bruno Haible  <bruno@clisp.org>
42930
42931         * modules/getcwd (Depends-on): Add malloc-posix.
42932         * modules/glob (Depends-on): Likewise.
42933         * modules/putenv (Depends-on): Likewise.
42934         * modules/strdup (Depends-on): Likewise.
42935         * modules/getdelim (Depends-on): Add realloc-posix.
42936         * modules/read-file (Depends-on): Likewise.
42937
42938 2007-09-09  Bruno Haible  <bruno@clisp.org>
42939
42940         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
42941         (gl_FUNC_MALLOC_POSIX): Require it.
42942         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
42943         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
42944         * modules/realloc (Files): Add m4/malloc.m4.
42945         * modules/calloc (Files): Likewise.
42946
42947 2007-09-09  Bruno Haible  <bruno@clisp.org>
42948
42949         * modules/malloc-posix: New file.
42950         * modules/malloc (Depends-on): Add malloc-posix.
42951         * lib/malloc.c: Include errno.h.
42952         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
42953         and a POSIX-compatible malloc into a single function. Set ENOMEM
42954         when returning NULL.
42955         * m4/malloc.m4: New file.
42956         * doc/functions/malloc.texi: Mention the malloc-posix module.
42957         * lib/stdlib_.h (malloc): New declaration.
42958         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42959         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
42960         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
42961         and HAVE_MALLOC_POSIX.
42962
42963 2007-09-09  Bruno Haible  <bruno@clisp.org>
42964
42965         * modules/realloc-posix: New file.
42966         * modules/realloc (Depends-on): Add realloc-posix.
42967         * lib/realloc.c: Include errno.h.
42968         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
42969         and a POSIX-compatible realloc into a single function. Set ENOMEM
42970         when returning NULL.
42971         * m4/realloc.m4: New file.
42972         * doc/functions/realloc.texi: Mention the realloc-posix module.
42973         * lib/stdlib_.h (realloc): New declaration.
42974         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42975         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
42976         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
42977         and HAVE_REALLOC_POSIX.
42978
42979 2007-09-09  Bruno Haible  <bruno@clisp.org>
42980
42981         * modules/calloc-posix: New file.
42982         * modules/calloc (Depends-on): Add calloc-posix.
42983         * lib/calloc.c: Include errno.h.
42984         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
42985         and a POSIX-compatible calloc into a single function. Set ENOMEM
42986         when returning NULL.
42987         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
42988         * doc/functions/calloc.texi: Mention the calloc-posix module.
42989         * lib/stdlib_.h (calloc): New declaration.
42990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42991         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
42992         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
42993         and HAVE_CALLOC_POSIX.
42994
42995 2007-09-09  Bruno Haible  <bruno@clisp.org>
42996
42997         Allow for modules to show an arbitrary notice.
42998         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
42999         * gnulib-tool: New option --extract-notice.
43000         (func_usage): Document it.
43001         (sed_extract_prog): Update.
43002         (func_get_notice): New function.
43003         (func_modules_notice): New function.
43004         (func_import, func_create_testdir): Invoke it.
43005         Suggested by Jim Meyering.
43006
43007 2007-09-09  Bruno Haible  <bruno@clisp.org>
43008
43009         * gnulib-tool: New options --verbose, --quiet.
43010         (func_usage): Document them.
43011         (verbose): New variable.
43012         (func_execute_command): New function.
43013         (func_import): Don't show the module list and the file list if
43014         $verbose < 0.
43015         (func_create_testdir): Likewise. Use func_execute_command.
43016         (func_create_megatestdir): Use func_execute_command.
43017
43018 2007-09-08  Bruno Haible  <bruno@clisp.org>
43019
43020         * gnulib-tool (func_import): Prefer rsync over wget when available,
43021         for fetching the PO files.
43022
43023 2007-09-08  Bruno Haible  <bruno@clisp.org>
43024
43025         * posix-modules: New file. Portions copied from gnulib-tool.
43026         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
43027
43028 2007-09-08  Jim Meyering  <jim@meyering.net>
43029
43030         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
43031         * lib/fpending.h: Rename from __fpending.h.
43032         * lib/fpending.c: Rename from __fpending.c.
43033         Include "fpending.h", not "__fpending.h".
43034         * lib/__fpending.h, lib/__fpending.c: Remove files.
43035         * modules/fpending (Files): Reflect new file names.
43036         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
43037
43038 2007-09-08  Bruno Haible  <bruno@clisp.org>
43039
43040         * m4/inttypes-h.m4: Remove stub file.
43041
43042 2007-09-07  Simon Josefsson  <simon@josefsson.org>
43043
43044         * doc/headers/stdint.texi: Discuss #include_next issue.
43045
43046 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
43047
43048         * build-aux/bootstrap: Remove obsolete comment about wget --help.
43049
43050 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43051
43052         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
43053         in variable name.
43054
43055 2007-09-03  Jim Meyering  <jim@meyering.net>
43056
43057         New module: git-version-gen.
43058         * modules/git-version-gen: New file.
43059
43060         Import changes from coreutils for bootstrap script.
43061
43062         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
43063
43064         bootstrap: uses rsync to download the .po files
43065         * build-aux/bootstrap (po_download_command_format): New global.
43066         (download_po_files): Use rsync.
43067         (update_po_files): Don't remove .po files after download,
43068         so future rsync runs can take advantage of the copies.
43069
43070         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
43071
43072         Solve the unnecessary-.po-file-regeneration problem once and for all.
43073         * build-aux/bootstrap (download_po_files): New function, renamed from
43074         get_translations.  Now, downloads, but doesn't update LINGUAS.
43075         (update_po_files): New function.
43076
43077         bootstrap: Ignore more.
43078         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
43079         uniwidth to e.g., lib/.gitignore.
43080         (slurp): Handle the sys_stat_.h -> sys mapping, too.
43081
43082         * build-aux/bootstrap: New setting: vc_ignore.
43083         (insert_sorted_if_absent): Create $file if absent.
43084         Adapt to new, possibly empty, list: $vc_ignore.
43085
43086         bootstrap: generate more ignorable names
43087         * build-aux/bootstrap (slurp): When generating ignorable names,
43088         also map .sin to .sed, .gperf to .c, and .y to .c.
43089
43090 2007-09-03  Jim Meyering  <jim@meyering.net>
43091
43092         * build-aux/git-version-gen: New file, from coreutils.  For details, see
43093         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
43094
43095 2007-09-02  Bruno Haible  <bruno@clisp.org>
43096
43097         Fix mis-recognition of 'mcs' on QNX 6.
43098         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
43099         output contains the string "Mono".
43100         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
43101         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
43102
43103 2007-09-01  Bruno Haible  <bruno@clisp.org>
43104
43105         Fix collision between uniwidth/* and linebreak modules.
43106         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
43107         u32_width): Remove declarations.
43108         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
43109         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
43110         streq3, streq2, streq1, streq0): Remove functions.
43111         (STREQ): Remove macro.
43112         (is_cjk_encoding): Remove function.
43113         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
43114         (uc_width, u8_width, u16_width, u32_width): Remove functions.
43115         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
43116         * NEWS: Document the change.
43117
43118 2007-09-01  Bruno Haible  <bruno@clisp.org>
43119
43120         * lib/streq.h: Add double-inclusion guard.
43121
43122 2007-09-01  Karl Berry  <karl@gnu.org>
43123
43124         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
43125
43126 2007-08-28  Jim Meyering  <jim@meyering.net>
43127
43128         Rename mreadlink_with_size to areadlink_with_size.
43129         * NEWS: Document the change.
43130         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
43131         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
43132         * lib/mreadlink.h: Rename this to...
43133         * lib/areadlink.h: ...this.
43134         * modules/mreadlink-with-size: Rename this to...
43135         * modules/areadlink-with-size: ...this.
43136         * lib/canonicalize.c: Reflect the renaming.
43137         * modules/canonicalize: Likewise.
43138
43139 2007-08-26  Bruno Haible  <bruno@clisp.org>
43140
43141         * gnulib-tool (func_import): When deciding which files to remove,
43142         consider also dangling symbolic links.
43143         Reported by Eric Blake.
43144
43145 2007-08-26  Bruno Haible  <bruno@clisp.org>
43146
43147         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
43148
43149 2007-08-23  Simon Josefsson  <simon@josefsson.org>
43150
43151         * lib/readline.c: Don't include getline.h, the prototype is now
43152         found in stdio.h.
43153
43154 2007-08-23  Jim Meyering  <jim@meyering.net>
43155
43156         Getdelim touchup.
43157         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
43158         around the funlockfile call, since funlockfile never sets errno.
43159         Don't set errno upon failed realloc.
43160
43161 2007-08-22  Eric Blake  <ebb9@byu.net>
43162
43163         Getline touchups.
43164         * lib/getdelim.c (getdelim): Revert regression that required *n to
43165         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
43166         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
43167         getdelim, rather than whether implementation is missing.
43168         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
43169         * lib/stdio_.h (getline): Also declare if replacement is
43170         required.
43171         * doc/functions/getdelim.texi: New file.
43172         * doc/functions/getline.texi: Likewise.
43173         * doc/gnulib.texi (Function Substitutes): Add new files.
43174         Reported by Bruno Haible.
43175
43176 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
43177
43178         * users.txt: Add Guile.
43179
43180 2007-08-22  Eric Blake  <ebb9@byu.net>
43181
43182         * tests/test-getdelim.c (main): Use remove, not unlink.
43183         * tests/test-getline.c (main): Likewise.
43184
43185         Move getline and getdelim into stdio.h, per POSIX 200x.
43186         * modules/getline (Files): Remove getline.h.
43187         (Depends-on): Add stdio.
43188         (configure.ac): Add module indicator.
43189         * modules/getdelim (Files): Remove getdelim.h.
43190         (Depends-on): Add stdio.
43191         (configure.ac): Add module indicator.
43192         * modules/stdio (Makefile.am): Work with new indicators.
43193         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43194         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
43195         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
43196         * lib/getdelim.h: Delete.
43197         * lib/getline.h: Delete.
43198         * lib/stdio_.h (getdelim, getline): Declare.
43199         * modules/getdelim-tests: New module.
43200         * modules/getline-tests: Likewise.
43201         * tests/test-getdelim.c: New file.
43202         * tests/test-getline.c: Likewise.
43203         * NEWS: Document the change.
43204         * lib/getline.c: Update choice of header.
43205         * lib/csharpcomp.c: Likewise.
43206         * lib/getpass.c: Likewise.
43207         * lib/javacomp.c: Likewise.
43208         * lib/javaversion.c: Likewise.
43209         * lib/yesno.c: Likewise.
43210         * lib/getdelim.c: Likewise.
43211         (getdelim): Set errno on failure, and avoid memory leak.
43212
43213 2007-08-19  Bruno Haible  <bruno@clisp.org>
43214
43215         * modules/closein (Depends-on): Add freadahead.
43216         * lib/closein.c: Include freadahead.h.
43217         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
43218         is zero.
43219
43220 2007-08-19  Bruno Haible  <bruno@clisp.org>
43221
43222         * modules/freadahead-tests: New file.
43223         * tests/test-freadahead.sh: New file.
43224         * tests/test-freadahead.c: New file.
43225
43226         * modules/freadahead: New file.
43227         * lib/freadahead.h: New file.
43228         * lib/freadahead.c: New file.
43229         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
43230         fbufmode, fpurge, freadable, fwritable.
43231
43232 2007-08-19  Eric Blake  <ebb9@byu.net>
43233
43234         Test yesno in combination with closein.
43235         * lib/yesno.c (yesno): Document use of stdin.
43236         * modules/yesno-tests (Files): New module.
43237         * tests/test-yesno.c (main): New file.
43238         * tests/test-yesno.sh: Likewise.
43239
43240 2007-08-19  Bruno Haible  <bruno@clisp.org>
43241
43242         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
43243         * lib/fseeko.c (rpl_fseeko): Likewise.
43244         * lib/fseterr.c (fseterr): Likewise.
43245
43246 2007-08-19  Bruno Haible  <bruno@clisp.org>
43247
43248         * tests/test-lseek.c (main): Disable a test for BeOS.
43249         * doc/functions/lseek.texi: Document the BeOS bug.
43250
43251 2007-08-19  Bruno Haible  <bruno@clisp.org>
43252             Eric Blake  <ebb9@byu.net>
43253
43254         * lib/lseek.c: Include <sys/stat.h>.
43255         (rpl_lseek): Add workaround code also for Unix platforms.
43256         Needed for BeOS.
43257         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
43258         * doc/functions/lseek.texi: Document BeOS definiency.
43259
43260 2007-08-18  Bruno Haible  <bruno@clisp.org>
43261
43262         * modules/fstrcmp-tests: New file.
43263         * tests/test-fstrcmp.c: New file.
43264
43265 2007-08-18  Bruno Haible  <bruno@clisp.org>
43266
43267         * modules/fstrcmp: New file, from GNU gettext with modifications.
43268         * lib/fstrcmp.h: New file, from GNU gettext.
43269         * lib/fstrcmp.c: New file, from GNU gettext.
43270         * MODULES.html.sh (String handling): Add fstrcmp.
43271
43272 2007-08-18  Bruno Haible  <bruno@clisp.org>
43273
43274         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
43275         'bool'.
43276         (diag, compareseq): Remove const from the ctxt argument.
43277         (USE_HEURISTIC): Undefine at the end.
43278
43279 2007-08-18  Jim Meyering  <jim@meyering.net>
43280
43281         New file: lib/idcache.h
43282         * NEWS: Mention the addition.
43283         * modules/idcache (Files): Add lib/idcache.h
43284         * lib/idcache.c: Include "idcache.h".
43285         Don't include <sys/types.h>.
43286         Add a FIXME comment.
43287         Move file-scoped "static" declarations to the top.
43288         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
43289
43290 2007-08-17  Bruno Haible  <bruno@clisp.org>
43291         and Paul Eggert  <eggert@cs.ucla.edu>
43292
43293         * MODULES.html.sh: Add diffseq.
43294         * modules/diffseq: New file.
43295         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
43296         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
43297
43298 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43299
43300         Import changes from coreutils for bootstrap script.
43301
43302         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
43303
43304         * build-aux/bootstrap (slurp): Work even in environments where
43305         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
43306         current code does not slurp files whose names start with ".", and
43307         this looks like it might be a troublesome area.
43308
43309         2007-07-11  Jim Meyering  <jim@meyering.net>
43310
43311         If there's a GPL vN copyright comment, require that N == 3.
43312
43313         2007-07-08  Jim Meyering  <jim@meyering.net>
43314
43315         Run the coreutils-specific code only if tests/Makefile.am.in exists.
43316         * build-aux/bootstrap (mam_template): Move definition out of loop.
43317
43318         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
43319
43320         * build-aux/bootstrap (symlink_to_dir): Rename function from
43321         symlink_to_gnulib.  Add a directory parameter.  Update all
43322         callers.
43323         (cp_mark_as_generated): Also check for -- and link to -- files in
43324         gl/.
43325
43326         2007-07-08  Jim Meyering  <jim@meyering.net>
43327
43328         Adapt to deeper hierarchy in gnulib.
43329         * build-aux/bootstrap (symlink_to_dir): If the destination
43330         directory doesn't exist, create it. This is required at least for
43331         "lib/uniwidth/cjk.h".
43332
43333         2007-05-15  Jim Meyering  <jim@meyering.net>
43334
43335         * build-aux/bootstrap: Now that generated Makefile.am files
43336         are no longer under version control, they must be created at
43337         bootstrap time.
43338
43339 2007-08-14  Ben Pfaff  <blp@gnu.org>
43340
43341         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
43342
43343 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43344
43345         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
43346         given the changes below.
43347         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
43348         even on hosts that have padding bits beyond the supported 64.
43349
43350 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43351
43352         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
43353         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
43354         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
43355         depends on it.
43356         (xstrtol_error): Remove.
43357         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
43358         but with a different signature.
43359         (ATTRIBUTE_NORETURN, __attribute__): New macros.
43360         * lib/xstrtol-error.c: Include exitfail.h.
43361         (xstrtol_fatal): New function, with a different signature from the
43362         old xstrtol_error, so that the caller need not worry about passing
43363         in an exit status, or about storage management of the option argument.
43364         (xstrtol_error): Now a static function.  Redo signature to
43365         implement xstrtol_fatal.  Output the correct number of hyphens in
43366         front of the option so that the caller need not worry about
43367         storage management.
43368         (N_): New macro.
43369         (_): Remove; not used now.
43370         * modules/xstrtol: Depend on getopt.
43371         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
43372         of old STRTOL_FATAL_ERROR macro.
43373         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
43374         of test program.
43375         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
43376         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
43377
43378 2007-08-08  Eric Blake  <ebb9@byu.net>
43379
43380         * lib/xstrtol-error.c: Add missing include.
43381
43382         Move xstrtol messages into gnulib domain, when --pobase is used.
43383         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
43384         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
43385         * modules/xstrtol (Files): Distribute new file.
43386         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
43387         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
43388         * tests/test-xstrtol.c: ...into new file.
43389         * tests/test-xstrtoul.c: Also test xstrtoul.
43390         * tests/test-xstrtoimax.c: Also test xstrtoimax.
43391         * tests/test-xstrtoumax.c: Also test xstrtoumax.
43392         * tests/test-xstrtol.sh: Drive the tests.
43393         * tests/test-xstrtoimax.sh: Likewise.
43394         * tests/test-xstrtoumax.sh: Likewise.
43395         * modules/xstrtol-tests: New module.
43396         * modules/xstrtoimax-tests: Likewise.
43397         * modules/xstrtoumax-tests: Likewise.
43398
43399 2007-08-08  Jim Meyering  <jim@meyering.net>
43400
43401         New function: mfile_name_concat.
43402         * lib/filenamecat.c (mfile_name_concat): New function, just like
43403         file_name_concat, but return NULL upon failure rather than exiting
43404         with a diagnostic.
43405         * lib/filenamecat.h: Declare it.
43406
43407 2007-08-07  Bruno Haible  <bruno@clisp.org>
43408
43409         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
43410         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
43411         warning from gcc.
43412         Reported by Eric Blake.
43413
43414 2007-08-07  Simon Josefsson  <simon@josefsson.org>
43415
43416         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
43417         * modules/crypto/arcfour (License): Likewise.
43418         * modules/crypto/des-tests (License): Likewise.
43419         * modules/crypto/gc-arctwo-tests (License): Likewise.
43420         * modules/crypto/gc-des-tests (License): Likewise.
43421         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
43422         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
43423         * modules/crypto/gc-md2-tests (License): Likewise.
43424         * modules/crypto/gc-md4-tests (License): Likewise.
43425         * modules/crypto/gc-md5-tests (License): Likewise.
43426         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
43427         * modules/crypto/gc-rijndael-tests (License): Likewise.
43428         * modules/crypto/gc-sha1-tests (License): Likewise.
43429         * modules/crypto/gc-tests (License): Likewise.
43430         * modules/crypto/hmac-md5 (License): Likewise.
43431         * modules/crypto/hmac-sha1 (License): Likewise.
43432         * modules/crypto/md2-tests (License): Likewise.
43433         * modules/crypto/md4-tests (License): Likewise.
43434         * modules/crypto/md5 (License): Likewise.
43435         * modules/crypto/rijndael (License): Likewise.
43436         * modules/crypto/sha1 (License): Likewise.
43437         * modules/memxor (License): Likewise.
43438
43439 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
43440         and Bruno Haible  <bruno@clisp.org>
43441
43442         * NEWS: Describe interface changes to human, xstrtol.
43443         * lib/human.h: Include <xstrtol.h>.
43444         (human_options): Return enum strtol_error, not int.  Remove
43445         bool arg; take int * instead.
43446         * lib/human.c: Don't include "gettext.h".
43447         (_): Remove; no longer used.
43448         Don't include <xstrtol.h>, since human.h does it.
43449         (human_options): Adjust to abovementioned interface changes.
43450         Do not report error to stderr; that's now the caller's
43451         responsibility.
43452         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
43453         interface change.
43454         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
43455         Str, Argument_type_string.  All uses changed.  Put " argument"
43456         in diagnostics to make them clearer.  Change wording of suffix
43457         message for clarity.
43458         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
43459         Argument_type_string.
43460         (STRTOL_FATAL_WARN): Remove; no longer used.
43461         * modules/human (Depends-on): Remove gettext-h.
43462
43463 2007-08-06  Simon Josefsson  <simon@josefsson.org>
43464
43465         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
43466
43467 2007-07-31  Bruno Haible  <bruno@clisp.org>
43468
43469         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
43470         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
43471         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
43472
43473 2007-07-31  Bruno Haible  <bruno@clisp.org>
43474
43475         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
43476         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
43477
43478 2007-07-30  Bruno Haible  <bruno@clisp.org>
43479
43480         * modules/base64 (License): Use the synonymous term "LGPLv2+".
43481         * modules/c-ctype (License): Likewise.
43482         * modules/c-strcase (License): Likewise.
43483         * modules/check-version (License): Likewise.
43484         * modules/iconv (License): Likewise.
43485         * modules/iconv_open (License): Likewise.
43486         * modules/read-file (License): Likewise.
43487         * modules/striconv (License): Likewise.
43488         * modules/strverscmp (License): Likewise.
43489         * modules/vasprintf (License): Likewise.
43490         * modules/crypto/des (License): Likewise.
43491         * modules/crypto/gc (License): Likewise.
43492         * modules/crypto/gc-arcfour (License): Likewise.
43493         * modules/crypto/gc-arctwo (License): Likewise.
43494         * modules/crypto/gc-des (License): Likewise.
43495         * modules/crypto/gc-hmac-md5 (License): Likewise.
43496         * modules/crypto/gc-hmac-sha1 (License): Likewise.
43497         * modules/crypto/gc-md2 (License): Likewise.
43498         * modules/crypto/gc-md4 (License): Likewise.
43499         * modules/crypto/gc-md5 (License): Likewise.
43500         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
43501         * modules/crypto/gc-random (License): Likewise.
43502         * modules/crypto/gc-rijndael (License): Likewise.
43503         * modules/crypto/gc-sha1 (License): Likewise.
43504         * modules/crypto/md2 (License): Likewise.
43505         * modules/crypto/md4 (License): Likewise.
43506
43507 2007-07-30  Jim Meyering  <jim@meyering.net>
43508
43509         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
43510         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
43511         it has valid stat data.  This bug would cause du not to count the
43512         sizes of inaccessible directories.
43513         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
43514         in <http://bugzilla.redhat.com/250077>.
43515
43516 2007-07-25  Peter O'Gorman  <peter@pogma.com>
43517             Bruno Haible  <bruno@clisp.org>
43518
43519         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
43520         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
43521         #include_next, gives a diagnostic about it, but reports no error in
43522         the exit code.
43523         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43524
43525 2007-07-24  Ben Pfaff  <blp@gnu.org>
43526
43527         Improve name: "count-one-bits" is better than "popcount".
43528         * MODULES.html.sh: Update name.
43529         * lib/popcount.h: Renamed lib/count-one-bits.h.
43530         (popcount): Renamed count_one_bits.
43531         (popcountl): Renamed count_one_bits_l.
43532         (popcountll): Renamed count_one_bits_ll.
43533         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
43534         * modules/popcount: Renamed module/count-one-bits.
43535         * modules/popcount-tests: Renamed module/count-one-bits-tests.
43536         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
43537
43538 2007-07-23  Ben Pfaff  <blp@gnu.org>
43539
43540         * lib/popcount.h (popcount32): Reduce size of constants, to allow
43541         better code generation, and add U to large constants to avoid
43542         warnings, in non-GCC case.
43543         Suggested by Bruno Haible.
43544
43545 2007-07-23  Ben Pfaff  <blp@gnu.org>
43546
43547         * lib/popcount.h: Use verify_true instead of if...abort.
43548         * modules/popcount: Depend on verify module.
43549         Suggested by Jim Meyering.
43550
43551 2007-07-23  Bruno Haible  <bruno@clisp.org>
43552
43553         * gnulib-tool (func_import): Create a .cvsignore file also when the
43554         directory is not yet in CVS but the toplevel directory is. When
43555         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
43556         Reported by Karl Berry.
43557
43558 2007-07-22  Ben Pfaff  <blp@gnu.org>
43559
43560         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
43561         case.
43562         Suggested by Eric Blake.
43563
43564 2007-07-22  Ben Pfaff  <blp@gnu.org>
43565
43566         New module: popcount.
43567         * MODULES.html.sh: Add popcount.
43568         * modules/popcount: New file.
43569         * modules/popcount-tests: New file.
43570         * tests/test-popcount.c: New file.
43571         * lib/popcount.h: New file.
43572         * m4/popcount.m4: New file.
43573
43574 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43575
43576         * build-aux/announce-gen: Update to GPLv3.
43577
43578         * build-aux/config.guess: Update from config.
43579
43580 2007-07-21  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
43583         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
43584
43585 2007-07-20  Jim Meyering  <jim@meyering.net>
43586
43587         * check-module: Diagnose a self-dependency.
43588
43589 2007-07-19  Bruno Haible  <bruno@clisp.org>
43590
43591         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
43592         empty.
43593         Reported by Eric Blake.
43594
43595 2007-07-18  Bruno Haible  <bruno@clisp.org>
43596
43597         * gnulib-tool: New options --po-base, --po-domain.
43598         (func_usage): Document them.
43599         (pobase, po_domain): New variables.
43600         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
43601         DEFAULT_TEXT_DOMAIN.
43602         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
43603         (func_import): Consider pobase and po_domain. Create a po/ directory.
43604         (func_create_testdir): Set pobase and po_domain to empty.
43605         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
43606         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
43607
43608 2007-07-18  Bruno Haible  <bruno@clisp.org>
43609
43610         * gnulib-tool (func_get_automake_snippet): Synthesize also an
43611         EXTRA_DIST augmentation for files in build-aux/.
43612
43613 2007-07-16  Bruno Haible  <bruno@clisp.org>
43614
43615         * modules/lseek (License): Use the synonymous term "LGPLv2+".
43616         * modules/getdelim (License): Likewise.
43617
43618 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43619
43620         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
43621         * modules/d-type (License): Likewise.
43622         * modules/extensions (License): Likewise.
43623         * modules/fnmatch (License): Likewise.
43624         * modules/fseeko (License): Likewise.
43625         * modules/getaddrinfo (License): Likewise.
43626         * modules/getline (License): Likewise.
43627         * modules/getlogin_r (License): Likewise.
43628         * modules/getpass (License): Likewise.
43629         * modules/gettimeofday (License): Likewise.
43630         * modules/glob (License): Likewise.
43631         * modules/inet_ntop (License): Likewise.
43632         * modules/malloc (License): Likewise.
43633         * modules/malloca (License): Likewise.
43634         * modules/memmem (License): Likewise.
43635         * modules/mempcpy (License): Likewise.
43636         * modules/memset (License): Likewise.
43637         * modules/minmax (License): Likewise.
43638         * modules/mktime (License): Likewise.
43639         * modules/netinet_in (License): Likewise.
43640         * modules/pathmax (License): Likewise.
43641         * modules/poll (License): Likewise.
43642         * modules/regex (License): Likewise.
43643         * modules/snprintf (License): Likewise.
43644         * modules/stdbool (License): Likewise.
43645         * modules/stdint (License): Likewise.
43646         * modules/stdio (License): Likewise.
43647         * modules/strcase (License): Likewise.
43648         * modules/strcasestr (License): Likewise.
43649         * modules/strdup (License): Likewise.
43650         * modules/string (License): Likewise.
43651         * modules/strndup (License): Likewise.
43652         * modules/strnlen (License): Likewise.
43653         * modules/strpbrk (License): Likewise.
43654         * modules/strptime (License): Likewise.
43655         * modules/strsep (License): Likewise.
43656         * modules/sys_select (License): Likewise.
43657         * modules/sys_socket (License): Likewise.
43658         * modules/sys_stat (License): Likewise.
43659         * modules/sys_time (License): Likewise.
43660         * modules/time (License): Likewise.
43661         * modules/time_r (License): Likewise.
43662         * modules/timegm (License): Likewise.
43663         * modules/unistd (License): Likewise.
43664         * modules/vsnprintf (License): Likewise.
43665         * modules/wctype (License): Likewise.
43666
43667 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43668
43669         * modules/argz (License): LGPLv2+.
43670
43671 2007-07-15  Karl Berry  <karl@gnu.org>
43672
43673         * doc/gnulib.texi: revise node structure per new fdl.texi.
43674
43675 2007-07-14  Bruno Haible  <bruno@clisp.org>
43676
43677         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
43678         the output file.
43679         * lib/uniname/uninames.h: Regenerated.
43680
43681 2007-07-14  Karl Berry  <karl@gnu.org>
43682
43683         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
43684         omitting sectioning and index commands.
43685
43686 2007-07-13  Bruno Haible  <bruno@clisp.org>
43687
43688         New gnulib-tool option --more-symlinks.
43689         * gnulib-tool (func_usage): Document --more-symlinks.
43690         (do_copyrights): New variable.
43691         Recognize option --more-symlinks.
43692         (func_import): Don't add a copyright notice transform to
43693         sed_transform_lib_file if do_copyrights is empty.
43694
43695 2007-07-13  Bruno Haible  <bruno@clisp.org>
43696
43697         * lib/vasnprintf.c (decimal_point_char): Define also if
43698         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
43699         && !NEED_PRINTF_DIRECTIVE_A.
43700         Reported by Clemens Koller <clemens.koller@anagramm.de> via
43701         Gary V. Vaughan <gary@gnu.org>.
43702
43703 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
43704
43705         * lib/inttypes_.h: Undo previous change, since it was fixed
43706         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
43707
43708 2007-07-13  Bruno Haible  <bruno@clisp.org>
43709
43710         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
43711         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
43712
43713 2007-07-13  Jim Meyering  <jim@meyering.net>
43714
43715         df: Don't fail for Tru64's "file-on-file mount".
43716         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
43717         so we fall through and use statfs instead.  Details here:
43718         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
43719         Reported by Albert Chin.
43720
43721 2007-07-13  Bruno Haible  <bruno@clisp.org>
43722
43723         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
43724         * modules/configmake (License): Likewise.
43725         * modules/gettext (License): Likewise.
43726         * modules/gettext-h (License): Likewise.
43727         * modules/include_next (License): Likewise.
43728         * modules/link-warning (License): Likewise.
43729         * modules/localcharset (License): Likewise.
43730         * modules/localename (License): Likewise.
43731         * modules/lock (License): Likewise.
43732         * modules/relocatable-lib-lgpl (License): Likewise.
43733         * modules/size_max (License): Likewise.
43734         * modules/vasnprintf (License): Likewise.
43735         * modules/wchar (License): Likewise.
43736         * modules/xsize (License): Likewise.
43737
43738 2007-07-13  Bruno Haible  <bruno@clisp.org>
43739
43740         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
43741         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
43742
43743 2007-07-12  Bruno Haible  <bruno@clisp.org>
43744
43745         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
43746         in the modules files.
43747
43748 2007-07-11  Karl Berry  <karl@gnu.org>
43749
43750         * MODULES.html.sh (func_module): use
43751          sed -e '\|^'"${includefile}"'$|d'
43752          instead of /.../d, to avoid errors on $includefile's containing /.
43753
43754 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43755
43756         * gnulib-tool (func_import): Avoid duplication of --avoid
43757         statements
43758         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
43759         names to `_' in variable names.
43760
43761 2007-07-10  Eric Blake  <ebb9@byu.net>
43762
43763         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
43764         * NEWS: Document this change.
43765
43766 2007-07-08  Bruno Haible  <bruno@clisp.org>
43767
43768         Update to Unicode 5.0.
43769         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
43770         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
43771         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
43772         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
43773         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
43774         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
43775         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
43776         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
43777         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
43778         U+10A3F, U+1D242..U+1D244.
43779         (nonspacing_table_ind): Update.
43780         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
43781         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
43782
43783 2007-07-08  Bruno Haible  <bruno@clisp.org>
43784
43785         Update to Unicode 5.0.
43786         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
43787         code transform. Extend the name index field of unicode_name_to_code and
43788         unicode_code_to_name from 16 to 24 bits.
43789         * lib/uniname/uniname.c (unicode_character_name,
43790         unicode_name_character): Add the range 0x12xxx to the code transform.
43791         * lib/uniname/uninames.h: Regenerated.
43792         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
43793
43794 2007-07-07  Bruno Haible  <bruno@clisp.org>
43795
43796         * modules/wcwidth-tests: New file.
43797         * tests/test-wcwidth.c: New file.
43798
43799         Work around MacOS X wcwidth() bug.
43800         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
43801         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
43802         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
43803         original wcwidth in non-UTF-8 locales.
43804         * modules/wcwidth (Depends-on): Add localcharset, streq,
43805         uniwidth/width.
43806         * doc/functions/wcwidth.texi: Update.
43807
43808 2007-07-07  Bruno Haible  <bruno@clisp.org>
43809
43810         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
43811         (wcwidth): New declaration.
43812         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
43813         macros.
43814         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
43815         here. Prepare for creating <wchar.h> unconditionally.
43816         * modules/wchar (Depends-on): Add link-warning.
43817         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
43818         REPLACE_WCWIDTH, and GL_LINK_WARNING.
43819         * lib/wcwidth.h: Remove file.
43820         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
43821         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
43822         * modules/wcwidth (Files): Remove lib/wcwidth.h.
43823         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
43824         (Include): Replace wcwidth.h with <wchar.h>.
43825         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
43826         * lib/mbchar.h: Don't include wcwidth.h.
43827         * lib/mbswidth.c: Likewise.
43828         * NEWS: Mention the change.
43829
43830 2007-07-07  Bruno Haible  <bruno@clisp.org>
43831
43832         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
43833         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
43834         definition with an external declaration.
43835         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
43836         defined as a function. Remove AC_C_INLINE requirement.
43837         * modules/wcwidth (Files): Add lib/wcwidth.c.
43838         (Makefile.am): Remove redundant statement.
43839
43840 2007-07-07  Bruno Haible  <bruno@clisp.org>
43841
43842         * MODULES.html.sh (Unicode string functions): Add the new modules.
43843
43844         * tests/uniwidth/test-u32-strwidth.c: New file.
43845         * modules/uniwidth/u32-strwidth-tests: New file.
43846
43847         * lib/uniwidth/u32-strwidth.c: New file.
43848         * modules/uniwidth/u32-strwidth: New file.
43849
43850         * tests/uniwidth/test-u16-strwidth.c: New file.
43851         * modules/uniwidth/u16-strwidth-tests: New file.
43852
43853         * lib/uniwidth/u16-strwidth.c: New file.
43854         * modules/uniwidth/u16-strwidth: New file.
43855
43856         * tests/uniwidth/test-u8-strwidth.c: New file.
43857         * modules/uniwidth/u8-strwidth-tests: New file.
43858
43859         * lib/uniwidth/u8-strwidth.c: New file.
43860         * modules/uniwidth/u8-strwidth: New file.
43861
43862         * tests/uniwidth/test-u32-width.c: New file.
43863         * modules/uniwidth/u32-width-tests: New file.
43864
43865         * lib/uniwidth/u32-width.c: New file.
43866         * modules/uniwidth/u32-width: New file.
43867
43868         * tests/uniwidth/test-u16-width.c: New file.
43869         * modules/uniwidth/u16-width-tests: New file.
43870
43871         * lib/uniwidth/u16-width.c: New file.
43872         * modules/uniwidth/u16-width: New file.
43873
43874         * tests/uniwidth/test-u8-width.c: New file.
43875         * modules/uniwidth/u8-width-tests: New file.
43876
43877         * lib/uniwidth/u8-width.c: New file.
43878         * modules/uniwidth/u8-width: New file.
43879
43880         * tests/uniwidth/test-uc_width.c: New file.
43881         * modules/uniwidth/width-tests: New file.
43882
43883         * lib/uniwidth/width.c: New file, from GNU libiconv.
43884         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
43885         * modules/uniwidth/width: New file.
43886
43887         * lib/uniwidth.h: New file, from GNU libiconv.
43888         * modules/uniwidth/base: New file.
43889
43890 2007-07-07  Bruno Haible  <bruno@clisp.org>
43891
43892         * lib/uniname.h: New file, from GNU gettext.
43893         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
43894         * lib/uniname/uninames.h: New file, from GNU gettext.
43895         * lib/uniname/uniname.c: New file, from GNU gettext.
43896         * tests/uniname/test-uninames.sh: New file.
43897         * tests/uniname/test-uninames.c: New file, from GNU gettext.
43898         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
43899         * modules/uniname/base: New file.
43900         * modules/uniname/uniname: New file.
43901         * modules/uniname/uniname-tests: New file.
43902         * MODULES.html.sh (Unicode string functions): Add the new modules.
43903
43904 2007-07-06  Bruno Haible  <bruno@clisp.org>
43905
43906         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
43907
43908 2007-07-06  Bruno Haible  <bruno@clisp.org>
43909
43910         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
43911         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
43912         includes <cygwin/sys_time.h> which includes <sys/select.h> which
43913         include <sys/time.h>.
43914         Reported by Eric Blake.
43915
43916 2007-07-06  Eric Blake  <ebb9@byu.net>
43917
43918         Fix testing canonicalize on cygwin.
43919         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
43920         Revert patch from 2007-06-19.
43921         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
43922         canonicalize module is also in use.
43923         * tests/test-canonicalize.c: New file.
43924         * tests/test-canonicalize.sh: Likewise.
43925         * modules/canonicalize-tests: Likewise.
43926
43927 2007-07-06  Jim Meyering  <jim@meyering.net>
43928
43929         * lib/getugroups.c (getugroups): Detect getgrent failure.
43930         Adjust comment to reflect reality: this function may return -1.
43931
43932 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
43933
43934         * build-aux/bootstrap (TP_URL,get_translations): Update to use
43935         the new TP address.
43936         (usage): Fix typo
43937         (gnulib_mk): New variable.
43938
43939 2007-07-05  Jim Meyering  <jim@meyering.net>
43940
43941         Don't let endgrent clobber errno, no matter how improbable.
43942         * lib/getugroups.c (getugroups): Save and restore errno around
43943         endgrent call.
43944
43945         Close the group DB even when failing with 2^31 or more members.
43946         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
43947
43948 2007-07-04  Jim Meyering  <jim@meyering.net>
43949
43950         * lib/getugroups.h: New file.
43951         * lib/getugroups.c: Include "getugroups.h".
43952         Remove uses of "register" keyword.
43953         Move local variable, "cp", down into scope where used.
43954         Give "username" parameter the "const" attribute.
43955         * modules/getugroups (Files): Add lib/getugroups.h
43956
43957 2007-07-04  Karl Berry  <karl@gnu.org>
43958
43959         * MODULES.html.sh (func_all_modules): Complete rename of
43960         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
43961
43962 2007-07-02  Bruno Haible  <bruno@clisp.org>
43963
43964         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
43965         mode, when inttypes.h comes from gnulib.
43966         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
43967
43968 2007-07-02  Simon Josefsson  <simon@josefsson.org>
43969
43970         * NEWS: Mention lgpl module name change.
43971
43972         * modules/lgpl-2.1: Renamed from lgpl.
43973
43974         * NEWS: Mention gpl module name change.
43975
43976         * modules/gpl-3.0: New file, based on gpl-2.0.
43977
43978         * modules/gpl-2.0: Renamed from gpl.
43979
43980         * modules/gpl: Fix filename, doc/gpl.texi is now found at
43981         doc/gpl-2.0.texi.
43982
43983 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43984
43985         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
43986         #define __STDC_LIMIT_MACROS temporarily while including
43987         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
43988         Problem reported by Joel E. Denny in
43989         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
43990
43991 2007-07-01  Bruno Haible  <bruno@clisp.org>
43992
43993         * lib/unistdio.h: New file.
43994         * lib/unistdio/u-asnprintf.h: New file.
43995         * lib/unistdio/u-asprintf.h: New file.
43996         * lib/unistdio/u-printf-args.c: New file.
43997         * lib/unistdio/u-printf-args.h: New file.
43998         * lib/unistdio/u-printf-parse.h: New file.
43999         * lib/unistdio/u-snprintf.h: New file.
44000         * lib/unistdio/u-sprintf.h: New file.
44001         * lib/unistdio/u-vasprintf.h: New file.
44002         * lib/unistdio/u-vsnprintf.h: New file.
44003         * lib/unistdio/u-vsprintf.h: New file.
44004         * lib/unistdio/ulc-asnprintf.c: New file.
44005         * lib/unistdio/ulc-asprintf.c: New file.
44006         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
44007         * lib/unistdio/ulc-printf-parse.c: New file.
44008         * lib/unistdio/ulc-snprintf.c: New file.
44009         * lib/unistdio/ulc-sprintf.c: New file.
44010         * lib/unistdio/ulc-vasnprintf.c: New file.
44011         * lib/unistdio/ulc-vasprintf.c: New file.
44012         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
44013         * lib/unistdio/ulc-vsnprintf.c: New file.
44014         * lib/unistdio/ulc-vsprintf.c: New file.
44015         * lib/unistdio/u8-asnprintf.c: New file.
44016         * lib/unistdio/u8-asprintf.c: New file.
44017         * lib/unistdio/u8-printf-parse.c: New file.
44018         * lib/unistdio/u8-snprintf.c: New file.
44019         * lib/unistdio/u8-sprintf.c: New file.
44020         * lib/unistdio/u8-vasnprintf.c: New file.
44021         * lib/unistdio/u8-vasprintf.c: New file.
44022         * lib/unistdio/u8-vsnprintf.c: New file.
44023         * lib/unistdio/u8-vsprintf.c: New file.
44024         * lib/unistdio/u8-u8-asnprintf.c: New file.
44025         * lib/unistdio/u8-u8-asprintf.c: New file.
44026         * lib/unistdio/u8-u8-snprintf.c: New file.
44027         * lib/unistdio/u8-u8-sprintf.c: New file.
44028         * lib/unistdio/u8-u8-vasnprintf.c: New file.
44029         * lib/unistdio/u8-u8-vasprintf.c: New file.
44030         * lib/unistdio/u8-u8-vsnprintf.c: New file.
44031         * lib/unistdio/u8-u8-vsprintf.c: New file.
44032         * lib/unistdio/u16-asnprintf.c: New file.
44033         * lib/unistdio/u16-asprintf.c: New file.
44034         * lib/unistdio/u16-printf-parse.c: New file.
44035         * lib/unistdio/u16-snprintf.c: New file.
44036         * lib/unistdio/u16-sprintf.c: New file.
44037         * lib/unistdio/u16-vasnprintf.c: New file.
44038         * lib/unistdio/u16-vasprintf.c: New file.
44039         * lib/unistdio/u16-vsnprintf.c: New file.
44040         * lib/unistdio/u16-vsprintf.c: New file.
44041         * lib/unistdio/u16-u16-asnprintf.c: New file.
44042         * lib/unistdio/u16-u16-asprintf.c: New file.
44043         * lib/unistdio/u16-u16-snprintf.c: New file.
44044         * lib/unistdio/u16-u16-sprintf.c: New file.
44045         * lib/unistdio/u16-u16-vasnprintf.c: New file.
44046         * lib/unistdio/u16-u16-vasprintf.c: New file.
44047         * lib/unistdio/u16-u16-vsnprintf.c: New file.
44048         * lib/unistdio/u16-u16-vsprintf.c: New file.
44049         * lib/unistdio/u32-asnprintf.c: New file.
44050         * lib/unistdio/u32-asprintf.c: New file.
44051         * lib/unistdio/u32-printf-parse.c: New file.
44052         * lib/unistdio/u32-snprintf.c: New file.
44053         * lib/unistdio/u32-sprintf.c: New file.
44054         * lib/unistdio/u32-vasnprintf.c: New file.
44055         * lib/unistdio/u32-vasprintf.c: New file.
44056         * lib/unistdio/u32-vsnprintf.c: New file.
44057         * lib/unistdio/u32-vsprintf.c: New file.
44058         * lib/unistdio/u32-u32-asnprintf.c: New file.
44059         * lib/unistdio/u32-u32-asprintf.c: New file.
44060         * lib/unistdio/u32-u32-snprintf.c: New file.
44061         * lib/unistdio/u32-u32-sprintf.c: New file.
44062         * lib/unistdio/u32-u32-vasnprintf.c: New file.
44063         * lib/unistdio/u32-u32-vasprintf.c: New file.
44064         * lib/unistdio/u32-u32-vsnprintf.c: New file.
44065         * lib/unistdio/u32-u32-vsprintf.c: New file.
44066         * tests/unistdio/test-ulc-asnprintf1.c: New file.
44067         * tests/unistdio/test-ulc-asnprintf1.h: New file.
44068         * tests/unistdio/test-ulc-printf1.h: New file.
44069         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
44070         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
44071         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
44072         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
44073         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
44074         * tests/unistdio/test-ulc-vasprintf1.c: New file.
44075         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
44076         * tests/unistdio/test-ulc-vsprintf1.c: New file.
44077         * tests/unistdio/test-u8-asnprintf1.c: New file.
44078         * tests/unistdio/test-u8-asnprintf1.h: New file.
44079         * tests/unistdio/test-u8-printf1.h: New file.
44080         * tests/unistdio/test-u8-vasnprintf1.c: New file.
44081         * tests/unistdio/test-u8-vasnprintf2.c: New file.
44082         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
44083         * tests/unistdio/test-u8-vasnprintf3.c: New file.
44084         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
44085         * tests/unistdio/test-u8-vasprintf1.c: New file.
44086         * tests/unistdio/test-u8-vsnprintf1.c: New file.
44087         * tests/unistdio/test-u8-vsprintf1.c: New file.
44088         * tests/unistdio/test-u16-asnprintf1.c: New file.
44089         * tests/unistdio/test-u16-asnprintf1.h: New file.
44090         * tests/unistdio/test-u16-printf1.h: New file.
44091         * tests/unistdio/test-u16-vasnprintf1.c: New file.
44092         * tests/unistdio/test-u16-vasnprintf2.c: New file.
44093         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
44094         * tests/unistdio/test-u16-vasnprintf3.c: New file.
44095         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
44096         * tests/unistdio/test-u16-vasprintf1.c: New file.
44097         * tests/unistdio/test-u16-vsnprintf1.c: New file.
44098         * tests/unistdio/test-u16-vsprintf1.c: New file.
44099         * tests/unistdio/test-u32-asnprintf1.c: New file.
44100         * tests/unistdio/test-u32-asnprintf1.h: New file.
44101         * tests/unistdio/test-u32-printf1.h: New file.
44102         * tests/unistdio/test-u32-vasnprintf1.c: New file.
44103         * tests/unistdio/test-u32-vasnprintf2.c: New file.
44104         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
44105         * tests/unistdio/test-u32-vasnprintf3.c: New file.
44106         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
44107         * tests/unistdio/test-u32-vasprintf1.c: New file.
44108         * tests/unistdio/test-u32-vsnprintf1.c: New file.
44109         * tests/unistdio/test-u32-vsprintf1.c: New file.
44110         * modules/unistdio/base: New file.
44111         * modules/unistdio/u-printf-args: New file.
44112         * modules/unistdio/ulc-asnprintf: New file.
44113         * modules/unistdio/ulc-asprintf: New file.
44114         * modules/unistdio/ulc-fprintf: New file.
44115         * modules/unistdio/ulc-printf-parse: New file.
44116         * modules/unistdio/ulc-snprintf: New file.
44117         * modules/unistdio/ulc-sprintf: New file.
44118         * modules/unistdio/ulc-vasnprintf: New file.
44119         * modules/unistdio/ulc-vasprintf: New file.
44120         * modules/unistdio/ulc-vfprintf: New file.
44121         * modules/unistdio/ulc-vsnprintf: New file.
44122         * modules/unistdio/ulc-vsprintf: New file.
44123         * modules/unistdio/u8-asnprintf: New file.
44124         * modules/unistdio/u8-asprintf: New file.
44125         * modules/unistdio/u8-printf-parse: New file.
44126         * modules/unistdio/u8-snprintf: New file.
44127         * modules/unistdio/u8-sprintf: New file.
44128         * modules/unistdio/u8-vasnprintf: New file.
44129         * modules/unistdio/u8-vasprintf: New file.
44130         * modules/unistdio/u8-vsnprintf: New file.
44131         * modules/unistdio/u8-vsprintf: New file.
44132         * modules/unistdio/u8-u8-asnprintf: New file.
44133         * modules/unistdio/u8-u8-asprintf: New file.
44134         * modules/unistdio/u8-u8-snprintf: New file.
44135         * modules/unistdio/u8-u8-sprintf: New file.
44136         * modules/unistdio/u8-u8-vasnprintf: New file.
44137         * modules/unistdio/u8-u8-vasprintf: New file.
44138         * modules/unistdio/u8-u8-vsnprintf: New file.
44139         * modules/unistdio/u8-u8-vsprintf: New file.
44140         * modules/unistdio/u16-asnprintf: New file.
44141         * modules/unistdio/u16-asprintf: New file.
44142         * modules/unistdio/u16-printf-parse: New file.
44143         * modules/unistdio/u16-snprintf: New file.
44144         * modules/unistdio/u16-sprintf: New file.
44145         * modules/unistdio/u16-vasnprintf: New file.
44146         * modules/unistdio/u16-vasprintf: New file.
44147         * modules/unistdio/u16-vsnprintf: New file.
44148         * modules/unistdio/u16-vsprintf: New file.
44149         * modules/unistdio/u16-u16-asnprintf: New file.
44150         * modules/unistdio/u16-u16-asprintf: New file.
44151         * modules/unistdio/u16-u16-snprintf: New file.
44152         * modules/unistdio/u16-u16-sprintf: New file.
44153         * modules/unistdio/u16-u16-vasnprintf: New file.
44154         * modules/unistdio/u16-u16-vasprintf: New file.
44155         * modules/unistdio/u16-u16-vsnprintf: New file.
44156         * modules/unistdio/u16-u16-vsprintf: New file.
44157         * modules/unistdio/u32-asnprintf: New file.
44158         * modules/unistdio/u32-asprintf: New file.
44159         * modules/unistdio/u32-printf-parse: New file.
44160         * modules/unistdio/u32-snprintf: New file.
44161         * modules/unistdio/u32-sprintf: New file.
44162         * modules/unistdio/u32-vasnprintf: New file.
44163         * modules/unistdio/u32-vasprintf: New file.
44164         * modules/unistdio/u32-vsnprintf: New file.
44165         * modules/unistdio/u32-vsprintf: New file.
44166         * modules/unistdio/u32-u32-asnprintf: New file.
44167         * modules/unistdio/u32-u32-asprintf: New file.
44168         * modules/unistdio/u32-u32-snprintf: New file.
44169         * modules/unistdio/u32-u32-sprintf: New file.
44170         * modules/unistdio/u32-u32-vasnprintf: New file.
44171         * modules/unistdio/u32-u32-vasprintf: New file.
44172         * modules/unistdio/u32-u32-vsnprintf: New file.
44173         * modules/unistdio/u32-u32-vsprintf: New file.
44174         * modules/unistdio/ulc-asnprintf-tests: New file.
44175         * modules/unistdio/ulc-vasnprintf-tests: New file.
44176         * modules/unistdio/ulc-vasprintf-tests: New file.
44177         * modules/unistdio/ulc-vsnprintf-tests: New file.
44178         * modules/unistdio/ulc-vsprintf-tests: New file.
44179         * modules/unistdio/u8-asnprintf-tests: New file.
44180         * modules/unistdio/u8-vasnprintf-tests: New file.
44181         * modules/unistdio/u8-vasprintf-tests: New file.
44182         * modules/unistdio/u8-vsnprintf-tests: New file.
44183         * modules/unistdio/u8-vsprintf-tests: New file.
44184         * modules/unistdio/u16-asnprintf-tests: New file.
44185         * modules/unistdio/u16-vasnprintf-tests: New file.
44186         * modules/unistdio/u16-vasprintf-tests: New file.
44187         * modules/unistdio/u16-vsnprintf-tests: New file.
44188         * modules/unistdio/u16-vsprintf-tests: New file.
44189         * modules/unistdio/u32-asnprintf-tests: New file.
44190         * modules/unistdio/u32-vasnprintf-tests: New file.
44191         * modules/unistdio/u32-vasprintf-tests: New file.
44192         * modules/unistdio/u32-vsnprintf-tests: New file.
44193         * modules/unistdio/u32-vsprintf-tests: New file.
44194         * MODULES.html.sh (Unicode string functions): Add the new modules.
44195
44196 2007-07-01  Bruno Haible  <bruno@clisp.org>
44197
44198         * lib/sprintf.c (sprintf): Limit the available length estimation,
44199         to avoid address wraparound.
44200         * lib/vsprintf.c (vsprintf): Likewise.
44201         * modules/sprintf-posix (Dependencies): Add stdint.
44202         * modules/vsprintf-posix (Dependencies): Likewise.
44203
44204 2007-07-01  Bruno Haible  <bruno@clisp.org>
44205
44206         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
44207         Windows PATH as well. Conservative double-quoting. Comments.
44208
44209 2007-07-01  Bruno Haible  <bruno@clisp.org>
44210             Eric Blake  <ebb9@byu.net>
44211             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44212
44213         * gnulib-tool (self_abspathname): Fix algorithm to cope with
44214         empty components in $PATH, denoting '.'.
44215
44216 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44217
44218         * gnulib-tool: Fix indentation.
44219         (func_create_megatestdir): Likewise.
44220         Report by Bruno Haible.
44221
44222 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44223
44224         Sync from Automake.
44225         * build-aux/gnupload: Fix shell portability issues with for loops.
44226         Report by Karl Berry.
44227
44228 2007-06-29  Simon Josefsson  <simon@josefsson.org>
44229
44230         * build-aux/maint.mk (POURL): Use translationproject.org.
44231
44232 2007-06-27  Simon Josefsson  <simon@josefsson.org>
44233             Bruno Haible  <bruno@clisp.org>
44234
44235         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
44236         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
44237         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
44238         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
44239         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
44240
44241 2007-06-27  Bruno Haible  <bruno@clisp.org>
44242
44243         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
44244         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
44245
44246 2007-06-26  Karl Berry  <karl@gnu.org>
44247
44248         * MODULES.html.sh: remove xreadlink-with-size.
44249
44250 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44251
44252         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
44253         method that I hope also handles the double-include problem noted
44254         by Bruno Haible in
44255         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
44256
44257 2007-06-23  Bruno Haible  <bruno@clisp.org>
44258
44259         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44260         Don't let the 'mostlyclean' target fail if the last subdirectory could
44261         not be removed.
44262         Reported by Karl Berry.
44263
44264 2007-06-23  Bruno Haible  <bruno@clisp.org>
44265
44266         * gnulib-tool (echo): Add a speedier workaround for ksh.
44267         * tests/test-echo.sh: Likewise.
44268
44269 2007-06-23  Bruno Haible  <bruno@clisp.org>
44270
44271         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
44272         * tests/test-echo.sh: Likewise.
44273
44274 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44275
44276         * gnulib-tool (IFS): Initialize early, so we don't set it to
44277         empty later.
44278         (self_abspathname): Rewrite algorithm to set it, reindent.
44279         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
44280         (func_create_megatestdir): Merge some sed scripts.
44281
44282 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44283
44284         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
44285         exposed by Sun Studio 11 cc on Solaris 8.
44286
44287 2007-06-22  Bruno Haible  <bruno@clisp.org>
44288
44289         * gnulib-tool (echo): Ensure the echo primitive does not interpret
44290         backslashes.
44291         * tests/test-echo.sh: New file.
44292
44293 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44294
44295         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
44296         simplify `sed_replace_build_aux' scripts, they are portable but
44297         echoing them with `echo' is not.
44298         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
44299
44300 2007-06-21  Karl Berry  <karl@gnu.org>
44301
44302         * config/srclist.txt: guess we can't handle the licenses via
44303         srclist at the moment.
44304
44305 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44306
44307         * MODULES.html.sh: Add include_next.
44308         * modules/include_next: New file.
44309
44310 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44311
44312         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
44313         INCLUDE_NEXT.
44314         (gl_CHECK_NEXT_HEADERS): New macro.
44315         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
44316         the obsolescent gl_ABSOLUTE_HEADER.
44317         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
44318         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
44319         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
44320         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
44321         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
44322         * m4/math_h.m4 (gl_MATH_H): Likewise.
44323         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
44324         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
44325         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
44326         * m4/stdint.m4 (gl_STDINT_H): Likewise.
44327         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
44328         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
44329         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
44330         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44331         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
44332         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
44333         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
44334         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
44335         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
44336         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
44337         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44338         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44339         * m4/inttypes.m4 (gl_INTTYPES_H): Define
44340         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
44341         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
44342         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
44343         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
44344         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
44345         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
44346         * lib/float_.h: Likewise.
44347         * lib/inttypes_.h: Likewise.
44348         * lib/math_.h: Likewise.
44349         * lib/search_.h: Likewise.
44350         * lib/signal_.h: Likewise.
44351         * lib/stdint_.h: Likewise.
44352         * lib/stdio_.h: Likewise.
44353         * lib/stdlib_.h: Likewise.
44354         * lib/string_.h: Likewise.
44355         * lib/sys_stat_.h: Likewise.
44356         * lib/sys_time_.h: Likewise.
44357         * lib/time_.h: Likewise.
44358         * lib/unistd_.h: Likewise.
44359         * lib/wchar_.h: Likewise.
44360         * lib/wctype_.h: Likewise.
44361         * lib/dirent_.h: Likewise.
44362         * lib/iconv_.h: Likewise.
44363         * lib/locale_.h: Likewise.
44364         * lib/netinet_in_.h: Likewise.
44365         * lib/sys_select_.h: Likewise.
44366         * lib/sys_socket_.h: Likewise.
44367         * lib/sysexits_.h: Likewise.
44368         * modules/fcntl (Depends-on): Depend on include_next, not
44369         absolute_header.
44370         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
44371         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
44372         * modules/fchdir: Likewise.
44373         * modules/float: Likewise.
44374         * modules/iconv_open: Likewise.
44375         * modules/inttypes: Likewise.
44376         * modules/locale: Likewise.
44377         * modules/math: Likewise.
44378         * modules/netinet_in: Likewise.
44379         * modules/search: Likewise.
44380         * modules/signal: Likewise.
44381         * modules/stdint: Likewise.
44382         * modules/stdio: Likewise.
44383         * modules/stdlib: Likewise.
44384         * modules/string: Likewise.
44385         * modules/sys_select: Likewise.
44386         * modules/sys_socket: Likewise.
44387         * modules/sys_stat: Likewise.
44388         * modules/sys_time: Likewise.
44389         * modules/sysexits: Likewise.
44390         * modules/time: Likewise.
44391         * modules/unistd: Likewise.
44392         * modules/wchar: Likewise.
44393         * modules/wctype: Likewise.
44394         * modules/sys_stat: Change maintainer to "all".
44395         * modules/unistd: Likewise.
44396
44397 2007-06-20  Karl Berry  <karl@gnu.org>
44398
44399         * config/srclist.txt: track www changes in license files.
44400
44401 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
44402
44403         * build-aux/bootstrap: Remove stray dot.
44404         Make sure build_aux settings are honored when linking
44405         gnulib_extra_files.
44406
44407 2007-06-19  Eric Blake  <ebb9@byu.net>
44408
44409         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
44410         Allow compilation on cygwin.
44411
44412 2007-06-19  Jim Meyering  <jim@meyering.net>
44413
44414         xreadlink-with-size: Remove module.  No longer used.
44415         Ex-callers now use xreadlink or mreadlink-with-size.
44416         * modules/xreadlink-with-size: Remove module.
44417         * lib/xreadlink-with-size.c: Remove file.
44418         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
44419         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
44420         just before the function definition *is* accurate.
44421
44422         Eliminate one way canonicalize_filename_mode could exit.
44423         * lib/canonicalize.c (canonicalize_filename_mode):
44424         Use mreadlink_with_size, not xreadlink_with_size.
44425
44426 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
44427
44428         Detect porting problems to FreeBSD/arm, which has time_t wider than
44429         long int.  Original problem reported for GNU diff by Xin Li in
44430         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
44431         * modules/getdate (Depends-on): Add intprops, verify.
44432         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
44433         is an integer type no wider than long int.
44434
44435 2007-06-18  Jim Meyering  <jim@meyering.net>
44436
44437         New module: mreadlink-with-size.
44438         * MODULES.html.sh: Add mreadlink-with-size.
44439         * modules/mreadlink-with-size: New module
44440         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
44441         not xreadlink-with-size.
44442         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
44443
44444 2007-06-16  Bruno Haible  <bruno@clisp.org>
44445
44446         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
44447         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
44448         Reported by Gary V. Vaughan <gary@gnu.org>.
44449
44450 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
44451
44452         Revamp lchown so that it lives in unistd.h where it belongs.
44453         * lib/lchown.h: Remove.
44454         * lib/dirchownmod.c: Don't include lib/lchown.h.
44455         * lib/fchownat.c: Likewise.
44456         * lib/openat.c: Likewise.
44457         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
44458         does not follow symlinks.
44459         (EOPNOTSUPP): Define if not defined.
44460         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
44461         is defined to 0.
44462         (lchown): New decl.
44463         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
44464         Do not check for lchown decl.
44465         Set REPLACE_LCHOWN.
44466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
44467         REPLACE_LCHOWN.
44468         * modules/chown: Make it clear it follows symlinks.
44469         * modules/lchown: Make it clear it doesn't follow symlinks.
44470         (Files): Remove lib/lchown.h
44471         (Depends-on): Add unistd.
44472         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
44473         (Include): Include <unistd.h>, not "lchown.h".
44474         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
44475         REPLACE_LCHOWN.
44476
44477 2007-06-15  Jim Meyering  <jim@meyering.net>
44478
44479         Change license (GPL to LGPL) of fsusage and dependents.
44480         * modules/fsusage (License): Change to LGPL.
44481         * modules/full-read (License): Likewise.
44482         * modules/full-write (License): Likewise.
44483         * modules/safe-read (License): Likewise.
44484         * modules/safe-write (License): Likewise.
44485
44486 2007-06-14  Ben Pfaff  <blp@gnu.org>
44487
44488         Missing part of allocsa -> malloca transition.
44489         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
44490         gl_MALLOCA.
44491
44492 2007-06-12  Bruno Haible  <bruno@clisp.org>
44493
44494         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
44495         to ia64, x86_64, i386.
44496         Reported by Eric Blake.
44497
44498 2007-06-12  Bruno Haible  <bruno@clisp.org>
44499
44500         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
44501         cross-compiling to x86_64.
44502
44503 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
44504
44505         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
44506         glitch reported by Ralf Wildenhues in
44507         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
44508
44509         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
44510         Vin Shelton.
44511
44512 2007-06-11  Bruno Haible  <bruno@clisp.org>
44513
44514         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
44515         replacement string.
44516         Reported by Eric Blake.
44517
44518 2007-06-10  Bruno Haible  <bruno@clisp.org>
44519
44520         Prepare vasnprintf code for use with Unicode strings.
44521         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
44522         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
44523         TYPE_U32_STRING.
44524         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
44525         a_u32_string variants.
44526         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
44527         * lib/printf-args.c: Don't include config.h and the specification
44528         header if PRINTF_FETCHARGS is already defined.
44529         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
44530         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
44531         TYPE_U16_STRING, TYPE_U32_STRING.
44532         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
44533         u16_directive, u16_directives, u32_directive, u32_directives): New
44534         types.
44535         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
44536         New declarations.
44537         * lib/printf-parse.c: Don't include config.h and the specification
44538         header if PRINTF_PARSE is already defined. Eliminate the set of
44539         parameters for WIDE_CHAR_VERSION; the user of this file must provide
44540         them now. Include c-ctype.h.
44541         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
44542         directive and CHAR_T_ONLY_ASCII.
44543         * lib/vasnprintf.c: Don't include config.h and the specification header
44544         if VASNPRINTF is already defined.
44545         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
44546         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
44547         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
44548         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
44549         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
44550         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
44551         code accordingly.
44552         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
44553         pad_ourselves also in this case, with the 'c' and 's' directives, and
44554         with a different notion of "width".
44555         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
44556
44557 2007-06-10  Bruno Haible  <bruno@clisp.org>
44558
44559         * modules/unistr/u32-mbsnlen: New file.
44560         * lib/unistr/u32-mbsnlen.c: New file.
44561
44562         * modules/unistr/u16-mbsnlen: New file.
44563         * lib/unistr/u16-mbsnlen.c: New file.
44564
44565         * modules/unistr/u8-mbsnlen: New file.
44566         * lib/unistr/u8-mbsnlen.c: New file.
44567
44568         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
44569         declarations.
44570
44571 2007-06-10  Bruno Haible  <bruno@clisp.org>
44572
44573         * lib/string_.h (mbsnlen): New declaration.
44574         * lib/mbsnlen.c: New file.
44575         * m4/mbsnlen.m4: New file.
44576         * modules/mbsnlen: New file.
44577         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
44578         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
44579         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
44580
44581 2007-06-10  Bruno Haible  <bruno@clisp.org>
44582
44583         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
44584
44585 2007-06-10  Bruno Haible  <bruno@clisp.org>
44586
44587         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
44588         * lib/mbuiter.h: Likewise.
44589
44590 2007-06-10  Bruno Haible  <bruno@clisp.org>
44591
44592         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
44593         declaration.
44594
44595 2007-06-10  Karl Berry  <karl@gnu.org>
44596
44597         * config/srclist.txt: remove gettext entries, Bruno prefers
44598         to update individually.
44599
44600 2007-06-10  Bruno Haible  <bruno@clisp.org>
44601
44602         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
44603         'maxlen'. Ensure only length + width bytes are allocated, not
44604         length + 1 + width.
44605
44606 2007-06-09  Bruno Haible  <bruno@clisp.org>
44607
44608         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
44609         (CHAR_T): Remove macro.
44610         (VASNPRINTF): Update.
44611
44612 2007-06-09  Bruno Haible  <bruno@clisp.org>
44613
44614         * MODULES.html.sh (Unicode string functions): Add the new modules.
44615
44616         * modules/uniconv/u32-conv-to-enc: New file.
44617         * lib/uniconv/u32-conv-to-enc.c: New file.
44618         * modules/uniconv/u32-conv-to-enc-tests: New file.
44619         * tests/uniconv/test-u32-conv-to-enc.c: New file.
44620
44621         * modules/uniconv/u16-conv-to-enc: New file.
44622         * lib/uniconv/u16-conv-to-enc.c: New file.
44623         * lib/uniconv/u-conv-to-enc.h: New file.
44624         * modules/uniconv/u16-conv-to-enc-tests: New file.
44625         * tests/uniconv/test-u16-conv-to-enc.c: New file.
44626
44627         * modules/uniconv/u8-conv-to-enc: New file.
44628         * lib/uniconv/u8-conv-to-enc.c: New file.
44629         * modules/uniconv/u8-conv-to-enc-tests: New file.
44630         * tests/uniconv/test-u8-conv-to-enc.c: New file.
44631
44632         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44633         u32_conv_to_encoding): New declarations.
44634
44635 2007-06-09  Bruno Haible  <bruno@clisp.org>
44636
44637         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
44638
44639 2007-06-09  Bruno Haible  <bruno@clisp.org>
44640
44641         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
44642         * modules/malloca: Renamed from modules/allocsa, updated.
44643         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
44644         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
44645         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
44646         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
44647         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
44648         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
44649         * modules/xmalloca: Renamed from modules/xallocsa, updated.
44650         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
44651         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
44652         * modules/c-strcasestr (Depends-on): Update.
44653         * lib/c-strcasestr.c: Update.
44654         * modules/c-strstr (Depends-on): Update.
44655         * lib/c-strstr.c: Update.
44656         * modules/canonicalize-lgpl (Depends-on): Update.
44657         * lib/canonicalize-lgpl.c: Update.
44658         * modules/clean-temp (Depends-on): Update.
44659         * lib/clean-temp.c: Update.
44660         * modules/csharpcomp (Depends-on): Update.
44661         * lib/csharpcomp.c: Update.
44662         * modules/csharpexec (Depends-on): Update.
44663         * lib/csharpexec.c: Update.
44664         * modules/javacomp (Depends-on): Update.
44665         * lib/javacomp.c: Update.
44666         * modules/javaexec (Depends-on): Update.
44667         * lib/javaexec.c: Update.
44668         * modules/mbscasestr (Depends-on): Update.
44669         * lib/mbscasestr.c: Update.
44670         * modules/mbsstr (Depends-on): Update.
44671         * lib/mbsstr.c: Update.
44672         * modules/setenv (Depends-on): Update.
44673         * lib/setenv.c: Update.
44674         * modules/strcasestr (Depends-on): Update.
44675         * lib/strcasestr.c: Update.
44676         * modules/striconveha (Depends-on): Update.
44677         * lib/striconveha.c: Update.
44678         * modules/relocatable-prog-wrapper (Files): Update.
44679         * lib/relocwrapper.c: Update.
44680         * build-aux/install-reloc: Update.
44681         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
44682
44683 2007-06-08  Bruno Haible  <bruno@clisp.org>
44684
44685         Port to uClibc.
44686         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
44687         * lib/fpurge.c (fpurge): Likewise.
44688         * lib/freading.c (freading): Likewise.
44689         * lib/fseeko.c (rpl_fseeko): Likewise.
44690         * lib/fseterr.c (fseterr): Likewise.
44691         * lib/fwriting.c (fwriting): Likewise.
44692         * tests/test-fflush.c (main): Avoid a failure on uClibc.
44693
44694 2007-06-08  Bruno Haible  <bruno@clisp.org>
44695
44696         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
44697         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
44698         * modules/gettext (Files): Add m4/intlmacosx.m4.
44699
44700 2007-06-07  Bruno Haible  <bruno@clisp.org>
44701
44702         * modules/localename-tests: New file.
44703         * tests/test-localename.c: New file.
44704
44705         New module 'localename'.
44706         * lib/localename.h: New file.
44707         * lib/localename.c: New file, from GNU gettext.
44708         * m4/localename.m4: New file.
44709         * modules/localename: New file.
44710
44711 2007-06-07  Bruno Haible  <bruno@clisp.org>
44712
44713         Work around the lack of <wchar.h> on some builds of uClibc.
44714         * doc/headers/wchar.texi: Update.
44715         * lib/wchar_.h: Include <wchar.h> only if it exists.
44716         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
44717         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
44718         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
44719         doesn't exist.
44720         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
44721         * modules/mbfile (Depends-on): Add wchar.
44722         * modules/mbiter (Depends-on): Likewise.
44723         * modules/mbuiter (Depends-on): Likewise.
44724         Reported by Simon Josefsson.
44725
44726 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
44727
44728         Work around problem reported by Steven M. Schweda in
44729         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
44730         Tru64 5.1B with the Compaq compiler environment installed declares
44731         an 'isblank' function but does not define it in the C library.
44732         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
44733         * lib/regex_internal.h (isblank): Likewise.
44734         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
44735         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44736
44737 2007-06-05  Bruno Haible  <bruno@clisp.org>
44738
44739         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
44740         ia64.
44741         * modules/printf-safe: New file.
44742         * modules/fprintf-posix (Depends-on): Add printf-safe.
44743         * modules/printf-posix (Depends-on): Likewise.
44744         * modules/snprintf-posix (Depends-on): Likewise.
44745         * modules/sprintf-posix (Depends-on): Likewise.
44746         * modules/vasnprintf-posix (Depends-on): Likewise.
44747         * modules/vasprintf-posix (Depends-on): Likewise.
44748         * modules/vfprintf-posix (Depends-on): Likewise.
44749         * modules/vprintf-posix (Depends-on): Likewise.
44750         * modules/vsnprintf-posix (Depends-on): Likewise.
44751         * modules/vsprintf-posix (Depends-on): Likewise.
44752         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
44753         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
44754         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
44755         "no" on i386, x86_64, ia64.
44756         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
44757         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44758         on i386, x86_64, ia64.
44759         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
44760         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44761         on i386, x86_64, ia64.
44762         * tests/test-vasnprintf-posix.c: Include float.h.
44763         (LDBL80_WORDS): New macro.
44764         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44765         on i386, x86_64, ia64.
44766         * tests/test-vasprintf-posix.c: Include float.h.
44767         (LDBL80_WORDS): New macro.
44768         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44769         on i386, x86_64, ia64.
44770         * tests/test-snprintf-posix.c: Include float.h.
44771         * tests/test-sprintf-posix.c: Likewise.
44772         * tests/test-vsnprintf-posix.c: Likewise.
44773         * tests/test-vsprintf-posix.c: Likewise.
44774
44775 2007-06-05  Bruno Haible  <bruno@clisp.org>
44776
44777         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
44778         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
44779         non-IEEE numbers on i386, x86_64, ia64.
44780         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
44781         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
44782         * tests/test-isnanl.h: Include float.h.
44783         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
44784
44785 2007-06-05  Bruno Haible  <bruno@clisp.org>
44786
44787         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
44788         also the %a / %A. Handle the %a / %A code before this extra handling.
44789
44790 2007-06-05  Bruno Haible  <bruno@clisp.org>
44791
44792         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
44793         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
44794
44795 2007-06-05  Bruno Haible  <bruno@clisp.org>
44796
44797         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
44798         typo in variable name.
44799
44800 2007-06-05  Eric Blake  <ebb9@byu.net>
44801
44802         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
44803         Reported by Simon Josefsson.
44804
44805 2007-06-04  Bruno Haible  <bruno@clisp.org>
44806
44807         Avoid test failures on some PowerPC platforms.
44808         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
44809         Define differently for PowerPC.
44810         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
44811         Reported by Gary V. Vaughan <gary@gnu.org>.
44812
44813 2007-06-02  Bruno Haible  <bruno@clisp.org>
44814
44815         Fix test-stdint failure on FreeBSD/ia64.
44816         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
44817         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
44818         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
44819         * doc/headers/stdint.texi: Update.
44820
44821 2007-06-01  Bruno Haible  <bruno@clisp.org>
44822
44823         * tests/test-binary-io.c (main): Pass a third argument to open().
44824         Reported by Gary V. Vaughan <gary@gnu.org>.
44825
44826 2007-06-01  Bruno Haible  <bruno@clisp.org>
44827
44828         * doc/functions/frexpl.texi: Update for mingw.
44829
44830 2007-06-01  Bruno Haible  <bruno@clisp.org>
44831
44832         * tests/test-lseek.c (main): Disable test of errno for invalid third
44833         argument.
44834         * doc/functions/lseek.texi: Update.
44835         Reported by Gary V. Vaughan <gary@gnu.org>.
44836
44837 2007-05-28  Bruno Haible  <bruno@clisp.org>
44838
44839         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
44840
44841 2007-05-31  Eric Blake  <ebb9@byu.net>
44842
44843         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
44844         cross compiling.
44845
44846 2007-05-30  Eric Blake  <ebb9@byu.net>
44847         and Bruno Haible  <bruno@clisp.org>
44848
44849         Work around mingw test failures exposed by m4-1.4.9b.
44850         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
44851         * tests/test-unistd.c: Disable uid_t and git_t tests for the
44852         moment.
44853
44854 2007-05-30  Bruno Haible  <bruno@clisp.org>
44855
44856         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
44857         assuming that they are closed. Needed on HP-UX 11.
44858
44859 2007-05-29  Bruno Haible  <bruno@clisp.org>
44860
44861         Fix a problem with #include_next.
44862         * lib/dirent_.h: Split the double-inclusion guard.
44863         * lib/fcntl_.h: Likewise.
44864         * lib/float_.h: Likewise.
44865         * lib/iconv_.h: Likewise.
44866         * lib/inttypes_.h: Likewise.
44867         * lib/locale_.h: Likewise.
44868         * lib/math_.h: Likewise.
44869         * lib/netinet_in_.h: Likewise.
44870         * lib/search_.h: Likewise.
44871         * lib/signal_.h: Likewise.
44872         * lib/stdint_.h: Likewise.
44873         * lib/stdio_.h: Likewise.
44874         * lib/stdlib_.h: Likewise.
44875         * lib/string_.h: Likewise.
44876         * lib/sys_select_.h: Likewise.
44877         * lib/sys_socket_.h: Likewise.
44878         * lib/sys_stat_.h: Likewise.
44879         * lib/sys_time_.h: Likewise.
44880         * lib/sysexits_.h: Likewise.
44881         * lib/time_.h: Likewise.
44882         * lib/unistd_.h: Likewise.
44883         * lib/wchar_.h: Likewise.
44884         * lib/wctype_.h: Likewise.
44885
44886 2007-05-29  Bruno Haible  <bruno@clisp.org>
44887
44888         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
44889         for the moment.
44890
44891 2007-05-29  Bruno Haible  <bruno@clisp.org>
44892
44893         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
44894         invocation.
44895         Reported by Eric Blake.
44896
44897 2007-05-29  Bruno Haible  <bruno@clisp.org>
44898
44899         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
44900         compiling case.
44901
44902 2007-05-29  Eric Blake  <ebb9@byu.net>
44903             Bruno Haible  <bruno@clisp.org>
44904
44905         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
44906         cross compiles.
44907
44908 2007-05-28  Eric Blake  <ebb9@byu.net>
44909
44910         * modules/closein-tests (test_closein_LDADD): Support test on
44911         cygwin with libtool.
44912
44913 2007-05-28  Bruno Haible  <bruno@clisp.org>
44914
44915         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
44916         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44917         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44918         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44919         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44920         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44921         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44922         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44923         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44924
44925 2007-05-28  Eric Blake  <ebb9@byu.net>
44926
44927         Unconditionally include <config.h> in unit tests.
44928         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
44929         * tests/test-allocsa.c, tests/test-arcfour.c,
44930         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
44931         tests/test-array_list.c, tests/test-array_oset.c,
44932         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
44933         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
44934         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
44935         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
44936         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
44937         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
44938         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
44939         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
44940         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
44941         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
44942         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
44943         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
44944         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
44945         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
44946         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
44947         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
44948         test-md5.c, test-memmem.c, test-printf-posix.c,
44949         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
44950         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
44951         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
44952         test-strcasestr.c, test-striconv.c, test-striconveh.c,
44953         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
44954         test-vasnprintf-posix2.c, test-vasnprintf.c,
44955         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
44956         test-vfprintf-posix.c, test-vprintf-posix.c,
44957         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
44958         test-xvasprintf.c: Likewise.
44959
44960 2007-05-28  Bruno Haible  <bruno@clisp.org>
44961
44962         * gnulib-tool (func_import): Remember the --with-tests command-line
44963         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
44964         Reported by Eric Blake.
44965
44966 2007-05-28  Bruno Haible  <bruno@clisp.org>
44967
44968         * modules/ftell-tests: New file.
44969         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
44970         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
44971
44972         * lib/ftell.c: New file.
44973         * modules/ftell: New file.
44974         * m4/ftell.m4: New file.
44975         * doc/functions/ftell.texi: Update.
44976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
44977         REPLACE_FTELL.
44978         * lib/stdio_.h (rpl_ftell): New declaration.
44979         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
44980         REPLACE_FTELL.
44981
44982 2007-05-28  Eric Blake  <ebb9@byu.net>
44983
44984         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
44985
44986 2007-05-28  Bruno Haible  <bruno@clisp.org>
44987
44988         * modules/fseek-tests: New file.
44989         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
44990         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
44991
44992         * lib/fseek.c: New file.
44993         * modules/fseek: New file.
44994         * m4/fseek.m4: New file.
44995         * doc/functions/fseek.texi: Update.
44996         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
44997         REPLACE_FSEEK.
44998         * lib/stdio_.h (rpl_fseek): New declaration.
44999         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
45000         REPLACE_FSEEK.
45001
45002 2007-05-28  Bruno Haible  <bruno@clisp.org>
45003
45004         * lib/stdio_.h (fflush): More comments.
45005
45006 2007-05-28  Bruno Haible  <bruno@clisp.org>
45007
45008         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
45009         runtime test.
45010
45011 2007-05-28  Eric Blake  <ebb9@byu.net>
45012
45013         Improve lseek module.
45014         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
45015         * lib/unistd_.h (lseek): Scale back link warning message.
45016         * tests/test-lseek.c: Beef up test.
45017         * tests/test-lseek.sh: Exercise more facets of lseek.
45018         Reported by Bruno Haible.
45019
45020 2007-05-28  Bruno Haible  <bruno@clisp.org>
45021
45022         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
45023         to define.
45024
45025 2007-05-27  Bruno Haible  <bruno@clisp.org>
45026
45027         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
45028
45029 2007-05-27  Bruno Haible  <bruno@clisp.org>
45030
45031         * modules/openmp: New file.
45032         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
45033         Noah Misch.
45034
45035 2007-05-26  Bruno Haible  <bruno@clisp.org>
45036
45037         * modules/chdir-long (Depends-on): Add fchdir.
45038         * modules/chdir-safer (Depends-on): Likewise.
45039         * modules/fts (Depends-on): Likewise.
45040         * modules/fts-lgpl (Depends-on): Likewise.
45041         * modules/openat (Depends-on): Likewise.
45042         * modules/savewd (Depends-on): Likewise.
45043
45044 2007-05-24  Eric Blake  <ebb9@byu.net>
45045
45046         Fix lseek on mingw.
45047         * modules/lseek: New module.
45048         * m4/lseek.m4: New file.
45049         * lib/lseek.c: New file.
45050         * modules/lseek-tests: New file.
45051         * tests/test-lseek.c: New file.
45052         * tests/test-lseek.sh: New file.
45053         * MODULES.html.sh: Document lseek module.
45054         * modules/fflush (Depends-on): Add lseek, fseeko.
45055         * modules/fseeko (Depends-on): Likewise.
45056         * modules/ftello (Depends-on): Likewise.
45057         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
45058         broken.
45059         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
45060         broken.
45061         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
45062         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
45063         * lib/ftello.c (rpl_ftello): Likewise.
45064         * tests/test-fseeko.c (main): Test this.
45065         * tests/test-fseeko.sh: Likewise.
45066         * tests/test-ftello.c (main): Likewise.
45067         * tests/test-ftello.sh: Likewise.
45068         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
45069         implies replacing fseek.
45070         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
45071         HAVE_FTELLO.
45072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
45073         * modules/unistd (Makefile.am): Likewise.
45074         * lib/unistd_.h (lseek): Declare a replacement.
45075         * doc/functions/lseek.texi (lseek): Document this fix.
45076         * doc/functions/fseek.texi (fseek): Likewise.
45077         * doc/functions/ftell.texi (ftell): Likewise.
45078
45079 2007-05-24  Bruno Haible  <bruno@clisp.org>
45080
45081         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
45082         in the printed representation of a NaN.
45083         * tests/test-vasprintf-posix.c (test_function): Likewise.
45084         * tests/test-snprintf-posix.h (test_function): Likewise.
45085         * tests/test-sprintf-posix.h (test_function): Likewise.
45086         Reported by Eric Blake.
45087
45088 2007-05-23  Eric Blake  <ebb9@byu.net>
45089
45090         Fix fseeko/ftello on cygwin 1.5.24.
45091         * doc/functions/fseeko.texi (fseeko): Document the fix.
45092         * doc/functions/ftello.texi (ftello): Document the fix.
45093         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
45094         * doc/functions/stdout.text (stdout): New file.
45095         * doc/functions/stderr.text (stderr): New file.
45096         * doc/gnulib.texi (Function Substitutes): Use new files.
45097         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
45098         prior to 1.7.0.
45099         * tests/test-ftello.c (main): Likewise for ftello.
45100         * tests/test-fseeko.sh: New file.
45101         * tests/test-ftello.sh: New file.
45102         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
45103         with seekable stdin.
45104         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
45105         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
45106         (gl_REPLACE_FSEEKO): New macro.
45107         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
45108         * modules/fseeko (Files): Distribute fseeko.c.
45109         * modules/ftello (Files): Distribute ftello.c.
45110         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
45111         mode.
45112         * lib/ftello.c (rpl_ftello): New file.
45113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
45114         fseeko, ftello.
45115         (gl_STDIN_LARGE_OFFSET): New macro.
45116         * modules/stdio (Makefile.am): Perform the replacement.
45117         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
45118
45119 2007-05-23  Bruno Haible  <bruno@clisp.org>
45120
45121         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
45122         GNULIB_POSIXCHECK is defined.
45123
45124 2007-05-21  Bruno Haible  <bruno@clisp.org>
45125
45126         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
45127         Check also the output for NaN arguments. When cross-compiling, guess
45128         no on IRIX.
45129         * lib/vasnprintf.c: Update comments.
45130         * tests/test-vasnprintf-posix.c (strisnan): New function.
45131         (test_function): Use it.
45132         * tests/test-vasprintf-posix.c (strisnan): New function.
45133         (test_function): Use it.
45134         * tests/test-snprintf-posix.h (strisnan): New function.
45135         (test_function): Use it.
45136         * tests/test-sprintf-posix.h (strisnan): New function.
45137         (test_function): Use it.
45138         Reported by Eric Blake.
45139
45140 2007-05-20  Bruno Haible  <bruno@clisp.org>
45141
45142         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
45143         numbers that fails on BeOS.
45144         * doc/functions/frexpl.texi: Update.
45145
45146 2007-05-20  Jim Meyering  <jim@meyering.net>
45147
45148         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
45149         forced upon us by glibc-2.6.
45150
45151 2007-05-20  Bruno Haible  <bruno@clisp.org>
45152
45153         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
45154         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
45155         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
45156         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
45157         NEED_PRINTF_INFINITE.
45158         (is_infinitel): New function.
45159         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
45160         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
45161         gl_PREREQ_VASNPRINTF_INFINITE.
45162         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
45163         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45164         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
45165         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
45166         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
45167         gl_PREREQ_VASNPRINTF_INFINITE.
45168         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45169         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45170         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45171         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45172         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45173         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45174         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45175         * doc/functions/fprintf.texi: Update.
45176         * doc/functions/printf.texi: Update.
45177         * doc/functions/snprintf.texi: Update.
45178         * doc/functions/sprintf.texi: Update.
45179         * doc/functions/vfprintf.texi: Update.
45180         * doc/functions/vprintf.texi: Update.
45181         * doc/functions/vsnprintf.texi: Update.
45182         * doc/functions/vsprintf.texi: Update.
45183
45184 2007-05-20  Bruno Haible  <bruno@clisp.org>
45185
45186         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
45187         was not found in libc.
45188         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
45189
45190 2007-05-20  Bruno Haible  <bruno@clisp.org>
45191
45192         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
45193         printed as "-nan" instead of "nan".
45194         * tests/test-vasprintf-posix.c (test_function): Likewise.
45195         * tests/test-snprintf-posix.h (test_function): Likewise.
45196         * tests/test-sprintf-posix.h (test_function): Likewise.
45197         Needed for HP-UX 11.
45198
45199 2007-05-20  Jim Meyering  <jim@meyering.net>
45200
45201         Fix buggy test for the fchownat-deref bug.
45202         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
45203         symlink required for the run-test.  Without it, this test would
45204         always declare that fchownat doesn't work, and client code would
45205         unnecessarily use the replacement function with fixed libc.
45206         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
45207         Reported by Greg Schafer.
45208
45209 2007-05-19  Bruno Haible  <bruno@clisp.org>
45210
45211         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
45212         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
45213         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
45214         Needed for IRIX 6.5 and Solaris 2.5.1.
45215
45216 2007-05-19  Bruno Haible  <bruno@clisp.org>
45217
45218         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
45219         (test_function): Skip tests involving -0.0 on platforms where
45220         -0.0 = 0.0.
45221         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
45222         (test_function): Skip tests involving -0.0 on platforms where
45223         -0.0 = 0.0.
45224         * tests/test-snprintf-posix.h (have_minus_zero): New function.
45225         (test_function): Skip tests involving -0.0 on platforms where
45226         -0.0 = 0.0.
45227         * tests/test-sprintf-posix.h (have_minus_zero): New function.
45228         (test_function): Skip tests involving -0.0 on platforms where
45229         -0.0 = 0.0.
45230         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
45231         tests.
45232         * tests/test-printf-posix.h (test_function): Likewise.
45233         * tests/test-printf-posix.output: Remove all -0.0 related results.
45234         Needed for IRIX 6.5.
45235
45236 2007-05-19  Bruno Haible  <bruno@clisp.org>
45237
45238         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
45239         printed as "nan0x7fffffff" instead of "nan".
45240         * tests/test-vasprintf-posix.c (test_function): Likewise.
45241         * tests/test-snprintf-posix.h (test_function): Likewise.
45242         * tests/test-sprintf-posix.h (test_function): Likewise.
45243         * tests/test-fprintf-posix.h (NaN): Remove macro.
45244         (test_function): Remove all NaN related tests.
45245         * tests/test-printf-posix.h (NaN): Remove macro.
45246         (test_function): Remove all NaN related tests.
45247         * tests/test-printf-posix.output: Remove all NaN related results.
45248         Needed for IRIX 6.5.
45249
45250 2007-05-19  Bruno Haible  <bruno@clisp.org>
45251
45252         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
45253         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
45254
45255 2007-05-19  Bruno Haible  <bruno@clisp.org>
45256
45257         * lib/float_.h: New file.
45258         * m4/float_h.m4: New file.
45259         * modules/float: New file.
45260         * modules/isnanl (Dependencies): Add float.
45261         * modules/isnanl-nolibm (Dependencies): Likewise.
45262         * modules/mathl (Dependencies): Likewise.
45263         * modules/printf-frexpl (Dependencies): Likewise.
45264         * modules/signbit (Dependencies): Likewise.
45265         * modules/vasnprintf (Dependencies): Likewise.
45266         * doc/headers/float.texi: Update.
45267
45268 2007-05-19  Jim Meyering  <jim@meyering.net>
45269
45270         * lib/utimens.c (gl_futimens): Rename from futimens,
45271         now that glibc-2.6 declares futimens.
45272         * lib/utimens.h: Likewise.
45273
45274 2007-05-19  Bruno Haible  <bruno@clisp.org>
45275
45276         Avoid test failures on mingw.
45277         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
45278         * tests/test-printf-posix.sh: Likewise.
45279         * tests/test-vfprintf-posix.sh: Likewise.
45280         * tests/test-vprintf-posix.sh: Likewise.
45281
45282 2007-05-19  Bruno Haible  <bruno@clisp.org>
45283
45284         Fix *printf result for NaN, Inf, -0.0 on mingw.
45285         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
45286         * lib/vasnprintf.c: Include math.h and isnan.h.
45287         (is_infinite_or_zero): New function.
45288         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
45289         values in the %f, %F, %e, %E, %g, %G directives.
45290         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
45291         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45292         gl_PRINTF_INFINITE and test its result. Invoke
45293         gl_PREREQ_VASNPRINTF_INFINITE.
45294         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45295         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45296         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45297         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45298         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45299         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45300         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45301         * doc/functions/fprintf.texi: Update.
45302         * doc/functions/printf.texi: Update.
45303         * doc/functions/snprintf.texi: Update.
45304         * doc/functions/sprintf.texi: Update.
45305         * doc/functions/vfprintf.texi: Update.
45306         * doc/functions/vprintf.texi: Update.
45307         * doc/functions/vsnprintf.texi: Update.
45308         * doc/functions/vsprintf.texi: Update.
45309
45310 2007-05-19  Bruno Haible  <bruno@clisp.org>
45311
45312         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
45313         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
45314         Instead of multiplying with 10^k, set extra_zeroes to k.
45315         (scale10_round_long_double): Remove function.
45316
45317 2007-05-18  Bruno Haible  <bruno@clisp.org>
45318
45319         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
45320         introduced on 2007-05-06.
45321
45322 2007-05-18  Bruno Haible  <bruno@clisp.org>
45323
45324         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
45325         %g directives.
45326         * tests/test-vasprintf-posix.c (test_function): Likewise.
45327         * tests/test-snprintf-posix.h (test_function): Likewise.
45328         * tests/test-sprintf-posix.h (test_function): Likewise.
45329
45330 2007-05-18  Bruno Haible  <bruno@clisp.org>
45331
45332         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
45333         (strmatch): New function.
45334         (test_function): Test the %f directive on numbers of various exponents.
45335         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
45336         (strmatch): New function.
45337         (test_function): Test the %f directive on numbers of various exponents.
45338         * tests/test-snprintf-posix.h (strmatch): New function.
45339         (test_function): Test the %f directive on numbers of various exponents.
45340         * tests/test-sprintf-posix.h (strmatch): New function.
45341         (test_function): Test the %f directive on numbers of various exponents.
45342         * tests/test-snprintf-posix.c (SIZEOF): New macro.
45343         * tests/test-sprintf-posix.c (SIZEOF): New macro.
45344         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
45345         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
45346
45347 2007-05-18  Bruno Haible  <bruno@clisp.org>
45348
45349         Add support for 'long double' number output.
45350         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
45351         * lib/vasnprintf.c: Include math.h and float+.h.
45352         (mp_limb_t): New type.
45353         (GMP_LIMB_BITS): New macro.
45354         (mp_twolimb_t): New type.
45355         (GMP_TWOLIMB_BITS): New macro.
45356         (mpn_t): New type.
45357         (multiply, divide, convert_to_decimal, decode_long_double,
45358         scale10_round_long_double, scale10_round_decimal_long_double,
45359         floorlog10l): New functions.
45360         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
45361         for the %f, %F, %e, %E, %g, %G directives.
45362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
45363         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45364         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
45365         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
45366         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45367         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45368         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45369         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45370         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45371         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45372         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45373         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
45374         * modules/snprintf-posix (Depends-on): Likewise.
45375         * modules/sprintf-posix (Depends-on): Likewise.
45376         * modules/vasnprintf-posix (Depends-on): Likewise.
45377         * modules/vasprintf-posix (Depends-on): Likewise.
45378         * modules/vfprintf-posix (Depends-on): Likewise.
45379         * modules/vsnprintf-posix (Depends-on): Likewise.
45380         * modules/vsprintf-posix (Depends-on): Likewise.
45381         * modules/vasnprintf (Files): Add lib/float+.h.
45382         * doc/functions/fprintf.texi: Update.
45383         * doc/functions/printf.texi: Update.
45384         * doc/functions/snprintf.texi: Update.
45385         * doc/functions/sprintf.texi: Update.
45386         * doc/functions/vfprintf.texi: Update.
45387         * doc/functions/vprintf.texi: Update.
45388         * doc/functions/vsnprintf.texi: Update.
45389         * doc/functions/vsprintf.texi: Update.
45390
45391 2007-05-18  Bruno Haible  <bruno@clisp.org>
45392
45393         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
45394
45395 2007-05-18  Bruno Haible  <bruno@clisp.org>
45396
45397         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
45398         for printing 64-bit integers. Needed for mingw.
45399
45400 2007-05-18  Bruno Haible  <bruno@clisp.org>
45401
45402         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
45403         gl_FUNC_FREXPL_WORKS.
45404         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
45405
45406 2007-05-18  Bruno Haible  <bruno@clisp.org>
45407
45408         * modules/frexpl-nolibm-tests: New file.
45409
45410         * modules/frexpl-nolibm: New file.
45411         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
45412
45413 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45414
45415         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
45416         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
45417         GCC 4.2, which otherwise issues a lot of warnings.
45418         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
45419         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
45420         Likewise.
45421         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
45422         * modules/iconv_open (iconv.h): Likewise.
45423         * modules/locale (locale.h): Likewise.
45424         * modules/netinet_in (netinet/in.h): Likewise.
45425         * modules/sys_select (sys_select.h): Likewise.
45426         * modules/sys_socket (sys/socket.h): Likewise.
45427         * modules/sys_stat (sys/stat.h): Likewise.
45428         * modules/sysexits (sysexits.h): Likewise.
45429         * modules/unistd (unistd.h): Likewise.
45430
45431 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45432
45433         * modules/closein-tests (Makefile.am): Distribute
45434         `test-closein.sh'.
45435
45436 2007-05-17  Bruno Haible  <bruno@clisp.org>
45437
45438         * tests/test-printf-posix.output: Renamed from
45439         tests/test-fprintf-posix.out.
45440         * modules/fprintf-posix-tests: Update.
45441         * modules/printf-posix-tests: Update.
45442         * modules/vfprintf-posix-tests: Update.
45443         * modules/vprintf-posix-tests: Update.
45444         * tests/test-fprintf-posix.sh: Update.
45445         * tests/test-printf-posix.sh: Update.
45446         * tests/test-vfprintf-posix.sh: Update.
45447         * tests/test-vprintf-posix.sh: Update.
45448         Reported by Ralf Wildenhues.
45449
45450 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45451
45452         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
45453         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
45454         GCC 4.2, which otherwise issues a lot of warnings.
45455         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
45456         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
45457         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
45458         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
45459         it should no longer be needed.
45460         * lib/string_.h: Likewise.
45461         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
45462         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
45463         * modules/inttypes (inttypes.h): Likewise.
45464         * modules/math (math.h): Likewise.
45465         * modules/search (search.h): Likewise.
45466         * modules/signal (signal.h): Likewise.
45467         * modules/stdint (stdint.h): Likewise.
45468         * modules/stdio (stdio.h): Likewise.
45469         * modules/stdlib (stdlib.h): Likewise.
45470         * modules/string (string.h): Likewise.
45471         * modules/sys_time (sys/time.h): Likewise.
45472         * modules/time (time.h): Likewise.
45473         * modules/wchar (wchar.h): Likewise.
45474         * modules/wctype (wtype.h): Likewise.
45475
45476 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45477
45478         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
45479
45480 2007-05-13  Bruno Haible  <bruno@clisp.org>
45481
45482         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
45483         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45484         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
45485         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45486         (gl_PREREQ_STRTOK_R): Don't require it here.
45487
45488 2007-05-13  Bruno Haible  <bruno@clisp.org>
45489
45490         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
45491         when used in C++ mode.
45492
45493 2007-05-12  Bruno Haible  <bruno@clisp.org>
45494
45495         * lib/linebuffer.h: Tweak doc.
45496         * lib/linebuffer.c: Likewise.
45497
45498 2007-05-12  James Youngman  <jay@gnu.org>
45499
45500         * lib/linebuffer.c (readlinebuffer_delim): New function,
45501         like readlinebuffer, but use a caller-specified delimiter.
45502         (readlinebuffer): Just call readlinebuffer_delim with '\n'
45503         as the delimiter.
45504         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
45505
45506 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45507
45508         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
45509         * modules/openat (Files): Remove openat-die.c.
45510         (Depends-on): Add openat-die.
45511         * modules/openat-die: New module.
45512
45513 2007-05-06  Bruno Haible  <bruno@clisp.org>
45514
45515         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
45516         Update with info about Cygwin.
45517         * doc/functions/fprintf.texi: Update.
45518         * doc/functions/printf.texi: Update.
45519         * doc/functions/snprintf.texi: Update.
45520         * doc/functions/sprintf.texi: Update.
45521         * doc/functions/vfprintf.texi: Update.
45522         * doc/functions/vprintf.texi: Update.
45523         * doc/functions/vsnprintf.texi: Update.
45524         * doc/functions/vsprintf.texi: Update.
45525         Reported by Eric Blake.
45526
45527 2007-05-06  Bruno Haible  <bruno@clisp.org>
45528
45529         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
45530         padding ourselves for the floating-point directives.
45531         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
45532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
45533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45534         gl_PRINTF_FLAG_ZERO and test its result. Invoke
45535         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
45536         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45537         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
45538         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45539         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45540         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45541         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45542         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45543         * tests/test-snprintf-posix.h (test_function): Also check the width
45544         and some flags in the %f directive.
45545         * tests/test-sprintf-posix.h (test_function): Likewise.
45546         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45547         * tests/test-vasprintf-posix.c (test_function): Likewise.
45548         * doc/functions/fprintf.texi: Update.
45549         * doc/functions/printf.texi: Update.
45550         * doc/functions/snprintf.texi: Update.
45551         * doc/functions/sprintf.texi: Update.
45552         * doc/functions/vfprintf.texi: Update.
45553         * doc/functions/vprintf.texi: Update.
45554         * doc/functions/vsnprintf.texi: Update.
45555         * doc/functions/vsprintf.texi: Update.
45556
45557 2007-05-06  Bruno Haible  <bruno@clisp.org>
45558
45559         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
45560         pass the ' flag character to sprintf or snprintf.
45561         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
45562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
45563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45564         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
45565         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
45566         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45567         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
45568         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45569         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45570         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45571         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45573         * tests/test-snprintf-posix.h (test_function): Also check the grouping
45574         flag.
45575         * tests/test-sprintf-posix.h (test_function): Likewise.
45576         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45577         * tests/test-vasprintf-posix.c (test_function): Likewise.
45578         * doc/functions/fprintf.texi: Update.
45579         * doc/functions/printf.texi: Update.
45580         * doc/functions/snprintf.texi: Update.
45581         * doc/functions/sprintf.texi: Update.
45582         * doc/functions/vfprintf.texi: Update.
45583         * doc/functions/vprintf.texi: Update.
45584         * doc/functions/vsnprintf.texi: Update.
45585         * doc/functions/vsprintf.texi: Update.
45586
45587 2007-05-01  Bruno Haible  <bruno@clisp.org>
45588
45589         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
45590
45591 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
45592
45593         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
45594         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
45595
45596 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45597
45598         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
45599         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
45600         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
45601
45602 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
45603
45604         * lib/argp-help.c (struct hol_entry): New member `ord'.
45605         (HOL_ENTRY_PTRCMP): Use ord for comparison
45606         (hol_sort): Initialize ord.
45607
45608 2007-05-01  Bruno Haible  <bruno@clisp.org>
45609
45610         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
45611         Reported by Eric Blake.
45612         * doc/gnulib.texi (Function Substitutes): Update.
45613
45614 2007-05-01  Bruno Haible  <bruno@clisp.org>
45615
45616         * doc/functions.texi: Remove file, now redundant through
45617         doc/functions/*.texi.
45618
45619 2007-05-01  Bruno Haible  <bruno@clisp.org>
45620
45621         * modules/argp (Depends-on): Add sleep.
45622
45623 2007-05-01  Bruno Haible  <bruno@clisp.org>
45624
45625         * modules/sleep-tests: New file.
45626         * tests/test-sleep.c: New file.
45627
45628         * modules/sleep: New file.
45629         * lib/sleep.c: New file.
45630         * m4/sleep.m4: New file.
45631         * lib/unistd_.h (sleep): New declaration.
45632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
45633         HAVE_SLEEP.
45634         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
45635         * doc/functions/sleep.texi: Document the sleep module.
45636
45637 2007-05-01  Bruno Haible  <bruno@clisp.org>
45638
45639         * lib/sigprocmask.h: Remove file.
45640         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
45641         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
45642         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
45643         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
45644         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
45645         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
45646         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
45647         HAVE_SIGSET_T as a shell variable.
45648         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
45649         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
45650         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
45651         (Depends-on): Add signal. Remove verify.
45652         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
45653         (Include): Mention <signal.h> instead of sigprocmask.h.
45654         * NEWS: Mention the change.
45655         * lib/fatal-signal.c: Don't include sigprocmask.h.
45656
45657 2007-05-01  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/signal: New file.
45660         * lib/signal_.h: New file.
45661         * m4/signal_h.m4: New file.
45662
45663 2007-05-01  Bruno Haible  <bruno@clisp.org>
45664
45665         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
45666         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
45667         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
45668         HAVE_WCTYPE_CTMP_BUG into wctype.h.
45669
45670 2007-05-01  Bruno Haible  <bruno@clisp.org>
45671
45672         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
45673         configure time.
45674         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
45675         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
45676         * modules/sys_stat (Makefile.am): Substitute their values into
45677         sys/stat.h.
45678
45679 2007-05-01  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
45682         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
45683         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
45684
45685 2007-05-01  Bruno Haible  <bruno@clisp.org>
45686
45687         * doc/header/assert.texi: Undo last change: don't mention the gnulib
45688         'assert' module here.
45689
45690 2007-05-01  Bruno Haible  <bruno@clisp.org>
45691
45692         * doc/functions/*.texi: New files.
45693         * doc/functions/google-ranking.txt: New file.
45694         * doc/gnulib.texi (Function Substitutes): New chapter.
45695         (ctime, inet_ntoa): Remove sections.
45696         * doc/ctime.texi: Remove file.
45697         * doc/inet_ntoa.texi: Remove file.
45698         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
45699         dependencies.
45700         (%.info): New rule, specifying a --reference-limit.
45701
45702 2007-05-01  Bruno Haible  <bruno@clisp.org>
45703
45704         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
45705
45706 2007-05-01  Bruno Haible  <bruno@clisp.org>
45707
45708         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
45709         the portability of 'mkdir' to mingw systems.
45710
45711 2007-05-01  Bruno Haible  <bruno@clisp.org>
45712
45713         * doc/headers/google-ranking.txt: New file.
45714
45715 2007-04-30  Eric Blake  <ebb9@byu.net>
45716
45717         Prefer fseeko to fseek.
45718         * modules/getpass (Depends-on): Add fseeko.
45719         * lib/getpass.c (getpass): Use fseeko, not fseek.
45720
45721 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
45722
45723         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
45724         assumes the sorting is stable, while most qsort implementations
45725         are not.  Use argument addresses to ensure they never compare as
45726         equal.
45727
45728         * tests/test-argp-2.sh (usage-indent test): Fix output
45729         (func_compare): Restore diff options
45730         * tests/test-argp.c: Restore #include "progname.h"
45731
45732 2007-04-29  Bruno Haible  <bruno@clisp.org>
45733
45734         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
45735         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45736         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
45737         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45738         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
45739         (configure.ac): Define CHECK_SNPRINTF_POSIX.
45740         (TESTS, check_PROGRAMS): Add test-snprintf.
45741         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
45742         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
45743         (TESTS, check_PROGRAMS): Add test-vsnprintf.
45744         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
45745         assertions that fail on HP-UX, OSF/1, or IRIX.
45746         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
45747
45748 2007-04-29  Bruno Haible  <bruno@clisp.org>
45749
45750         * MODULES.html.sh (posix_functions): Remove 'contents'.
45751
45752 2007-04-29  Karl Berry  <karl@gnu.org>
45753
45754         * config/srclist.txt (gendocs_template_min): new entry.
45755
45756 2007-04-29  Bruno Haible  <bruno@clisp.org>
45757
45758         Work around fpurge bug on BSD systems.
45759         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
45760         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
45761         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
45762         fpurge to rpl_fpurge if the system already has this function.
45763         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
45764         the case where the system already has this function. Correct invariants
45765         on BSD systems.
45766         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
45767         BSD systems.
45768
45769 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
45770
45771         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
45772         proposed by Sven Verdoolaege.
45773
45774         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
45775         options.
45776         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
45777         (usage and help tests): Update
45778
45779 2007-04-29  Bruno Haible  <bruno@clisp.org>
45780
45781         * tests/test-fflush.c (main): Use a file of size 17, not 10.
45782         Print more information in case of failure. Disable a test on BeOS.
45783
45784 2007-04-29  Bruno Haible  <bruno@clisp.org>
45785
45786         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
45787         This helps debugging on systems on which no gdb is available.
45788
45789 2007-04-29  Bruno Haible  <bruno@clisp.org>
45790
45791         * lib/freading.h: Improve comments.
45792         * lib/fwriting.h: Likewise.
45793         * tests/test-freading.c (main): Don't check freading immediately after
45794         repositioning. Needed for glibc.
45795
45796 2007-04-29  Bruno Haible  <bruno@clisp.org>
45797
45798         * lib/freading.c (freading): Trivial simplification.
45799
45800 2007-04-28  Bruno Haible  <bruno@clisp.org>
45801
45802         * tests/test-fwriting.c (main): Also test the interaction between
45803         fflush and fwriting.
45804         * modules/fwriting-tests (Depends-on): Add fflush.
45805
45806         * tests/test-freading.c (main): Also test the interaction between
45807         fflush and freading.
45808         * modules/freading-tests (Depends-on): Add fflush.
45809
45810 2007-04-28  Bruno Haible  <bruno@clisp.org>
45811
45812         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
45813         fseeko and ftello.
45814         Suggested by Eric Blake.
45815
45816 2007-04-28  Jim Meyering  <jim@meyering.net>
45817
45818         Avoid false-negative in gl_STDINT_H's C99 conformance test.
45819         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
45820         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
45821
45822 2007-04-27  Eric Blake  <ebb9@byu.net>
45823
45824         * doc/headers/assert.texi (assert.h): Document assert module use.
45825
45826 2007-04-27  Bruno Haible  <bruno@clisp.org>
45827
45828         * doc/headers/*.texi: New files.
45829         * doc/gnulib.texi (Header File Substitutes): New chapter.
45830         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
45831         dependencies.
45832         (standards.info ,standards.html, standards.dvi): Update dependencies.
45833         (mostlyclean, clean): New targets.
45834
45835 2007-04-27  Bruno Haible  <bruno@clisp.org>
45836
45837         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
45838         * modules/sysexits (Files, Makefile.am): Update.
45839
45840         * lib/sys_socket_.h: Renamed from lib/socket_.h.
45841         * modules/sys_socket (Files, Makefile.am): Update.
45842
45843         * lib/sys_stat_.h: Renamed from lib/stat_.h.
45844         * modules/sys_stat (Files, Makefile.am): Update.
45845
45846 2007-04-27  Eric Blake  <ebb9@byu.net>
45847
45848         * lib/freading.h: Improve comments.
45849         * lib/fwriting.h: Likewise.
45850         * lib/fflush.c: Likewise.
45851
45852         Fix closein for mingw.
45853         * modules/closein-tests: Add tests for closein.
45854         * tests/test-closein.c: New file.
45855         * tests/test-closein.sh: Likewise.
45856         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
45857         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
45858
45859 2007-04-27  Bruno Haible  <bruno@clisp.org>
45860
45861         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
45862         version is < 6.
45863         * lib/math_.h [__DECC]: Likewise.
45864         * lib/stdio_.h [__DECC]: Likewise.
45865         * lib/stdlib_.h [__DECC]: Likewise.
45866         * lib/string_.h [__DECC]: Likewise.
45867         * lib/time_.h [__DECC]: Likewise.
45868         * lib/wchar_.h [__DECC]: Likewise.
45869         * lib/wctype_.h [__DECC]: Likewise.
45870
45871 2007-04-27  Bruno Haible  <bruno@clisp.org>
45872
45873         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
45874
45875 2007-04-27  Bruno Haible  <bruno@clisp.org>
45876
45877         * lib/fflush.c: Add comments.
45878         * modules/fpurge-tests (Depends-on): Add fflush.
45879         * modules/freadable-tests (Depends-on): Likewise.
45880         * modules/fwritable-tests (Depends-on): Likewise.
45881
45882 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
45883
45884         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
45885         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
45886         Report by Bruno Haible <bruno@clisp.org>.
45887
45888 2007-04-26  Eric Blake  <ebb9@byu.net>
45889
45890         Fix fflush on mingw.
45891         * modules/fflush (Depends-on): Add freading.
45892         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
45893         but unread data.
45894
45895 2007-04-26  Eric Blake  <ebb9@byu.net>
45896         and Bruno Haible  <bruno@clisp.org>
45897
45898         Implement freading and fwriting.
45899         * lib/freading.c: New file.
45900         * lib/freading.h: Likewise.
45901         * m4/freading.m4: Likewise.
45902         * modules/freading: Likewise.
45903         * modules/freading-tests: Likewise.
45904         * tests/test-freading.c: Likewise.
45905         * lib/fwriting.c: New file.
45906         * lib/fwriting.h: Likewise.
45907         * m4/fwriting.m4: Likewise.
45908         * modules/fwriting: Likewise.
45909         * modules/fwriting-tests: Likewise.
45910         * tests/test-fwriting.c: Likewise.
45911         * MODULES.html.sh (File stream based Input/Output): Mention them.
45912
45913 2007-04-26  Bruno Haible  <bruno@clisp.org>
45914
45915         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
45916         'long' when we assume it.
45917         Suggested by Eric Blake.
45918
45919 2007-04-26  Bruno Haible  <bruno@clisp.org>
45920
45921         Ensure fseeko, ftello are declared on glibc systems.
45922         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
45923         * modules/fseeko (configure.ac-early): Likewise.
45924         * modules/ftello (configure.ac-early): Likewise.
45925         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
45926         AC_FUNC_FSEEKO for this.
45927         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
45928         (gl_CHECK_FSEEKO): Remove macro.
45929
45930 2007-04-26  Bruno Haible  <bruno@clisp.org>
45931
45932         * tests/test-fflush.c (main): Also check the ftell result after
45933         fflush and fseek/fseeko.
45934         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
45935         file descriptor position cache in the stream.
45936         * lib/fseeko.c (rpl_fseeko): Likewise.
45937
45938 2007-04-26  Bruno Haible  <bruno@clisp.org>
45939
45940         * modules/fflush-tests (Depends-on): Add fseeko.
45941
45942 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
45943             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45944
45945         * lib/argz_.h: ensure error_t definition is obtained in same
45946         mechanism system argz.h would have.
45947         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
45948         argz facilities are known bad.  Err on the side of caution if
45949         cross-compiling.
45950
45951 2007-04-25  Eric Blake  <ebb9@byu.net>
45952
45953         * lib/fpurge.c (includes): Use stdlib.h for free.
45954         * tests/test-fflush.c (main): Also test fflush-fseeko.
45955
45956 2007-04-25  Bruno Haible  <bruno@clisp.org>
45957
45958         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
45959         * lib/fseeko.c: New file.
45960         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
45961         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
45962         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
45963         gl_FUNC_FSEEKO.
45964         (gl_FUNC_FSEEKO): Invoke it.
45965         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
45966         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
45967         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
45968
45969 2007-04-25  Bruno Haible  <bruno@clisp.org>
45970
45971         * modules/fflush (Depends-on): Add ftello.
45972
45973 2007-04-25  Bruno Haible  <bruno@clisp.org>
45974
45975         * modules/ftello-tests: New file.
45976         * tests/test-ftello.c: New file.
45977
45978         * modules/ftello: New file.
45979         * m4/ftello.m4: New file.
45980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
45981         HAVE_FTELLO.
45982         * lib/stdio_.h (ftello): New declaration.
45983         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
45984         HAVE_FTELLO.
45985
45986 2007-04-25  Bruno Haible  <bruno@clisp.org>
45987
45988         * modules/fseeko-tests: New file.
45989         * tests/test-fseeko.c: New file.
45990
45991         * modules/fseeko: New file.
45992         * m4/fseeko.m4: New file.
45993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
45994         HAVE_FSEEKO.
45995         * lib/stdio_.h (fseeko): New declaration.
45996         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
45997         HAVE_FSEEKO.
45998
45999 2007-04-25  Bruno Haible  <bruno@clisp.org>
46000
46001         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
46002
46003 2007-04-25  Bruno Haible  <bruno@clisp.org>
46004
46005         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
46006         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
46007         * tests/test-unistd.c: Likewise.
46008         * tests/test-fcntl.c: Likewise.
46009
46010 2007-04-23  Eric Blake  <ebb9@byu.net>
46011
46012         * lib/fflush.c: Fix missing include.
46013         Reported by Bruno Haible.
46014
46015 2007-04-23  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
46018         Reported by Eric Blake.
46019
46020 2007-04-23  Bruno Haible  <bruno@clisp.org>
46021
46022         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
46023
46024 2007-04-23  Bruno Haible  <bruno@clisp.org>
46025
46026         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
46027
46028 2007-04-23  Bruno Haible  <bruno@clisp.org>
46029
46030         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
46031         Needed on HP-UX 11.
46032
46033 2007-04-16  Eric Blake  <ebb9@byu.net>
46034
46035         Make fflush rely on fpurge.
46036         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
46037         open coding all variants.
46038         * modules/fflush (Depends-on): Add fpurge and unistd.
46039         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
46040         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
46041
46042         Fix --with-tests compilation on cygwin.
46043         * modules/argmatch-tests (Makefile.am): List gnulib library first
46044         in LDADD.
46045         * modules/argp-tests (Makefile.am): Likewise.
46046         * modules/array-list-tests (Makefile.am): Likewise.
46047         * modules/array-oset-tests (Makefile.am): Likewise.
46048         * modules/avltree-list-tests (Makefile.am): Likewise.
46049         * modules/avltree-oset-tests (Makefile.am): Likewise.
46050         * modules/avltreehash-list-tests (Makefile.am): Likewise.
46051         * modules/carray-list-tests (Makefile.am): Likewise.
46052         * modules/dirname-tests (Makefile.am): Likewise.
46053         * modules/frexp-tests (Makefile.am): Likewise.
46054         * modules/isnanl-tests (Makefile.am): Likewise.
46055         * modules/linked-list-tests (Makefile.am): Likewise.
46056         * modules/linkedhash-list-tests (Makefile.am): Likewise.
46057         * modules/lock-tests (Makefile.am): Likewise.
46058         * modules/rbtree-list-tests (Makefile.am): Likewise.
46059         * modules/rbtree-oset-tests (Makefile.am): Likewise.
46060         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
46061         * modules/tls-tests (Makefile.am): Likewise.
46062         * modules/tsearch-tests (Makefile.am): Likewise.
46063         * modules/xvasprintf-tests (Makefile.am): Likewise.
46064
46065         Fix fpurge for cygwin.
46066         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
46067         value.
46068         * modules/fpurge-tests (Depends-on): Clean up trash.
46069
46070 2007-04-16  Simon Josefsson  <simon@josefsson.org>
46071
46072         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
46073
46074         * m4/autobuild.m4: Re-indent.
46075
46076 2007-04-13  Bruno Haible  <bruno@clisp.org>
46077
46078         * modules/fpurge-tests: New file.
46079         * tests/test-fpurge.c: New file.
46080
46081         * modules/fpurge: New file.
46082         * lib/fpurge.h: New file.
46083         * lib/fpurge.c: New file.
46084         * m4/fpurge.m4: New file.
46085
46086 2007-04-13  Bruno Haible  <bruno@clisp.org>
46087
46088         * modules/fbufmode-tests: New file.
46089         * tests/test-fbufmode.c: New file.
46090
46091         * modules/fbufmode: New file.
46092         * lib/fbufmode.h: New file.
46093         * lib/fbufmode.c: New file.
46094         * m4/fbufmode.m4: New file.
46095
46096 2007-04-13  Bruno Haible  <bruno@clisp.org>
46097
46098         * modules/fwritable-tests: New file.
46099         * tests/test-fwritable.c: New file.
46100
46101         * modules/fwritable: New file.
46102         * lib/fwritable.h: New file.
46103         * lib/fwritable.c: New file.
46104         * m4/fwritable.m4: New file.
46105
46106 2007-04-13  Bruno Haible  <bruno@clisp.org>
46107
46108         * modules/freadable-tests: New file.
46109         * tests/test-freadable.c: New file.
46110
46111         * modules/freadable: New file.
46112         * lib/freadable.h: New file.
46113         * lib/freadable.c: New file.
46114         * m4/freadable.m4: New file.
46115
46116 2007-04-13  Bruno Haible  <bruno@clisp.org>
46117
46118         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
46119         MOSTLYCLEANFILES.
46120
46121 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
46122
46123         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
46124         gzip bootstrap.conf to avoid dragging in i18n machinery.
46125         (gnulib_tool_option): Use it.
46126
46127 2007-04-13  Bruno Haible  <bruno@clisp.org>
46128
46129         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
46130         %F directives.
46131         * tests/test-vasprintf-posix.c (test_function): Likewise.
46132         * tests/test-snprintf-posix.h (test_function): Likewise.
46133         * tests/test-sprintf-posix.h (test_function): Likewise.
46134         * tests/test-fprintf-posix.h (test_function): Likewise.
46135         * tests/test-printf-posix.h (test_function): Likewise.
46136         * tests/test-fprintf-posix.out: Likewise.
46137
46138 2007-04-13  Bruno Haible  <bruno@clisp.org>
46139
46140         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
46141         * modules/tls-tests (configure.ac): Likewise.
46142         Reported by Arto C. Nirkko <anirkko@insel.ch>.
46143
46144 2007-04-13  Bruno Haible  <bruno@clisp.org>
46145
46146         * lib/tls.c (glthread_tls_get): Fix return type.
46147         Patch by Arto C. Nirkko <anirkko@insel.ch>.
46148
46149 2007-04-12  Eric Blake  <ebb9@byu.net>
46150
46151         * modules/gettime (Depends-on): Remove gettime.
46152         Reported by Dmitry V. Levin.
46153
46154 2007-04-12  Bruno Haible  <bruno@clisp.org>
46155
46156         * modules/fflush (Include): Mention <stdio.h>.
46157         * modules/strtoimax (Include): Mention <inttypes.h>.
46158         * modules/strtoumax (Include): Likewise.
46159
46160 2007-04-12  Eric Blake  <ebb9@byu.net>
46161
46162         * .cvsignore: New file.
46163         * .gitignore: Likewise.
46164
46165 2007-04-12  Bruno Haible  <bruno@clisp.org>
46166
46167         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
46168         not before, since $(LDADD) often contains libgnu.a.
46169         * modules/striconv-tests (test_striconv_LDADD): Likewise.
46170         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
46171         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
46172         Needed on Cygwin.
46173
46174 2007-04-12  Eric Blake  <ebb9@byu.net>
46175
46176         Work around glibc's failure to flush stdin on fclose.
46177         * lib/closein.c (close_stdin): Flush stdin before closing.
46178
46179         Work around glibc's failure to reset seekable stdin on exit.
46180         * modules/closein: New module.
46181         * lib/closein.c: New file.
46182         * lib/closein.h: Likewise.
46183         * m4/closein.m4: Likewise.
46184         * MODULES.html.sh (File stream based Input/Output): Document it.
46185
46186 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46187
46188         * gnulib-tool: Rename generated 'autobuild' script to
46189         'do-autobuild' in --create-megatestdir output.
46190
46191         * doc/gnulib.texi (Build robot for gnulib): Fix.
46192
46193 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46194
46195         * modules/sysexits (Depends-on): Add absolute-header.
46196
46197 2007-04-12  Eric Blake  <ebb9@byu.net>
46198
46199         No need to preserve errno on success.
46200         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
46201         Reported by Bruno Haible.
46202
46203 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46204
46205         * MODULES.html.sh (Support for maintaining and releasing
46206         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
46207
46208 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46209
46210         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
46211
46212 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46213
46214         * modules/autobuild: New module.
46215
46216         * m4/autobuild.m4: New file.
46217
46218 2007-04-11  Bruno Haible  <bruno@clisp.org>
46219
46220         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
46221         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
46222         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
46223         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
46224         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46225         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46226         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46227         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46228         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46229         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46230         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
46231         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46232         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46233         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
46234         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46235         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46236         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
46237         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46238         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46239         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
46240         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46241         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46242         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
46243         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46244         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46245         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
46246         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46247         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46248         Reported by Eric Blake.
46249
46250 2007-04-11  Bruno Haible  <bruno@clisp.org>
46251
46252         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
46253
46254 2007-04-10  Bruno Haible  <bruno@clisp.org>
46255
46256         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
46257         for NaN and Infinity. Needed on FreeBSD 6.1.
46258         * tests/test-vasnprintf-posix.c (test_function): Undo last change
46259         regarding results for "%010a" of Infinity and NaN.
46260         * tests/test-vasprintf-posix.c (test_function): Likewise.
46261         * tests/test-snprintf-posix.h (test_function): Likewise.
46262         * tests/test-sprintf-posix.h (test_function): Likewise.
46263         * tests/test-fprintf-posix.h (test_function): Likewise.
46264         * tests/test-printf-posix.h (test_function): Likewise.
46265         * tests/test-fprintf-posix.out: Likewise.
46266
46267 2007-04-10  Bruno Haible  <bruno@clisp.org>
46268
46269         * modules/locale-tests: New file.
46270         * tests/test-locale.c: New file.
46271
46272         * modules/locale: New file.
46273         * lib/locale_.h: New file.
46274         * m4/locale_h.m4: New file.
46275
46276 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
46277             Bruno Haible  <bruno@clisp.org>
46278
46279         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
46280         be determined, test for availability of the copysignf, copysign,
46281         copysignl functions.
46282         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
46283         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
46284         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
46285
46286 2007-04-09  Eric Blake  <ebb9@byu.net>
46287
46288         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
46289         * modules/stdio (Makefile.am): Support fflush.
46290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46291         * modules/fflush: New file.
46292         * lib/fflush.c: Likewise.
46293         * m4/fflush.m4: Likewise.
46294         * modules/fflush-tests: New test.
46295         * tests/test-fflush.c: Likewise.
46296         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
46297
46298 2007-04-06  Bruno Haible  <bruno@clisp.org>
46299
46300         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
46301         (VASNPRINTF): Use signbit for faster determination whether to print a
46302         minus sign.
46303         * modules/vasnprintf (Files): Remove lib/float+.h.
46304         * modules/fprintf-posix (Depends-on): Add signbit.
46305         * modules/snprintf-posix (Depends-on): Likewise.
46306         * modules/sprintf-posix (Depends-on): Likewise.
46307         * modules/vasnprintf-posix (Depends-on): Likewise.
46308         * modules/vasprintf-posix (Depends-on): Likewise.
46309         * modules/vfprintf-posix (Depends-on): Likewise.
46310         * modules/vsnprintf-posix (Depends-on): Likewise.
46311         * modules/vsprintf-posix (Depends-on): Likewise.
46312
46313 2007-04-06  Bruno Haible  <bruno@clisp.org>
46314
46315         * tests/test-frexp.c (main): Test also the sign bit of zero results.
46316         * tests/test-frexpl.c (main): Likewise.
46317         * tests/test-ldexpl.c (main): Likewise.
46318         * modules/frexp-tests (Depends-on): Add signbit.
46319         * modules/frexpl-tests (Depdends-on): Likewise.
46320         * modules/ldexpl-tests (Depdends-on): Likewise.
46321
46322 2007-04-06  Bruno Haible  <bruno@clisp.org>
46323
46324         * modules/signbit-tests: New file.
46325         * tests/test-signbit.c: New file.
46326
46327         * modules/signbit: New file.
46328         * lib/signbitf.c: New file.
46329         * lib/signbitd.c: New file.
46330         * lib/signbitl.c: New file.
46331         * m4/signbit.m4: New file.
46332         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
46333         (signbit): New macro.
46334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
46335         REPLACE_SIGNBIT.
46336         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
46337         REPLACE_FREXPL into math.h.
46338
46339 2007-04-06  Bruno Haible  <bruno@clisp.org>
46340
46341         * modules/isnanf-nolibm-tests: New file.
46342         * tests/test-isnanf.c: New file.
46343
46344         * modules/isnanf-nolibm: New file.
46345         * lib/isnanf.h: New file.
46346         * lib/isnanf.c: New file.
46347         * lib/isnan.c: Consider the USE_FLOAT macro.
46348         * m4/isnanf.m4: New file.
46349
46350 2007-04-06  Bruno Haible  <bruno@clisp.org>
46351
46352         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
46353         (Link): New section.
46354
46355         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
46356
46357 2007-04-06  Bruno Haible  <bruno@clisp.org>
46358
46359         Assume the 'long double' type.
46360         * m4/longdouble.m4: Remove file.
46361         * config/srclist.txt: Don't mention longdouble.m4.
46362         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
46363         * lib/float+.h: Likewise.
46364         * lib/frexp.c: Likewise.
46365         * lib/printf-args.h: Likewise.
46366         * lib/printf-args.c: Likewise.
46367         * lib/printf-frexp.c: Likewise.
46368         * lib/printf-parse.c: Likewise.
46369         * lib/vasnprintf.c: Likewise.
46370         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
46371         * m4/intl.m4: Likewise.
46372         * m4/isnanl.m4: Likewise.
46373         * m4/printf.m4: Likewise.
46374         * m4/printf-frexpl.m4: Likewise.
46375         * m4/vasnprintf.m4: Likewise.
46376         * modules/allocsa (Files): Remove m4/longdouble.m4.
46377         * modules/gettext (Files): Likewise.
46378         * modules/relocatable-prog-wrapper (Files): Likewise.
46379         * modules/vasnprintf (Files): Likewise.
46380         * modules/isnanl (Files): Likewise.
46381         (Include): Simplify.
46382         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
46383         (Include): Simplify.
46384         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
46385         (Include): Simplify.
46386         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
46387         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46388         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
46389         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46390         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
46391         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46392         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
46393         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46394         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
46395         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46396         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
46397         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46398         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
46399         * tests/test-isnanl.c: Likewise.
46400         * tests/test-snprintf-posix.h: Likewise.
46401         * tests/test-sprintf-posix.h: Likewise.
46402         * tests/test-vasnprintf-posix.c: Likewise.
46403         * tests/test-vasnprintf-posix2.c: Likewise.
46404         * tests/test-vasprintf-posix.c: Likewise.
46405
46406 2007-04-06  Bruno Haible  <bruno@clisp.org>
46407
46408         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
46409         * lib/math_.h [__DECC]: Include the overridden include file through
46410         #include_next, outside the double-inclusion guard.
46411         * lib/stdio_.h [__DECC]: Likewise.
46412         * lib/stdlib_.h [__DECC]: Likewise.
46413         * lib/string_.h [__DECC]: Likewise.
46414         * lib/time_.h [__DECC]: Likewise.
46415         * lib/wchar_.h [__DECC]: Likewise.
46416         * lib/wctype_.h [__DECC]: Likewise.
46417         * lib/inttypes_.h [__DECC]: Likewise.
46418         Reported by Albert Chin <china@thewrittenword.com> in
46419         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
46420
46421 2007-04-04  Eric Blake  <ebb9@byu.net>
46422
46423         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
46424         1.5.x.
46425
46426 2007-04-04  Bruno Haible  <bruno@clisp.org>
46427
46428         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
46429         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
46430
46431 2007-04-04  Bruno Haible  <bruno@clisp.org>
46432
46433         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
46434         results for "%010a" of Infinity and NaN.
46435         * tests/test-vasprintf-posix.c (test_function): Likewise.
46436         * tests/test-snprintf-posix.h (test_function): Likewise.
46437         * tests/test-sprintf-posix.h (test_function): Likewise.
46438         * tests/test-fprintf-posix.h (test_function): Remove these tests.
46439         * tests/test-printf-posix.h (test_function): Likewise.
46440         * tests/test-fprintf-posix.out: Update.
46441         Needed for FreeBSD 6.1.
46442
46443 2007-04-04  Bruno Haible  <bruno@clisp.org>
46444
46445         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
46446         directly used by the gnulib modules nor by gnulib-tool.
46447
46448 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
46449
46450         * DEPENDENCIES: Give overall description of version dependency
46451         desirability.  Use more-typical names for apps.
46452         Add shell, coreutils, diffutils, grep, tar, gzip.
46453
46454 2007-04-04  Simon Josefsson  <simon@josefsson.org>
46455
46456         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
46457
46458 2007-04-04  Karl Berry  <karl@gnu.org>
46459
46460         * MODULES.html.sh (func_module): missing '.
46461
46462 2007-04-03  Bruno Haible  <bruno@clisp.org>
46463
46464         * modules/argmatch-tests (Makefile.am): New variable
46465         test_argmatch_LDADD.
46466         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
46467         * modules/array-list-tests (Makefile.am): New variable
46468         test_array_list_LDADD.
46469         * modules/array-oset-tests (Makefile.am): New variable
46470         test_array_oset_LDADD.
46471         * modules/avltree-list-tests (Makefile.am): New variable
46472         test_avltree_list_LDADD.
46473         * modules/avltree-oset-tests (Makefile.am): New variable
46474         test_avltree_oset_LDADD.
46475         * modules/avltreehash-list-tests (Makefile.am): New variable
46476         test_avltreehash_list_LDADD.
46477         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
46478         test_canonicalize_lgpl_LDADD.
46479         * modules/carray-list-tests (Makefile.am): New variable
46480         test_carray_list_LDADD.
46481         * modules/dirname-tests (Makefile.am): New variable
46482         test_dirname_LDADD.
46483         * modules/linked-list-tests (Makefile.am): New variable
46484         test_linked_list_LDADD.
46485         * modules/linkedhash-list-tests (Makefile.am): New variable
46486         test_linkedhash_list_LDADD.
46487         * modules/rbtree-list-tests (Makefile.am): New variable
46488         test_rbtree_list_LDADD.
46489         * modules/rbtree-oset-tests (Makefile.am): New variable
46490         test_rbtree_oset_LDADD.
46491         * modules/rbtreehash-list-tests (Makefile.am): New variable
46492         test_rbtreehash_list_LDADD.
46493         * modules/xvasprintf-tests (Makefile.am): New variable
46494         test_xvasprintf_LDADD.
46495         Reported by Eric Blake.
46496
46497 2007-04-03  Eric Blake  <ebb9@byu.net>
46498
46499         * DEPENDENCIES: Weaken m4 requirements.
46500
46501 2007-04-03  Bruno Haible  <bruno@clisp.org>
46502
46503         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
46504         * modules/isnanl-tests (configure.ac): Likewise.
46505
46506 2007-04-03  Ben Pfaff  <blp@gnu.org>
46507
46508         * modules/iconv_open: Add $(srcdir)/ to source directory
46509         references in Makefile fragments that call gperf, to fix VPATH
46510         builds.
46511
46512 2007-04-03  Bruno Haible  <bruno@clisp.org>
46513
46514         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
46515         * lib/ldexpl.c: Undo last change.
46516
46517 2007-04-03  Bruno Haible  <bruno@clisp.org>
46518
46519         * modules/printf-frexpl (Depends-on): Undo last change.
46520         (Files): Add m4/ldexpl.m4.
46521
46522 2007-04-03  Bruno Haible  <bruno@clisp.org>
46523
46524         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
46525         * modules/isnanl (Link): New section.
46526
46527         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
46528         * modules/frexp (Link): New section.
46529
46530         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
46531         * modules/frexpl (Link): New section.
46532
46533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
46534         * modules/ldexpl (Link): New section.
46535
46536 2007-04-03  Bruno Haible  <bruno@clisp.org>
46537
46538         * modules/TEMPLATE-EXTENDED: New file.
46539         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
46540
46541 2007-04-03  Bruno Haible  <bruno@clisp.org>
46542
46543         * DEPENDENCIES: New file.
46544         Suggested by Simon Josefsson.
46545
46546 2007-04-03  Bruno Haible  <bruno@clisp.org>
46547
46548         * doc/gnulib.texi: Escape @.
46549
46550 2007-04-03  James Youngman  <jay@gnu.org>
46551         and Paul Eggert  <eggert@cs.ucla.edu>
46552
46553         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
46554         birthtime on all systems that have birthtime, not just those which
46555         use st_birthtimensec rather than st_birthtim.  Putting zero in
46556         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
46557         that the birth time is not available for files on an NFS mount.
46558
46559 2007-04-03  Simon Josefsson  <simon@josefsson.org>
46560
46561         * modules/memxor: Move back from crypto/, suggested by Bruno.
46562         * modules/crypto/hmac-sha1: Fix memxor dependency.
46563
46564         * modules/crypto/gc: Moved from ../.
46565
46566 2007-04-02  Eric Blake  <ebb9@byu.net>
46567
46568         * lib/ldexpl.c (includes): Avoid libm.
46569
46570         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
46571
46572 2007-04-02  Bruno Haible  <bruno@clisp.org>
46573
46574         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
46575         on IRIX.
46576
46577 2007-04-02  Bruno Haible  <bruno@clisp.org>
46578
46579         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
46580         x86 or x86_64 platforms running MacOS X.
46581         Reported by Ryan Schmidt <@ryandesign.com>.
46582
46583 2007-04-02  Bruno Haible  <bruno@clisp.org>
46584
46585         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
46586         i386.
46587
46588 2007-04-01  Simon Josefsson  <simon@josefsson.org>
46589
46590         * modules/crypto/arcfour: Moved from ../.
46591         * modules/crypto/arcfour-tests: Moved from ../.
46592         * modules/crypto/arctwo: Moved from ../.
46593         * modules/crypto/arctwo-tests: Moved from ../.
46594         * modules/crypto/des: Moved from ../.
46595         * modules/crypto/des-tests: Moved from ../.
46596         * modules/crypto/gc-arcfour: Moved from ../.
46597         * modules/crypto/gc-arcfour-tests: Moved from ../.
46598         * modules/crypto/gc-arctwo: Moved from ../.
46599         * modules/crypto/gc-arctwo-tests: Moved from ../.
46600         * modules/crypto/gc-des: Moved from ../.
46601         * modules/crypto/gc-des-tests: Moved from ../.
46602         * modules/crypto/gc-hmac-md5: Moved from ../.
46603         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
46604         * modules/crypto/gc-hmac-sha1: Moved from ../.
46605         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
46606         * modules/crypto/gc-md2: Moved from ../.
46607         * modules/crypto/gc-md2-tests: Moved from ../.
46608         * modules/crypto/gc-md4: Moved from ../.
46609         * modules/crypto/gc-md4-tests: Moved from ../.
46610         * modules/crypto/gc-md5: Moved from ../.
46611         * modules/crypto/gc-md5-tests: Moved from ../.
46612         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
46613         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
46614         * modules/crypto/gc-random: Moved from ../.
46615         * modules/crypto/gc-rijndael: Moved from ../.
46616         * modules/crypto/gc-rijndael-tests: Moved from ../.
46617         * modules/crypto/gc-sha1: Moved from ../.
46618         * modules/crypto/gc-sha1-tests: Moved from ../.
46619         * modules/crypto/gc-tests: Moved from ../.
46620         * modules/crypto/hmac-md5: Moved from ../.
46621         * modules/crypto/hmac-md5-tests: Moved from ../.
46622         * modules/crypto/hmac-sha1: Moved from ../.
46623         * modules/crypto/hmac-sha1-tests: Moved from ../.
46624         * modules/crypto/md2: Moved from ../.
46625         * modules/crypto/md2-tests: Moved from ../.
46626         * modules/crypto/md4: Moved from ../.
46627         * modules/crypto/md4-tests: Moved from ../.
46628         * modules/crypto/md5: Moved from ../.
46629         * modules/crypto/md5-tests: Moved from ../.
46630         * modules/crypto/memxor: Moved from ../.
46631         * modules/crypto/rijndael: Moved from ../.
46632         * modules/crypto/rijndael-tests: Moved from ../.
46633         * modules/crypto/sha1: Moved from ../.
46634
46635 2007-03-30  James Youngman  <jay@gnu.org>
46636
46637         * tests/test-stat-time.c (prepare_test): use chmod() rather than
46638         rename() to change the ctime of a file (because ctime is unaffected
46639         by rename on jfs2 on AIX 5.1).
46640         (main): Start by doing cleanup, in case a previous run failed leaving
46641         test files behind.
46642
46643 2007-03-31  Bruno Haible  <bruno@clisp.org>
46644
46645         Support old proprietary implementations of iconv.
46646         * modules/iconv_open: New file.
46647         * lib/iconv_.h: New file.
46648         * m4/iconv_h.m4: New file.
46649         * lib/iconv_open.c: New file.
46650         * lib/iconv_open-aix.gperf: New file.
46651         * lib/iconv_open-hpux.gperf: New file.
46652         * lib/iconv_open-irix.gperf: New file.
46653         * lib/iconv_open-osf.gperf: New file.
46654         * m4/iconv_open.m4: New file.
46655         * modules/linebreak (Depends-on): Add iconv_open.
46656         * modules/striconv (Depends-on): Likewise.
46657         * modules/striconveh (Depends-on): Likewise.
46658         * modules/unicodeio (Depends-on): Likewise.
46659         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
46660         (iconv_t)(-1).
46661         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
46662         conversion if cd is (iconv_t)(-1).
46663         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
46664         is not possible.
46665
46666 2007-03-31  Bruno Haible  <bruno@clisp.org>
46667
46668         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
46669         work on Solaris either. Protect also second use of "autodetect_jp".
46670
46671 2007-03-31  Bruno Haible  <bruno@clisp.org>
46672
46673         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
46674         the function is not present.
46675
46676 2007-03-31  Bruno Haible  <bruno@clisp.org>
46677
46678         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
46679         the function is not present.
46680
46681 2007-03-31  Bruno Haible  <bruno@clisp.org>
46682
46683         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
46684         a bug in HP-UX iconv_open().
46685
46686 2007-03-31  Bruno Haible  <bruno@clisp.org>
46687
46688         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
46689         (Mathematics <math.h>): New section, add fpieee.
46690         (Input/output <stdio.h>): Add fseterr.
46691         (Mathematics <math.h>): New section, add printf-frexp.
46692         (Container data structures): Add sublist.
46693         (Core language properties): Add fpucw, inline.
46694         (Functions for greatest-width integer types <inttypes.h>): Add
46695         imaxabs, imaxdiv, inttypes.
46696         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
46697         isnanl-nolibm, ldexp.
46698         (Mathematics <math.h>): New section, add printf-frexpl.
46699         (Support for systems lacking POSIX:2001): Add fprintf-posix,
46700         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
46701         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
46702         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
46703         (Unicode string functions): Add unistr/u*-mbtoucr.
46704         (Java): Add javacomp-script, javaexec-script.
46705         (C#): Add csharpcomp-script, csharpexec-script.
46706         (Support for building libraries and executables): Add havelib,
46707         relocatable-*.
46708         (Support for maintaining and releasing projects): Renamed from
46709         'Support for maintaining and release projects'. Add announce-gen.
46710
46711 2007-03-31  Bruno Haible  <bruno@clisp.org>
46712
46713         * README: Talk primarily about git.
46714         (git and CVS): Renamed from CVS.
46715         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
46716         gnulib is available through git.
46717         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
46718
46719 2007-03-30  Bruno Haible  <bruno@clisp.org>
46720
46721         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
46722         * lib/poll_.h: Likewise.
46723         * lib/stat_.h: Likewise.
46724         * lib/sys_time_.h: Likewise.
46725         * lib/sysexit_.h: Likewise.
46726         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
46727         * lib/stdbool_.h: Likewise.
46728         * lib/byteswap_.h: Add double-inclusion guard.
46729
46730 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
46731
46732         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
46733
46734 2007-03-30  Karl Berry  <karl@gnu.org>
46735
46736         * config/srclist-update: double space after USA in the license
46737         substitution, since that's how it's usually (?) written.
46738
46739 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
46740
46741         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
46742         reported by Bruno Haible.
46743
46744 2007-03-29  Bruno Haible  <bruno@clisp.org>
46745
46746         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
46747         a bug in AIX iconv().
46748
46749 2007-03-29  Bruno Haible  <bruno@clisp.org>
46750
46751         * modules/ldexpl-tests: New file.
46752         * tests/test-ldexpl.c: New file.
46753
46754 2007-03-29  Bruno Haible  <bruno@clisp.org>
46755
46756         * lib/ldexpl.c: Include fpucw.h.
46757         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
46758         multiplication.
46759         * modules/ldexpl (Depends-on): Add fpucw.
46760
46761 2007-03-29  Bruno Haible  <bruno@clisp.org>
46762
46763         * modules/ldexpl: New file.
46764         * m4/ldexpl.m4: New file.
46765         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
46766         set.
46767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
46768         REPLACE_LDEXPL.
46769         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
46770         REPLACE_LDEXPL.
46771         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
46772         gl_FUNC_LDEXPL_WORKS.
46773         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
46774         * modules/mathl (Files): Remove lib/ldexpl.c.
46775         (Depends-on): Add ldexpl.
46776
46777 2007-03-29  Bruno Haible  <bruno@clisp.org>
46778
46779         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
46780
46781 2007-03-29  Bruno Haible  <bruno@clisp.org>
46782
46783         * tests/test-striconveh.c (main): Don't assume that a direct conversion
46784         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
46785         and possibly also HP-UX.
46786         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
46787         work on AIX, IRIX, HP-UX, OSF/1.
46788         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46789         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46790         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46791         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46792         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
46793         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46794
46795 2007-03-29  Bruno Haible  <bruno@clisp.org>
46796
46797         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
46798
46799 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
46800
46801         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
46802         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
46803
46804 2007-03-29  Eric Blake  <ebb9@byu.net>
46805
46806         * lib/acl-internal.h: Remove redundant include.
46807         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
46808         Cygwin when a file is locked.
46809
46810 2007-03-29  Bruno Haible  <bruno@clisp.org>
46811
46812         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
46813         file.
46814         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
46815
46816 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
46817
46818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
46819         try to remove a parent directory if the child couldn't be removed
46820         (except for the first rmdir, which could fail because the child
46821         doesn't exist).  Problem reported by Jeff Blaine in
46822         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
46823
46824 2007-03-28  Bruno Haible  <bruno@clisp.org>
46825
46826         * lib/striconveh.c (utf8conv_carefully): New function.
46827         (mem_cd_iconveh_internal): Invoke it.
46828
46829 2007-03-28  Bruno Haible  <bruno@clisp.org>
46830
46831         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
46832         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
46833         input.
46834         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
46835         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
46836         unistr/u8-uctomb.
46837
46838 2007-03-28  Bruno Haible  <bruno@clisp.org>
46839
46840         * modules/unistr/u8-mbtoucr: New file.
46841         * lib/unistr/u8-mbtoucr.c: New file.
46842         * modules/unistr/u16-mbtoucr: New file.
46843         * lib/unistr/u16-mbtoucr.c: New file.
46844         * modules/unistr/u16-mbtoucr: New file.
46845         * lib/unistr/u16-mbtoucr.c: New file.
46846         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
46847
46848 2007-03-27  Simon Josefsson  <simon@josefsson.org>
46849             Bruno Haible  <bruno@clisp.org>
46850
46851         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
46852         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
46853         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
46854
46855         * m4/stdio_h.m4: Add stubs for vasprintf too.
46856
46857         * modules/stdio: Support vasprintf in sed command.
46858
46859         * modules/vasprintf: Depend on stdio for prototypes.  Remove
46860         vasprintf.h.  Add stdio module indicator.
46861
46862         * lib/stdio_.h: Declare asprintf and vasprintf, based on
46863         vasprintf.h.
46864
46865         * lib/vasprintf.h: File removed.
46866
46867         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
46868         * lib/vasprintf.c: Ditto.
46869         * lib/xvasprintf.c: Ditto.
46870         * tests/test-vasprintf-posix.c: Ditto.
46871         * tests/test-vasprintf.c: Ditto.
46872
46873 2007-03-27  Bruno Haible  <bruno@clisp.org>
46874
46875         Make vasnprintf multithread-safe.
46876         * lib/vasnprintf.c (decimal_point_char): New function.
46877         (VASNPRINTF): Use it.
46878         Suggested by Simon Josefsson.
46879
46880 2007-03-27  Eric Blake  <ebb9@byu.net>
46881
46882         Support sub-second birthtime on cygwin.
46883         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
46884         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
46885         (get_stat_birthtime): Also work with st_birthtim.
46886
46887 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
46888
46889         * lib/stat-time.h (USE_BIRTHTIME): Remove.
46890         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
46891         (get_stat_birthtime_ns): Do not try to use "spare" fields.
46892         (get_stat_birthtime_ns): Simplify compile-time tests.
46893         (get_stat_birthtime): Change the API to look like
46894         get_stat_mtime etc., except return a negative tv_nsec on error.
46895         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
46896         Don't check for "spare" fields.
46897         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
46898         or for struct stat.st_birthtime, as these tests aren't used.
46899         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
46900
46901 2007-03-27  Bruno Haible  <bruno@clisp.org>
46902
46903         * lib/stat-time.h: Include <sys/stat.h>.
46904
46905 2007-03-27  James Youngman  <jay@gnu.org>
46906
46907         * lib/stat-time.h (get_stat_birthtime): New function for
46908           retrieving st_birthtime as provided by UFS2 (hence *BSD).
46909         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
46910           and its variants.
46911         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
46912         * modules/stat-time-test: New file.
46913         * tests/test-stat-time.c: New test, devised by Bruno Haible.
46914
46915 2007-03-26  Bruno Haible  <bruno@clisp.org>
46916
46917         Better support of signalling NaNs.
46918         * lib/atanl.c: Include isnanl.h.
46919         (atanl): Perform test for NaN at the beginning of the function and
46920         through a call to isnanl.
46921         * lib/cosl.c: Include isnanl.h.
46922         (cosl): Perform test for NaN at the beginning of the function and
46923         through a call to isnanl.
46924         * lib/ldexpl.c: Include isnanl.h.
46925         (ldexpl): Perform test for NaN through a call to isnanl.
46926         * lib/logl.c: Include isnanl.h.
46927         (logl): Perform test for NaN at the beginning of the function and
46928         through a call to isnanl.
46929         * lib/sinl.c: Include isnanl.h.
46930         (sinl): Perform test for NaN at the beginning of the function and
46931         through a call to isnanl.
46932         * lib/sqrtl.c: Include isnanl.h.
46933         (sqrtl): Perform test for NaN at the beginning of the function and
46934         through a call to isnanl.
46935         * lib/tanl.c: Include isnanl.h.
46936         (tanl): Perform test for NaN at the beginning of the function and
46937         through a call to isnanl.
46938         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
46939         * modules/mathl (Depends-on): Add isnanl.
46940
46941 2007-03-26  Eric Blake  <ebb9@byu.net>
46942
46943         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
46944         regression in logic sense of previous patch.
46945
46946 2007-03-26  Bruno Haible  <bruno@clisp.org>
46947
46948         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
46949         unportable shell command "if ! ...".
46950         Reported by Ralf Wildenhues.
46951
46952 2007-03-25  Bruno Haible  <bruno@clisp.org>
46953
46954         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
46955         <sysexits.h> file, and only add EX_CONFIG.
46956         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
46957         absolute file name and whether it is sufficient. Substitute also
46958         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
46959         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
46960         ABSOLUTE_SYSEXITS_H into sysexits.h.
46961
46962 2007-03-25  Bruno Haible  <bruno@clisp.org>
46963
46964         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
46965         hints is NULL.
46966
46967 2007-03-25  Bruno Haible  <bruno@clisp.org>
46968
46969         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
46970         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
46971
46972 2007-03-25  Bruno Haible  <bruno@clisp.org>
46973
46974         * lib/vasnprintf.c: Include langinfo.h.
46975         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
46976         multithread-safe.
46977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
46978         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
46979         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46980         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46981         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46982         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46983         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46984         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
46985         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46986         Reported by Simon Josefsson.
46987
46988 2007-03-25  Bruno Haible  <bruno@clisp.org>
46989
46990         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
46991         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
46992         * modules/vasnprintf (Depends-on): Add stdint.
46993
46994 2007-03-25  Bruno Haible  <bruno@clisp.org>
46995
46996         * modules/fpieee: New file.
46997         * m4/fpieee.m4: New file.
46998         * modules/isnan-nolibm (Depends-on): Add fpieee.
46999         * modules/isnanl-nolibm (Depends-on): Add fpieee.
47000         * modules/isnanl (Depends-on): Add fpieee.
47001
47002 2007-03-25  Bruno Haible  <bruno@clisp.org>
47003
47004         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
47005
47006 2007-03-25  Bruno Haible  <bruno@clisp.org>
47007
47008         Avoid test failures on IRIX 6.5.
47009         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
47010         (main): Use it.
47011         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
47012         macros.
47013         (main): Use them.
47014
47015 2007-03-25  Bruno Haible  <bruno@clisp.org>
47016
47017         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
47018         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
47019         exists but doesn't work.
47020         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
47021         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
47022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
47023         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
47024
47025 2007-03-25  Bruno Haible  <bruno@clisp.org>
47026
47027         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
47028         returns inf. Needed on IRIX 6.5.
47029
47030 2007-03-25  Bruno Haible  <bruno@clisp.org>
47031
47032         * tests/test-frexpl.c: Include isnanl-nolibm.h.
47033         (main): Use isnanl instead of x != x idiom.
47034         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
47035
47036         * tests/test-frexp.c: Include isnan.h.
47037         (main): Use isnan instead of x != x idiom.
47038         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
47039
47040 2007-03-25  Bruno Haible  <bruno@clisp.org>
47041
47042         * tests/test-frexp.c (NaN): New function/macro.
47043         (main): Use it instead of 0.0 / 0.0.
47044         * tests/test-isnan.c (NaN): New function/macro.
47045         (main): Use it instead of 0.0 / 0.0.
47046         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
47047         (test_function): Use it instead of 0.0 / 0.0.
47048         * tests/test-vasprintf-posix.c (NaN): New function/macro.
47049         (test_function): Use it instead of 0.0 / 0.0.
47050         * tests/test-snprintf-posix.h (NaN): New function/macro.
47051         (test_function): Use it instead of 0.0 / 0.0.
47052         * tests/test-sprintf-posix.h (NaN): New function/macro.
47053         (test_function): Use it instead of 0.0 / 0.0.
47054         * tests/test-fprintf-posix.h (NaN): New function/macro.
47055         (test_function): Use it instead of 0.0 / 0.0.
47056         * tests/test-printf-posix.h (NaN): New function/macro.
47057         (test_function): Use it instead of 0.0 / 0.0.
47058
47059         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
47060
47061 2007-03-25  Bruno Haible  <bruno@clisp.org>
47062
47063         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
47064
47065 2007-03-25  Bruno Haible  <bruno@clisp.org>
47066
47067         * lib/regexec.c (merge_state_with_log): Make static.
47068
47069 2007-03-25  Bruno Haible  <bruno@clisp.org>
47070
47071         * lib/trigl.c (kernel_rem_pio2): Make static.
47072
47073 2007-03-25  Bruno Haible  <bruno@clisp.org>
47074
47075         * lib/sincosl.c (sincosl_table): Make static.
47076
47077 2007-03-25  Bruno Haible  <bruno@clisp.org>
47078
47079         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
47080         if the compiler does not support C99.
47081
47082 2007-03-25  Bruno Haible  <bruno@clisp.org>
47083
47084         * modules/time (Makefile.am): Ensure all rule action lines start with a
47085         tab.
47086
47087 2007-03-24  Bruno Haible  <bruno@clisp.org>
47088
47089         * modules/tsearch-tests: New file.
47090         * tests/test-tsearch.sh: New file.
47091         * tests/test-tsearch.c: New file, mostly copied from glibc.
47092
47093         * modules/search-tests: New file.
47094         * tests/test-search.c: New file.
47095
47096         * modules/search: New file.
47097         * lib/search_.h: New file, incorporating lib/tsearch.h.
47098         * m4/search_h.m4: New file.
47099         * lib/tsearch.h: Remove file.
47100         * lib/tsearch.c: Include search.h instead of tsearch.h.
47101         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
47102         HAVE_TSEARCH.
47103         * modules/tsearch (Files): Remove lib/tsearch.h.
47104         (Depends-on): Add search.
47105         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
47106         (Include): Change tsearch.h into search.h.
47107
47108 2007-03-24  Bruno Haible  <bruno@clisp.org>
47109
47110         * modules/fpucw: New file.
47111         * lib/fpucw.h: New file.
47112         * lib/frexp.c: Include fpucw.h.
47113         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
47114         (FUNC): Use them.
47115         * lib/printf-frexp.c: Include fpucw.h.
47116         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
47117         (FUNC): Use them.
47118         * lib/vasnprintf.c: Include fpucw.h.
47119         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
47120         'long double' calculations.
47121         * tests/test-frexpl.c: Include fpucw.h.
47122         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
47123         * tests/test-printf-frexpl.c: Include fpucw.h.
47124         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
47125         * modules/frexpl (Depends-on): Add fpucw.
47126         * modules/printf-frexpl (Depends-on): Likewise.
47127         * modules/fprintf-posix (Depends-on): Likewise.
47128         * modules/snprintf-posix (Depends-on): Likewise.
47129         * modules/sprintf-posix (Depends-on): Likewise.
47130         * modules/vasnprintf-posix (Depends-on): Likewise.
47131         * modules/vasprintf-posix (Depends-on): Likewise.
47132         * modules/vfprintf-posix (Depends-on): Likewise.
47133         * modules/vsnprintf-posix (Depends-on): Likewise.
47134         * modules/vsprintf-posix (Depends-on): Likewise.
47135         * modules/frexpl-tests (Depends-on): Likewise.
47136         * modules/printf-frexpl-tests (Depends-on): Likewise.
47137
47138 2007-03-24  Bruno Haible  <bruno@clisp.org>
47139
47140         * lib/float+.h: New file.
47141         * lib/isnan.c: Include float+.h.
47142         (SIZE): New macro.
47143         (FUNC): Compare only SIZE bytes of the value.
47144         * lib/vasnprintf.c: Include float+.h.
47145         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
47146         SIZEOF_LDBL or SIZEOF_DBL bytes.
47147         * modules/isnan-nolibm (Files): Add lib/float+.h.
47148         * modules/isnanl-nolibm (Files): Add lib/float+.h.
47149         * modules/isnanl (Files): Add lib/float+.h.
47150         * modules/vasnprintf (Files): Add lib/float+.h.
47151
47152 2007-03-24  Bruno Haible  <bruno@clisp.org>
47153
47154         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
47155         include isnanl-nolibm.h.
47156
47157 2007-03-24  Bruno Haible  <bruno@clisp.org>
47158
47159         * tests/test-read-file.c (main): Don't produce spurious output for
47160         expected situations. Make the test fail if it encountered unexpected
47161         results.
47162
47163 2007-03-24  Bruno Haible  <bruno@clisp.org>
47164
47165         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
47166         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
47167
47168 2007-03-24  Bruno Haible  <bruno@clisp.org>
47169
47170         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
47171
47172 2007-03-24  Bruno Haible  <bruno@clisp.org>
47173
47174         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
47175         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
47176
47177         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
47178         * modules/utf8-ucs4: Turn into a symbolic link to module
47179         unistr/u8-mbtouc.
47180
47181         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
47182         utf8-ucs4-unsafe.
47183         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
47184         unistr/u8-mbtouc-unsafe.
47185
47186         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
47187         * modules/utf16-ucs4: Turn into a symbolic link to module
47188         unistr/u16-mbtouc.
47189
47190         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
47191         utf16-ucs4-unsafe.
47192         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
47193         unistr/u16-mbtouc-unsafe.
47194
47195         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
47196         * modules/ucs4-utf8: Turn into a symbolic link to module
47197         unistr/u8-ubtomb.
47198
47199         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
47200         * modules/ucs4-utf16: Turn into a symbolic link to module
47201         unistr/u16-ubtomb.
47202
47203 2007-03-24  Bruno Haible  <bruno@clisp.org>
47204
47205         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
47206         Enable the function only if HAVE_INLINE.
47207         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
47208         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
47209         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
47210         Enable the function only if HAVE_INLINE.
47211         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
47212         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
47213         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
47214         Enable the function only if HAVE_INLINE.
47215         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
47216         Enable the function only if HAVE_INLINE.
47217         * modules/utf8-ucs4: Update.
47218         * modules/utf8-ucs4-unsafe: Update.
47219         * modules/utf16-ucs4: Update.
47220         * modules/utf16-ucs4-unsafe: Update.
47221         * modules/ucs4-utf8: Update.
47222         * modules/ucs4-utf16: Update.
47223
47224 2007-03-24  Bruno Haible  <bruno@clisp.org>
47225
47226         * lib/utf8-ucs4.h: Remove file.
47227         * lib/utf8-ucs4-unsafe.h: Remove file.
47228         * lib/utf16-ucs4.h: Remove file.
47229         * lib/utf16-ucs4-unsafe.h: Remove file.
47230         * lib/ucs4-utf8.h: Remove file.
47231         * lib/ucs4-utf16.h: Remove file.
47232         * lib/unistr.h: Include their previous contents.
47233         * m4/utf-ucs4.m4: Remove file.
47234         * m4/ucs4-utf.m4: Remove file.
47235         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
47236         (Depends-on): Add unistr/base.
47237         (configure.ac): Remove gl_UTF_UCS4.
47238         (Makefile.am): Update.
47239         (Include): Change to unistr.h.
47240         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
47241         (Depends-on): Add unistr/base.
47242         (configure.ac): Remove gl_UTF_UCS4.
47243         (Makefile.am): Update.
47244         (Include): Change to unistr.h.
47245         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
47246         (Depends-on): Add unistr/base.
47247         (configure.ac): Remove gl_UTF_UCS4.
47248         (Makefile.am): Update.
47249         (Include): Change to unistr.h.
47250         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
47251         (Depends-on): Add unistr/base.
47252         (configure.ac): Remove gl_UTF_UCS4.
47253         (Makefile.am): Update.
47254         (Include): Change to unistr.h.
47255         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
47256         (Depends-on): Add unistr/base.
47257         (configure.ac): Remove gl_UCS4_UTF.
47258         (Makefile.am): Update.
47259         (Include): Change to unistr.h.
47260         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
47261         (Depends-on): Add unistr/base.
47262         (configure.ac): Remove gl_UCS4_UTF.
47263         (Makefile.am): Update.
47264         (Include): Change to unistr.h.
47265         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
47266         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
47267         utf8-ucs4-unsafe.h.
47268         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
47269         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
47270         utf16-ucs4-unsafe.h.
47271         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
47272         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
47273         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
47274         * lib/unistr/u8-strchr.c: Likewise.
47275         * lib/unistr/u8-strrchr.c: Likewise.
47276         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
47277         * lib/unistr/u16-strchr.c: Likewise.
47278         * lib/unistr/u16-strrchr.c: Likewise.
47279         * lib/striconveh.c: Update.
47280         * lib/linebreak.c: Update.
47281
47282 2007-03-24  Bruno Haible  <bruno@clisp.org>
47283
47284         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
47285         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
47286
47287 2007-03-22  Bruno Haible  <bruno@clisp.org>
47288
47289         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
47290
47291 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
47292
47293         * MODULES.html.sh (File system functions): New module write-any-file.
47294         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
47295         * m4/write-any-file.m4: New files.
47296
47297 2007-03-23  Eric Blake  <ebb9@byu.net>
47298
47299         * gnulib-tool: Rearrange space-tab sequences, since some editors
47300         like to eat them.
47301
47302 2007-03-23  Eric Blake  <ebb9@byu.net>
47303
47304         * lib/version-etc.c (version_etc_va): Update license wording to
47305         be more concise.  Recommended by Richard Stallman.
47306
47307 2007-03-22  Bruno Haible  <bruno@clisp.org>
47308
47309         * lib/poll.c (MSG_PEEK): New fallback definition.
47310
47311 2007-03-22  Bruno Haible  <bruno@clisp.org>
47312
47313         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
47314         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
47315         (main): Update.
47316         Fixes a compilation error on BeOS.
47317
47318 2007-03-22  Bruno Haible  <bruno@clisp.org>
47319
47320         * modules/frexpl-tests: New file.
47321         * tests/test-frexpl.c: New file.
47322
47323         * modules/frexpl: New file.
47324         * m4/frexpl.m4: New file.
47325         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
47326         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
47327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
47328         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
47329         (Depends-on): Add frexpl. Remove isnanl-nolibm.
47330         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
47331
47332 2007-03-22  Bruno Haible  <bruno@clisp.org>
47333
47334         * lib/frexpl.c: Share code with lib/frexp.c.
47335         * modules/mathl (Files): Add lib/frexp.c.
47336         (Depends-on): Add isnanl-nolibm.
47337
47338 2007-03-22  Bruno Haible  <bruno@clisp.org>
47339
47340         * modules/printf-frexp (Files): Add m4/frexp.m4.
47341         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
47342         only if the found frexp function actually works.
47343
47344 2007-03-22  Bruno Haible  <bruno@clisp.org>
47345
47346         * lib/frexp.c: Remove older implementation that uses divisions.
47347
47348 2007-03-21  Bruno Haible  <bruno@clisp.org>
47349
47350         * modules/frexp-tests: New file.
47351         * tests/test-frexp.c: New file.
47352
47353         * modules/frexp: New file.
47354         * lib/frexp.c: New file.
47355         * m4/frexp.m4: New file.
47356         * lib/math_.h (frexp): New declaration.
47357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
47358         REPLACE_FREXP.
47359         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
47360
47361 2007-03-21  Bruno Haible  <bruno@clisp.org>
47362
47363         * modules/isnanl-tests: New file.
47364         * tests/test-isnanl.c: New file.
47365
47366         * modules/isnanl: New file.
47367         * lib/isnanl.h: New file.
47368         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
47369         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
47370         gl_FUNC_ISNANL_WORKS.
47371         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
47372         New macros.
47373
47374 2007-03-21  Bruno Haible  <bruno@clisp.org>
47375
47376         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
47377         lib/isnanl.h.
47378         (Include): Update.
47379         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
47380         * lib/vasnprintf.c: Update.
47381         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
47382         tests/test-isnanl.h, remove tests/test-isnanl.c.
47383         (Makefile.am): Update.
47384         * tests/test-isnanl-nolibm.c: New file.
47385         * tests/test-isnanl.h: New file.
47386         * tests/test-isnanl.c: Remove file.
47387
47388 2007-03-21  Jim Meyering  <jim@meyering.net>
47389
47390         When trying to open ".", treat ESTALE like EACCES.
47391         * lib/savewd.c (savewd_save): Resort to forking not just upon
47392         failure with EACCES, but also when errno is ESTALE.
47393
47394 2007-03-20  Bruno Haible  <bruno@clisp.org>
47395
47396         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
47397         Needed on AIX 5.1. Reported by Matthew Woehlke.
47398
47399 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47400
47401         Suggestions by Bruno Haible:
47402         * lib/acl-internal.h: Include "gettext.h" rather than rolling
47403         our own.
47404         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
47405         * modules/acl (Depends-on): Add gettext.
47406
47407 2007-03-19  Bruno Haible  <bruno@clisp.org>
47408
47409         * modules/iconvme: Remove file.
47410         * lib/iconvme.h: Remove file.
47411         * lib/iconvme.c: Remove file.
47412         * m4/iconvme.m4: Remove file.
47413
47414 2007-03-19  Bruno Haible  <bruno@clisp.org>
47415
47416         * doc/relocatable-maint.texi: Break long shell script line.
47417         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
47418
47419 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47420
47421         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
47422         handle file_has_acl.
47423         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
47424         * lib/acl.c: Move header inclusions and related macro defns into
47425         lib/acl-internal.h.
47426         (S_ISLNK): Remove defn, since that's now done for us.
47427         (file_has_acl): Move to lib/file-has-acl.c.
47428         Call acl_trivial if available.  This is the crucial part of the fix.
47429         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
47430         shared within the library.  Rewrite a bit, partly to make it compatible
47431         with the GNU coding style.
47432         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
47433         Remove unnecessary double-quotes.
47434         Don't test for acl_to_text; the build will catch that.
47435         Replace acl_entries if it doesn't exist and it is needed.
47436         Check for -lsec and acl_trivial (as used on Solaris 10).
47437         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
47438         lib/file-has-acl.c.
47439         (Depends-on): Add sys_stat, for S_ISLNK.
47440
47441 2007-03-19  Ben Pfaff  <blp@gnu.org>
47442
47443         * doc/gnulib.texi: Fix typos.
47444         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
47445
47446 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47447
47448         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
47449         If size is zero here, buf must be zero.
47450
47451 2007-03-19  Simon Josefsson  <simon@josefsson.org>
47452
47453         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
47454         <bruno@clisp.org>.
47455
47456 2007-03-18  Bruno Haible  <bruno@clisp.org>
47457
47458         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
47459         Suggested by Eric Blake.
47460
47461 2007-03-18  Ben Pfaff  <blp@gnu.org>
47462
47463         * doc/relocatable.texi: Recommend using as prefix a directory
47464         that does not exist and will never be created.  Based on
47465         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
47466         and others.
47467
47468 2007-03-17  Bruno Haible  <bruno@clisp.org>
47469
47470         * lib/fchownat.c: Include lchown.h.
47471
47472 2007-03-17  Bruno Haible  <bruno@clisp.org>
47473
47474         Fix endless loop when the given allocated size was > INT_MAX.
47475         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
47476         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
47477         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
47478         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
47479         * lib/sprintf.c (sprintf): Likewise.
47480
47481 2007-03-17  Bruno Haible  <bruno@clisp.org>
47482
47483         * tests/test-argp-2.sh (func_compare): Output a context diff.
47484
47485 2007-03-17  Bruno Haible  <bruno@clisp.org>
47486
47487         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
47488         locale's decimal-point character.
47489
47490 2007-03-17  Bruno Haible  <bruno@clisp.org>
47491
47492         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
47493         before comparing it. Needed because on some platforms (e.g. x86) a
47494         'long double' occupies less bytes than sizeof (long double).
47495
47496 2007-03-17  Bruno Haible  <bruno@clisp.org>
47497
47498         * tests/test-crc.c (main): Make printf statements 64-bit clean.
47499         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
47500         * tests/test-getaddrinfo.c (simple): Likewise.
47501         * tests/test-read-file.c (main): Likewise.
47502
47503 2007-03-17  Bruno Haible  <bruno@clisp.org>
47504
47505         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
47506
47507 2007-03-17  Bruno Haible  <bruno@clisp.org>
47508
47509         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
47510         unused variable.
47511
47512 2007-03-17  Bruno Haible  <bruno@clisp.org>
47513
47514         * tests/test-c-strcasecmp.c: Include c-strcase.h.
47515         * tests/test-c-strncasecmp.c: Likewise.
47516
47517 2007-03-17  Bruno Haible  <bruno@clisp.org>
47518
47519         * modules/stdlib (Depends-on): Add unistd.
47520         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
47521         Needed for MacOS X 10.3.
47522
47523 2007-03-17  Bruno Haible  <bruno@clisp.org>
47524
47525         * lib/unistr/u-strdup.h: Include <stdlib.h>.
47526
47527 2007-03-17  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
47530
47531 2007-03-17  Bruno Haible  <bruno@clisp.org>
47532
47533         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
47534         to reflect files copied from gnulib (with or without modifications).
47535         Suggested by Jim Meyering.
47536
47537 2007-03-17  Eric Blake  <ebb9@byu.net>
47538
47539         * NEWS: Document stdlib change from 2007-02-18.
47540
47541 2007-03-17  Jim Meyering  <jim@meyering.net>
47542
47543         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
47544         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
47545         someone uses a name containing shell meta-characters.
47546         Reported by Alfred M. Szmidt.
47547
47548         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
47549
47550 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
47551
47552         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
47553         and copy gettext configuration files only if configure.ac contains
47554         a use of AM_GNU_GETTEXT_VERSION.
47555
47556 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
47557
47558         * build-aux/bootstrap (gnulib_name): New variable.
47559         (gnulib_tool_options): Use it.
47560
47561 2007-03-13  Simon Josefsson  <simon@josefsson.org>
47562
47563         * tests/test-des.c: Use new namespace.
47564
47565 2007-03-15  Bruno Haible  <bruno@clisp.org>
47566
47567         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
47568         Reported by James Youngman <jay@gnu.org>.
47569
47570 2007-03-15  Bruno Haible  <bruno@clisp.org>
47571
47572         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
47573         declared prototype. Needed with cc on OSF/1 5.1.
47574
47575 2007-03-15  Bruno Haible  <bruno@clisp.org>
47576
47577         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
47578         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
47579         (struct gl_list_implementation): Add dispose_fn argument to the
47580         'create_empty', 'create' methods.
47581         (struct gl_list_impl_base): Add field 'dispose_fn'.
47582         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
47583         argument.
47584         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
47585         dispose_fn argument.
47586         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
47587         dispose_fn on the dropped values.
47588         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
47589         dispose_fn argument.
47590         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
47591         dropped values.
47592         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
47593         (gl_tree_remove_node): Call dispose_fn on the dropped value.
47594         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
47595         (gl_tree_remove_node): Call dispose_fn on the dropped value.
47596         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
47597         argument.
47598         (gl_tree_list_free): Call dispose_fn on the dropped values.
47599         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
47600         the dropped values.
47601         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47602         Add dispose_fn argument.
47603         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
47604         Call dispose_fn on the dropped values.
47605         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
47606         Add dispose_fn argument.
47607         (gl_sublist_create): Initialize the 'dispose_fn' field.
47608         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
47609         * tests/test-array_list.c (main): Update.
47610         * tests/test-carray_list.c (main): Update.
47611         * tests/test-avltree_list.c (main): Update.
47612         * tests/test-rbtree_list.c (main): Update.
47613         * tests/test-avltreehash_list.c (main): Update.
47614         * tests/test-rbtreehash_list.c (main): Update.
47615         * tests/test-linked_list.c (main): Update.
47616         * tests/test-linkedhash_list.c (main): Update.
47617         * tests/test-array_oset.c (main): Update.
47618
47619 2007-03-15  Bruno Haible  <bruno@clisp.org>
47620
47621         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
47622         (gl_oset_create_empty): Add dispose_fn argument.
47623         (struct gl_oset_implementation): Add dispose_fn argument to
47624         'create_empty' method.
47625         (struct gl_oset_impl_base): Add dispose_fn field.
47626         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
47627         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
47628         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
47629         values.
47630         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
47631         (gl_tree_oset_free): Call dispose_fn on the dropped values.
47632         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
47633         dropped value.
47634         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
47635         dropped value.
47636         * tests/test-array_oset.c (main): Update.
47637         * tests/test-avltree_oset.c (main): Update.
47638         * tests/test-rbtree_oset.c (main): Update.
47639         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
47640
47641 2007-03-13  Bruno Haible  <bruno@clisp.org>
47642
47643         * tests/test-stdbool.c (i): Update after last patch.
47644
47645 2007-03-12  Bruno Haible  <bruno@clisp.org>
47646
47647         * lib/quotearg.c: Include <wctype.h> early, before the definition of
47648         the iswprint macro. Needed on Solaris 2.5.1.
47649
47650 2007-03-12  Bruno Haible  <bruno@clisp.org>
47651
47652         * tests/test-printf-frexp.c (main): Declare x as volatile.
47653
47654 2007-03-12  Simon Josefsson  <simon@josefsson.org>
47655
47656         * doc/gnulib.texi (Build robot for gnulib): New section.
47657
47658 2007-03-12  Jim Meyering  <jim@meyering.net>
47659
47660         * build-aux/bootstrap: New file.
47661         * build-aux/bootstrap.conf: New file, from coreutils.
47662
47663 2007-03-11  Bruno Haible  <bruno@clisp.org>
47664
47665         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
47666
47667 2007-03-12  Simon Josefsson  <simon@josefsson.org>
47668
47669         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
47670         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
47671         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
47672
47673 2007-03-11  Bruno Haible  <bruno@clisp.org>
47674
47675         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
47676         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
47677
47678 2007-03-11  Bruno Haible  <bruno@clisp.org>
47679
47680         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
47681         formula. Needed for SunPRO C 5.0.
47682
47683 2007-03-11  Bruno Haible  <bruno@clisp.org>
47684
47685         * modules/long-options (Depends-on): Add getopt.
47686
47687 2007-03-11  Bruno Haible  <bruno@clisp.org>
47688
47689         * modules/modechange (Depends-on): Add stdbool.
47690
47691 2007-03-11  Bruno Haible  <bruno@clisp.org>
47692
47693         * modules/i-ring (Depends-on): Add stdbool.
47694
47695 2007-03-11  Bruno Haible  <bruno@clisp.org>
47696
47697         * modules/gc-des (Depends-on): Add stdbool.
47698
47699 2007-03-11  Bruno Haible  <bruno@clisp.org>
47700
47701         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
47702
47703 2007-03-11  Bruno Haible  <bruno@clisp.org>
47704
47705         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
47706
47707 2007-03-11  Bruno Haible  <bruno@clisp.org>
47708
47709         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
47710
47711 2007-03-11  Bruno Haible  <bruno@clisp.org>
47712
47713         * lib/vasnprintf.c (sprintf): Undefine.
47714
47715 2007-03-11  Bruno Haible  <bruno@clisp.org>
47716
47717         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
47718         initializers in SunPRO C and Compaq C compilers.
47719
47720 2007-03-11  Bruno Haible  <bruno@clisp.org>
47721
47722         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
47723         decrementing code ANSI C compliant.
47724
47725 2007-03-11  Bruno Haible  <bruno@clisp.org>
47726
47727         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
47728         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
47729
47730 2007-03-11  Bruno Haible  <bruno@clisp.org>
47731
47732         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
47733         <stdbool.h> substitute doesn't pass.
47734
47735 2007-03-11  Bruno Haible  <bruno@clisp.org>
47736
47737         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
47738
47739 2007-03-11  Bruno Haible  <bruno@clisp.org>
47740
47741         * gnulib-tool (func_create_megatestdir): Create also an autobuild
47742         script, for submission to autobuild.josefsson.org.
47743
47744 2007-03-10  Bruno Haible  <bruno@clisp.org>
47745
47746         * modules/canonicalize-lgpl-tests: New file.
47747         * tests/test-canonicalize-lgpl.sh: New file.
47748         * tests/test-canonicalize-lgpl.c: New file.
47749
47750         * modules/c-strcase-tests: New file.
47751         * tests/test-c-strcase.sh: New file.
47752         * tests/test-c-strcasecmp.c: New file.
47753         * tests/test-c-strncasecmp.c: New file.
47754
47755         * modules/atexit-tests: New file.
47756         * tests/test-atexit.sh: New file.
47757         * tests/test-atexit.c: New file.
47758
47759 2007-03-10  Bruno Haible  <bruno@clisp.org>
47760
47761         * tests/test-binary-io.sh: Use temporary filenames that are not so
47762         likely to clash with those of other tests (in a parallel make).
47763         * tests/test-binary-io.c: Likewise.
47764
47765 2007-03-10  Bruno Haible  <bruno@clisp.org>
47766
47767         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
47768         fallback; use #error instead.
47769         Suggested by Simon Josefsson.
47770
47771 2007-03-10  Bruno Haible  <bruno@clisp.org>
47772
47773         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
47774         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
47775         first and the last.
47776
47777 2007-03-10  Bruno Haible  <bruno@clisp.org>
47778
47779         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
47780
47781 2007-03-10  Bruno Haible  <bruno@clisp.org>
47782
47783         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
47784         "make distcheck".
47785         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
47786         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
47787         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
47788
47789 2007-03-10  Bruno Haible  <bruno@clisp.org>
47790
47791         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
47792         variable.
47793         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
47794         variable.
47795
47796 2007-03-09  Eric Blake  <ebb9@byu.net>
47797         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
47798
47799         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
47800         types are not being provided by gnulib.
47801         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
47802         types are supported.
47803
47804 2007-03-10  Bruno Haible  <bruno@clisp.org>
47805
47806         * lib/stdio_.h (__attribute__): New macro.
47807         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
47808         vsprintf): Specify __attribute__ __format__ for GCC.
47809         Suggested by Eric Blake.
47810
47811 2007-03-09  Bruno Haible  <bruno@clisp.org>
47812
47813         * modules/printf-posix-tests: New file.
47814         * tests/test-printf-posix.sh: New file.
47815         * tests/test-printf-posix.c: New file.
47816
47817         * modules/printf-posix: New file.
47818         * lib/printf.c: New file.
47819         * m4/printf-posix-rpl.m4: New file.
47820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
47821         REPLACE_PRINTF.
47822         * lib/stdio_.h (printf): New declaration.
47823         (format, __format__, ____printf____, ____scanf____, ____strftime____,
47824         ____strfmon____): New macros.
47825         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
47826         REPLACE_PRINTF.
47827
47828 2007-03-09  Bruno Haible  <bruno@clisp.org>
47829
47830         * tests/test-vasnprintf-posix2.sh: New file.
47831         * tests/test-vasnprintf-posix2.c: New file.
47832         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
47833         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47834         (Makefile.am): Activate test-vasnprintf-posix2.sh.
47835
47836         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
47837         a locale dependent decimal point, rather than always '.'.
47838
47839 2007-03-09  Eric Blake  <ebb9@byu.net>
47840
47841         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
47842         spite of platforms like Tandem/NSK that define it to -1.
47843
47844 2007-03-08  Bruno Haible  <bruno@clisp.org>
47845
47846         * modules/vprintf-posix-tests: New file.
47847         * tests/test-vprintf-posix.sh: New file.
47848         * tests/test-vprintf-posix.c: New file.
47849         * tests/test-printf-posix.h: New file.
47850
47851         * modules/vprintf-posix: New file.
47852         * lib/vprintf.c: New file.
47853         * m4/vprintf-posix.m4: New file.
47854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
47855         REPLACE_VPRINTF.
47856         * lib/stdio_.h (vprintf): New declaration.
47857         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
47858         REPLACE_VPRINTF.
47859
47860 2007-03-08  Bruno Haible  <bruno@clisp.org>
47861
47862         * modules/fprintf-posix-tests: New file.
47863         * tests/test-fprintf-posix.sh: New file.
47864         * tests/test-fprintf-posix.c: New file.
47865
47866         * modules/fprintf-posix: New file.
47867         * lib/fprintf.c: New file.
47868         * m4/fprintf-posix.m4: New file.
47869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
47870         REPLACE_FPRINTF.
47871         * lib/stdio_.h (fprintf): New declaration.
47872         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
47873         REPLACE_FPRINTF.
47874
47875 2007-03-08  Bruno Haible  <bruno@clisp.org>
47876
47877         * modules/vfprintf-posix-tests: New file.
47878         * tests/test-vfprintf-posix.sh: New file.
47879         * tests/test-vfprintf-posix.c: New file.
47880         * tests/test-fprintf-posix.h: New file.
47881         * tests/test-fprintf-posix.out: New file.
47882
47883         * modules/vfprintf-posix: New file.
47884         * lib/vfprintf.c: New file.
47885         * m4/vfprintf-posix.m4: New file.
47886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
47887         REPLACE_VFPRINTF.
47888         * lib/stdio_.h (vfprintf): New declaration.
47889         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
47890         REPLACE_VFPRINTF.
47891
47892 2007-03-08  Bruno Haible  <bruno@clisp.org>
47893
47894         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
47895
47896 2007-03-08  Bruno Haible  <bruno@clisp.org>
47897
47898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
47899         instead of 'expr' invocations.
47900         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47901         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47902         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47905         Suggested by Paul Eggert.
47906
47907 2007-03-08  Bruno Haible  <bruno@clisp.org>
47908
47909         * modules/fseterr-tests: New file.
47910         * tests/test-fseterr.c: New file.
47911
47912         * modules/fseterr: New file.
47913         * lib/fseterr.h: New file.
47914         * lib/fseterr.c: New file.
47915
47916 2007-03-08  Bruno Haible  <bruno@clisp.org>
47917
47918         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
47919         * lib/getopt_.h: Likewise.
47920         * lib/mbswidth.h: Likewise.
47921         * lib/setenv.h: Likewise.
47922         * lib/vasnprintf.h: Likewise.
47923         * lib/vasprintf.h: Likewise.
47924         * lib/verror.h: Likewise.
47925         * lib/xsetenv.h: Likewise.
47926         * lib/xvasprintf.h: Likewise.
47927
47928 2007-03-08  Jim Meyering  <jim@meyering.net>
47929
47930         * users.txt: Add parted.
47931
47932         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
47933
47934 2007-03-07  Bruno Haible  <bruno@clisp.org>
47935
47936         * m4/printf.m4: Make the shell script snippets copy&pastable.
47937
47938 2007-03-02  Bruno Haible  <bruno@clisp.org>
47939
47940         * lib/netinet_in_.h: New file.
47941         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
47942         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
47943         * modules/netinet_in (Files): Add lib/netinet_in_.h.
47944         (Depends-on): Add absolute-header.
47945         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
47946         into netinet/in.h.
47947
47948 2007-03-03  Bruno Haible  <bruno@clisp.org>
47949
47950         * lib/sys_select_.h: New file.
47951         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
47952         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
47953         * modules/sys_select (Files): Add lib/sys_select_.h.
47954         (Depends-on): Add absolute-header.
47955         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
47956         into sys/select.h.
47957
47958 2007-03-02  Bruno Haible  <bruno@clisp.org>
47959
47960         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
47961         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
47962         values.
47963         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
47964         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
47965         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
47966         * modules/sys_socket (Depends-on): Add absolute-header.
47967         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
47968         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
47969         (Include): Remove requirement of inclusion of <sys/types.h>.
47970
47971 2007-03-02  Bruno Haible  <bruno@clisp.org>
47972
47973         * lib/byteswap_.h (bswap_32): Fix formula.
47974
47975 2007-03-06  Bruno Haible  <bruno@clisp.org>
47976
47977         * modules/sprintf-posix-tests: New file.
47978         * tests/test-sprintf-posix.c: New file.
47979
47980         * modules/sprintf-posix: New file.
47981         * lib/sprintf.c: New file.
47982         * m4/sprintf-posix.m4: New file.
47983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
47984         REPLACE_SPRINTF.
47985         * lib/stdio_.h (sprintf): New declaration.
47986         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
47987         REPLACE_SPRINTF.
47988
47989 2007-03-06  Bruno Haible  <bruno@clisp.org>
47990
47991         * modules/vsprintf-posix-tests: New file.
47992         * tests/test-vsprintf-posix.c: New file.
47993         * tests/test-sprintf-posix.h: New file.
47994
47995         * modules/vsprintf-posix: New file.
47996         * lib/vsprintf.c: New file.
47997         * m4/vsprintf-posix.m4: New file.
47998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
47999         REPLACE_VSPRINTF.
48000         * lib/stdio_.h (vsprintf): New declaration.
48001         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
48002         REPLACE_VSPRINTF.
48003
48004 2007-03-06  Bruno Haible  <bruno@clisp.org>
48005
48006         * modules/vsnprintf (Depend-on): Remove minmax.
48007
48008 2007-03-06  Bruno Haible  <bruno@clisp.org>
48009
48010         * modules/snprintf-posix-tests: New file.
48011         * tests/test-snprintf-posix.c: New file.
48012
48013         * modules/snprintf-posix: New file.
48014         * m4/snprintf-posix.m4: New file.
48015         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
48016         gl_FUNC_SNPRINTF.
48017         (gl_FUNC_SNPRINTF): Invoke it.
48018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
48019         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
48020         is set.
48021         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
48022
48023 2007-03-06  Bruno Haible  <bruno@clisp.org>
48024
48025         * modules/vsnprintf-posix-tests: New file.
48026         * tests/test-vsnprintf-posix.c: New file.
48027         * tests/test-snprintf-posix.h: New file.
48028
48029         * modules/vsnprintf-posix: New file.
48030         * m4/vsnprintf-posix.m4: New file.
48031         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
48032         gl_FUNC_VSNPRINTF.
48033         (gl_FUNC_VSNPRINTF): Invoke it.
48034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
48035         * lib/stdio_.h (vsnprintf): Define as a replacement if
48036         REPLACE_VSNPRINTF is set.
48037         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
48038
48039 2007-03-06  Bruno Haible  <bruno@clisp.org>
48040
48041         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
48042         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
48043
48044 2007-03-06  Bruno Haible  <bruno@clisp.org>
48045
48046         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
48047         (asinl): Declare also if HAVE_DECL_ASINL is set.
48048         (atanl): Declare also if HAVE_DECL_ATANL is set.
48049         (ceill): Declare also if HAVE_DECL_CEILL is set.
48050         (cosl): Declare also if HAVE_DECL_COSL is set.
48051         (expl): Declare also if HAVE_DECL_EXPL is set.
48052         (floorl): Declare also if HAVE_DECL_FLOORL is set.
48053         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
48054         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
48055         (logl): Declare also if HAVE_DECL_LOGL is set.
48056         (sinl): Declare also if HAVE_DECL_SINL is set.
48057         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
48058         (tanl): Declare also if HAVE_DECL_TANL is set.
48059         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
48060         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
48061         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
48062         declaration of frexpl, ldexpl.
48063         * modules/printf-frexpl (Depends-on): Add math.
48064         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
48065
48066 2007-03-05  Bruno Haible  <bruno@clisp.org>
48067
48068         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
48069         frexpl and ldexpl are declared.
48070         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
48071
48072 2007-03-05  Bruno Haible  <bruno@clisp.org>
48073
48074         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
48075         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
48076
48077 2007-03-05  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/stdio_.h: Include <stddef.h>.
48080
48081 2007-03-05  Bruno Haible  <bruno@clisp.org>
48082
48083         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
48084
48085 2007-03-05  Bruno Haible  <bruno@clisp.org>
48086
48087         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
48088         NetBSD 4, from Ralf Wildenhues.
48089
48090 2007-03-04  Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/vasprintf.h: Update #if logic for the case when the functions
48093         exist but are overridden.
48094
48095 2007-03-04  Bruno Haible  <bruno@clisp.org>
48096
48097         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
48098         implementations: glibc-2.4 and MacOS X 10.3.
48099         * tests/test-vasnprintf-posix.c (test_function): Test also the case
48100         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
48101         * tests/test-vasprintf-posix.c (test_function): Likewise.
48102
48103 2007-03-04  Bruno Haible  <bruno@clisp.org>
48104
48105         * modules/vasprintf-posix-tests: New file.
48106         * tests/test-vasprintf-posix.c: New file.
48107
48108         * modules/vasprintf-posix: New file.
48109         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
48110         defined.
48111         * m4/vasprintf-posix.m4: New file.
48112         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
48113         gl_FUNC_VASPRINTF.
48114         (gl_FUNC_VASPRINTF): Invoke it.
48115         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
48116         here.
48117         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
48118
48119 2007-03-04  Bruno Haible  <bruno@clisp.org>
48120
48121         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
48122         REPLACE_GETTIMEOFDAY.
48123         * modules/sys_time (Makefile.am): Likewise.
48124         * m4/sys_time_h.m4: Likewise.
48125         * m4/gettimeofday.m4: Likewise.
48126
48127 2007-03-04  Bruno Haible  <bruno@clisp.org>
48128
48129         * modules/vasnprintf-posix-tests: New file.
48130         * tests/test-vasnprintf-posix.c: New file.
48131
48132         * modules/vasnprintf-posix: New file.
48133         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
48134         printf-frexpl.h.
48135         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
48136         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
48137         REPLACE_VASNPRINTF is defined.
48138         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
48139         gl_FUNC_VASNPRINTF.
48140         (gl_FUNC_VASNPRINTF): Invoke it.
48141         * m4/vasnprintf-posix.m4: New file.
48142         * m4/printf.m4: New file.
48143
48144 2007-03-04  Bruno Haible  <bruno@clisp.org>
48145
48146         Compile progreloc.c only if --enable-relocatable is specified.
48147         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
48148         if --enable-relocatable was specified.
48149         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
48150         lib_SOURCES.
48151
48152 2007-03-04  Jim Meyering  <jim@meyering.net>
48153
48154         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
48155         Use it consistently, rather than enumerating errno constants.
48156
48157 2007-03-04  Bruno Haible  <bruno@clisp.org>
48158
48159         * modules/xvasprintf-tests: New file.
48160         * tests/test-xvasprintf.c: New file.
48161
48162         * modules/vasprintf-tests: New file.
48163         * tests/test-vasprintf.c: New file.
48164
48165         * modules/vasnprintf-tests: New file.
48166         * tests/test-vasnprintf.c: New file.
48167
48168         * modules/vsnprintf-tests: New file.
48169         * tests/test-vsnprintf.c: New file.
48170
48171         * modules/snprintf-tests: New file.
48172         * tests/test-snprintf.c: New file.
48173
48174 2007-03-04  Bruno Haible  <bruno@clisp.org>
48175
48176         Compile relocatable.c only if --enable-relocatable is specified.
48177         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
48178         gl_RELOCATABLE_LIBRARY.
48179         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
48180         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
48181         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
48182         gl_RELOCATABLE_LIBRARY.
48183         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
48184         (Makefile.am): Remove lib_SOURCES.
48185         * modules/relocatable-lib-lgpl (configure.ac): Invoke
48186         gl_RELOCATABLE_LIBRARY.
48187         (Makefile.am): Remove lib_SOURCES.
48188         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
48189         always.
48190         * modules/relocatable-prog-wrapper (configure.ac): Invoke
48191         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
48192
48193 2007-03-04  Bruno Haible  <bruno@clisp.org>
48194
48195         * modules/argmatch-tests: New file.
48196         * tests/test-argmatch.c: New file.
48197
48198         * tests/test-allocsa.c (main): Halve the number of loop runs.
48199
48200         * modules/alloca-opt-tests: New file.
48201         * tests/test-alloca-opt.c: New file.
48202
48203 2007-03-04  Jim Meyering  <jim@meyering.net>
48204
48205         Work around difference between Linux ACLs and Solaris 10 ZFS.
48206         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
48207         for EINVAL.
48208
48209 2007-03-03  Bruno Haible  <bruno@clisp.org>
48210
48211         * modules/relocatable-prog (Depends-on): Add back progreloc's
48212         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
48213
48214 2007-03-03  Bruno Haible  <bruno@clisp.org>
48215
48216         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
48217         * modules/relocatable-lib: New file.
48218
48219 2007-03-03  Bruno Haible  <bruno@clisp.org>
48220
48221         * modules/relocatable-prog: Renamed from modules/relocatable.
48222         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
48223
48224 2007-03-03  Bruno Haible  <bruno@clisp.org>
48225
48226         * modules/relocatable-script (Files): Add doc/relocatable.texi,
48227         m4/relocatable-lib.m4.
48228         (Depends-on): Remove 'relocatable'.
48229         (configure.ac): Add gl_RELOCATABLE_NOP.
48230
48231 2007-03-03  Bruno Haible  <bruno@clisp.org>
48232
48233         * modules/relocatable-prog-wrapper: New file.
48234         * modules/relocatable (Depends-on): Add it. Remove all other
48235         dependencies except progname.
48236         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
48237
48238         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
48239         (gl_FUNC_STRERROR): Nop.
48240         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
48241
48242         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
48243         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
48244
48245         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
48246         (gl_FUNC_READLINK): Update.
48247
48248         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
48249
48250 2007-03-03  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/xreadlink.c: Include <unistd.h> unconditionally.
48253         * modules/xreadlink (Depends-on): Add unistd.
48254         * modules/xreadlink-with-size (Depends-on): Likewise.
48255
48256 2007-03-03  Bruno Haible  <bruno@clisp.org>
48257
48258         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
48259         extracted from gt_FUNC_SETENV.
48260         (gt_FUNC_SETENV): Remove macro.
48261         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
48262         remove gt_FUNC_SETENV.
48263
48264 2007-03-03  Bruno Haible  <bruno@clisp.org>
48265
48266         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
48267         ENABLE_RELOCATABLE here.
48268         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
48269
48270 2007-03-03  Bruno Haible  <bruno@clisp.org>
48271
48272         * modules/rbtreehash-list-tests (Depends-on): Add progname.
48273         * tests/test-rbtreehash_list.c: Include progname.h.
48274         (main): Call set_program_name.
48275
48276         * modules/rbtree-oset-tests (Depends-on): Add progname.
48277         * tests/test-rbtree_oset.c: Include progname.h.
48278         (main): Call set_program_name.
48279
48280         * modules/rbtree-list-tests (Depends-on): Add progname.
48281         * tests/test-rbtree_list.c: Include progname.h.
48282         (main): Call set_program_name.
48283
48284         * modules/linked-list-tests (Depends-on): Add progname.
48285         * tests/test-linked_list.c: Include progname.h.
48286         (main): Call set_program_name.
48287
48288 2007-03-03  Bruno Haible  <bruno@clisp.org>
48289
48290         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
48291         All uses of __restrict changed to _Restrict_.
48292         * lib/glob_.h (__restrict): Remove macro.
48293
48294 2007-03-02  Bruno Haible  <bruno@clisp.org>
48295
48296         * modules/gettext (configure.ac): Require gettext infrastructure
48297         from version 0.16.1.
48298
48299 2007-03-02  Bruno Haible  <bruno@clisp.org>
48300
48301         * modules/linkedhash-list-tests (Depends-on): Add progname.
48302         * tests/test-linkedhash_list.c: Include progname.h.
48303         (main): Call set_program_name.
48304
48305         * modules/carray-list-tests (Depends-on): Add progname.
48306         * tests/test-carray_list.c: Include progname.h.
48307         (main): Call set_program_name.
48308
48309         * modules/avltreehash-list-tests (Depends-on): Add progname.
48310         * tests/test-avltreehash_list.c: Include progname.h.
48311         (main): Call set_program_name.
48312
48313         * modules/avltree-oset-tests (Depends-on): Add progname.
48314         * tests/test-avltree_oset.c: Include progname.h.
48315         (main): Call set_program_name.
48316
48317         * modules/avltree-list-tests (Depends-on): Add progname.
48318         * tests/test-avltree_list.c: Include progname.h.
48319         (main): Call set_program_name.
48320
48321         * modules/array-oset-tests (Depends-on): Add progname.
48322         * tests/test-array_oset.c: Include progname.h.
48323         (main): Call set_program_name.
48324
48325         * modules/array-list-tests (Depends-on): Add progname.
48326         * tests/test-array_list.c: Include progname.h.
48327         (main): Call set_program_name.
48328
48329         * modules/argp-tests (Depends-on): Add progname.
48330         * tests/test-argp.c: Include argp.h first. Include progname.h.
48331         (main): Call set_program_name.
48332
48333 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
48334
48335         * doc/gnulib-tool.texi (Initial import): Reword description of
48336         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
48337         limited effect even if defined after the first system include.
48338
48339 2007-03-01  Bruno Haible  <bruno@clisp.org>
48340
48341         * build-aux/config.libpath: Update to libtool-1.5.22.
48342         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48343
48344 2007-03-01  Bruno Haible  <bruno@clisp.org>
48345
48346         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
48347         foo_CFLAGS.
48348         Reported by Ralf Wildenhues.
48349
48350 2007-03-01  Bruno Haible  <bruno@clisp.org>
48351
48352         * build-aux/install-reloc: Remove object files left over by some
48353         compilers.
48354         Reported by Ralf Wildenhues.
48355
48356 2007-03-01  Bruno Haible  <bruno@clisp.org>
48357
48358         * build-aux/install-reloc: Break long lines.
48359
48360 2007-03-01  Bruno Haible  <bruno@clisp.org>
48361
48362         * doc/relocatable.texi: Document that it may not work on OpenBSD.
48363         Reported by Ralf Wildenhues.
48364
48365 2007-03-01  Bruno Haible  <bruno@clisp.org>
48366
48367         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
48368         include ordering constraints.
48369
48370 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48371
48372         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
48373         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
48374         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
48375         as another example.
48376         * lib/time_.h: Fix misspelling.
48377         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48378         Require gl_HEADER_TIME_H_DEFAULTS.
48379         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
48380         * m4/time_r.m4 (gl_TIME_R): Likewise.
48381         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
48382
48383 2007-03-01  Bruno Haible  <bruno@clisp.org>
48384
48385         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
48386         * m4/utimens.m4 (gl_UTIMENS): Likewise.
48387
48388 2007-03-01  Jim Meyering  <jim@meyering.net>
48389
48390         * modules/xreadlink (Maintainer): Add my name.
48391         * modules/xreadlink-with-size (Depends-on): Alphabetize.
48392
48393 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
48394             Bruno Haible  <bruno@clisp.org>
48395
48396         * build-aux/install-reloc: Compile also c-ctype.c.
48397         * build-aux/relocatable.sh.in: New file.
48398         * doc/relocatable.texi: New file.
48399         * doc/relocatable-maint.texi: New file.
48400         * doc/gnulib.texi: Include relocatable-maint.texi.
48401         * lib/progreloc.c: Include unistd.h unconditionally.
48402         * lib/relocwrapper.c: Include unistd.h unconditionally.
48403         Include c-ctype.h.
48404         (add_dotbin): Use c_tolower.
48405         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
48406         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
48407         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
48408         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
48409         to m4/relocatable-lib.m4.
48410         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
48411         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
48412         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
48413         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
48414         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
48415         * modules/relocatable: New file.
48416         * modules/relocatable-lib: New file.
48417         * modules/relocatable-script: New file.
48418
48419 2007-02-28  Bruno Haible  <bruno@clisp.org>
48420
48421         Import --enable-relocatable infrastructure.
48422         * build-aux/config.libpath: New file, from GNU gettext.
48423         * build-aux/install-reloc: New file, from GNU gettext.
48424         * build-aux/reloc-ldflags: New file, from GNU gettext.
48425         * lib/relocatable.h: New file, from GNU gettext.
48426         * lib/relocatable.c: New file, from GNU gettext.
48427         * lib/relocwrapper.c: New file, from GNU gettext.
48428         * m4/relocatable.m4: New file, from GNU gettext.
48429
48430 2007-02-28  Bruno Haible  <bruno@clisp.org>
48431
48432         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
48433
48434         * modules/xreadlink: New file, from GNU gettext with modifications.
48435         * lib/xreadlink.c: New file, from GNU gettext.
48436         * lib/xreadlink.h: Add comments.
48437         (xreadlink): New declaration.
48438
48439         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
48440         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
48441         lib/xreadlink-with-size.c.
48442         (configure.ac): Remove gl_XREADLINK invocation.
48443         (Makefile.am): Augment lib_SOURCES.
48444         * m4/xreadlink.m4: Remove file.
48445         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
48446         (xreadlink_with_size): Renamed from xreadink.
48447         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
48448         * modules/canonicalize (Depends-on): Replace xreadlink with
48449         xreadlink-with-size.
48450         * lib/canonicalize.c (canonicalize_filename_mode): Update.
48451
48452 2007-02-25  Jim Meyering  <jim@meyering.net>
48453
48454         * build-aux/announce-gen: When complaining about excess arguments,
48455         list them.
48456
48457 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48458
48459         * README: Document signed integer overflow situation more
48460         accurately.
48461
48462 2007-02-25  Bruno Haible  <bruno@clisp.org>
48463
48464         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
48465         'a' or 'A' conversion.
48466
48467 2007-02-25  Bruno Haible  <bruno@clisp.org>
48468
48469         * modules/filename: Renamed from modules/pathname.
48470         (Files): Replace lib/pathname.h with lib/filename.h. Replace
48471         lib/concatpath.c with lib/concat-filename.c.
48472         (Makefile.am): Update.
48473         (Include): Replace pathname.h with filename.h.
48474         * lib/filename.h: Renamed from lib/pathname.h.
48475         (concatenated_filename): Renamed from concatenated_pathname.
48476         * lib/concat-filename.c: Renamed from lib/concatpath.c.
48477         (concatenated_filename): Renamed from concatenated_pathname.
48478         * lib/findprog.c: Include filename.h instead of pathname.h.
48479         (find_in_path): Update.
48480         * lib/javacomp.c: Include filename.h instead of pathname.h.
48481         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
48482         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
48483         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
48484         is_oldgcj_14_13_usable, is_javac_usable): Update.
48485         * lib/javaexec.c: Include filename.h instead of pathname.h.
48486         (execute_java_class): Update.
48487         * modules/findprog: Update.
48488         * modules/javacomp: Update.
48489         * modules/javaexec: Update.
48490         * MODULES.html.sh (File system functions): Add 'filename', remove
48491         'pathname'.
48492
48493 2007-02-25  Bruno Haible  <bruno@clisp.org>
48494
48495         * modules/printf-frexpl-tests: New file.
48496         * tests/test-printf-frexpl.c: New file.
48497
48498         * modules/printf-frexpl: New file.
48499         * lib/printf-frexpl.h: New file.
48500         * lib/printf-frexpl.c: New file.
48501         * m4/printf-frexpl.m4: New file.
48502
48503 2007-02-25  Bruno Haible  <bruno@clisp.org>
48504
48505         * modules/printf-frexp-tests: New file.
48506         * tests/test-printf-frexp.c: New file.
48507
48508         * modules/printf-frexp: New file.
48509         * lib/printf-frexp.h: New file.
48510         * lib/printf-frexp.c: New file.
48511         * m4/printf-frexp.m4: New file.
48512
48513 2007-02-25  Bruno Haible  <bruno@clisp.org>
48514
48515         Assume automake >= 1.10 for the tests.
48516         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
48517         * modules/arctwo-tests: Likewise.
48518         * modules/argp-tests: Likewise.
48519         * modules/avltree-list-tests: Likewise.
48520         * modules/avltree-oset-tests: Likewise.
48521         * modules/avltreehash-list-tests: Likewise.
48522         * modules/carray-list-tests: Likewise.
48523         * modules/crc-tests: Likewise.
48524         * modules/des-tests: Likewise.
48525         * modules/gc-arcfour-tests: Likewise.
48526         * modules/gc-arctwo-tests: Likewise.
48527         * modules/gc-des-tests: Likewise.
48528         * modules/gc-hmac-md5-tests: Likewise.
48529         * modules/gc-hmac-sha1-tests: Likewise.
48530         * modules/gc-md2-tests: Likewise.
48531         * modules/gc-md4-tests: Likewise.
48532         * modules/gc-md5-tests: Likewise.
48533         * modules/gc-pbkdf2-sha1-tests: Likewise.
48534         * modules/gc-rijndael-tests: Likewise.
48535         * modules/gc-sha1-tests: Likewise.
48536         * modules/gc-tests: Likewise.
48537         * modules/getaddrinfo-tests: Likewise.
48538         * modules/hmac-md5-tests: Likewise.
48539         * modules/hmac-sha1-tests: Likewise.
48540         * modules/linked-list-tests: Likewise.
48541         * modules/linkedhash-list-tests: Likewise.
48542         * modules/lock-tests: Likewise.
48543         * modules/md2-tests: Likewise.
48544         * modules/md4-tests: Likewise.
48545         * modules/md5-tests: Likewise.
48546         * modules/rbtree-list-tests: Likewise.
48547         * modules/rbtree-oset-tests: Likewise.
48548         * modules/rbtreehash-list-tests: Likewise.
48549         * modules/read-file-tests: Likewise.
48550         * modules/rijndael-tests: Likewise.
48551         * modules/stdint-tests: Likewise.
48552         * modules/tls-tests: Likewise.
48553
48554 2007-02-24  Bruno Haible  <bruno@clisp.org>
48555
48556         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
48557         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
48558         function; instead check whether isnan with a double argument links.
48559         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
48560         function; instead check whether isnan with a 'long double' argument
48561         links.
48562         Reported by Eric Blake <ebb9@byu.net>.
48563
48564 2007-02-24  Bruno Haible  <bruno@clisp.org>
48565
48566         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
48567         defined.
48568         * lib/isnanl.c: Remove all code. Just include isnan.c.
48569         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
48570
48571 2007-02-25  Jim Meyering  <jim@meyering.net>
48572
48573         Avoid conflicting types for 'unsetenv' on FreeBSD.
48574         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
48575         conflicting with FreeBSD's (5.0 and 6.1) function declaration
48576         in stdlib.h.
48577
48578 2007-02-24  Bruno Haible  <bruno@clisp.org>
48579
48580         * modules/isnanl-nolibm-tests: New file.
48581         * tests/test-isnanl.c: New file.
48582
48583         * modules/isnanl-nolibm: New file.
48584         * lib/isnanl.h: New file.
48585         * lib/isnanl.c: New file.
48586         * m4/isnanl.m4: New file.
48587
48588 2007-02-24  Bruno Haible  <bruno@clisp.org>
48589
48590         * modules/isnan-nolibm-tests: New file.
48591         * tests/test-isnan.c: New file.
48592
48593         * modules/isnan-nolibm: New file.
48594         * lib/isnan.h: New file.
48595         * lib/isnan.c: New file.
48596         * m4/isnan.m4: New file.
48597
48598 2007-02-24  Bruno Haible  <bruno@clisp.org>
48599
48600         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
48601         assume that an exponent fits in 20 bits.
48602
48603 2007-02-24  Jim Meyering  <jim@meyering.net>
48604
48605         * m4/regex.m4: Update the description of the configure-time option,
48606         --without-included-regex, to state accurately what the defaults are,
48607         and perhaps to give people an idea why using this option is risky.
48608
48609 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48610
48611         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
48612         loops on small arguments.  This attempts to avoid the problem
48613         Bruno Haible reported for AIX 4.3.2 in
48614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
48615
48616 2007-02-23  Bruno Haible  <bruno@clisp.org>
48617
48618         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
48619         Needed for help2man.
48620
48621 2007-02-23  Karl Berry  <karl@gnu.org>
48622
48623         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
48624         exists, foo.h should be cvs-ignored, not committed.
48625
48626 2007-02-23  Eric Blake  <ebb9@byu.net>
48627
48628         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
48629         * lib/stat-time.h (includes): Likewise.
48630         * lib/utimecmp.c (includes): Likewise.
48631         * lib/utimens.h (includes): Likewise.
48632         * lib/getdate.y (includes): Also include "timespec.h" for use
48633         internal to the module.
48634         * modules/utimens (Depends-on): Revert yesterday's patch.
48635         * modules/nanosleep (Depends-on): Add missing dependency.
48636
48637 2007-02-22  Bruno Haible  <bruno@clisp.org>
48638
48639         * lib/glob.c: Don't include getlogin_r.h.
48640
48641 2007-02-22  Jim Meyering  <jim@meyering.net>
48642
48643         * modules/utimens (Depends-on): Add timespec, required for
48644         utimens.h's inclusion of timespec.h.
48645
48646 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
48647
48648         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
48649         long unreadable paths in GNU/Linux.  Problem reported by Andreas
48650         Schwab in
48651         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
48652         I'll try to think of a better way to fix the Solaris problem.
48653
48654         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
48655         like glibc; on Solaris 10, it fails with errno == EINVAL.
48656         POSIX says the behavior is unspecified if the first argument is NULL,
48657         so play it safe and never pass NULL to the system getcwd.
48658
48659 2007-02-21  Jim Meyering  <jim@meyering.net>
48660
48661         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
48662         of gettimeofday.  It would conflict with the one now always
48663         provided via sys_time_.h.  Reported by Matthew Woehlke, as
48664         an IRIX 6.5 build failure.
48665
48666 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48667
48668         Minor fixups to port to Solaris 10 with Sun C 5.8.
48669         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
48670         * modules/getcwd (Depends-on): Add dirfd.
48671         * lib/putenv.c (putenv): #undef it.
48672         (rpl_putenv): New decl.
48673         (malloc, free): Include <stdlib.h> rather than prototyping separately.
48674
48675 2007-02-20  Bruno Haible  <bruno@clisp.org>
48676
48677         * modules/stdio-tests: New file.
48678         * tests/test-stdio.c: New file.
48679
48680         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
48681         (Depends-on): Add stdio.
48682         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
48683         (Include): Use <stdio.h> instead of vsnprintf.h.
48684         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
48685         HAVE_DECL_VSNPRINTF.
48686         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
48687
48688         * modules/snprintf (Files): Remove lib/snprintf.h.
48689         (Depends-on): Add stdio.
48690         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
48691         (Include): Use <stdio.h> instead of snprintf.h.
48692         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
48693         HAVE_DECL_SNPRINTF.
48694         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
48695         * lib/getaddrinfo.c: Likewise.
48696
48697         * modules/stdio: New file.
48698         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
48699         * lib/snprintf.h: Remove file.
48700         * lib/vsnprintf.h: Remove file.
48701         * lib/.cppi-disable: Remove snprintf.h.
48702         * m4/stdio_h.m4: New file.
48703         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
48704
48705 2007-02-20  Jim Meyering  <jim@meyering.net>
48706
48707         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
48708         used by e.g., mingw.  From Bruno Haible.
48709
48710 2007-02-19  Bruno Haible  <bruno@clisp.org>
48711
48712         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
48713         warnings.
48714         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48715
48716 2007-02-19  Bruno Haible  <bruno@clisp.org>
48717
48718         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
48719         from mingw users.
48720
48721 2007-02-19  Bruno Haible  <bruno@clisp.org>
48722
48723         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
48724         warnings.
48725         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
48726
48727 2007-02-19  Jim Meyering  <jim@meyering.net>
48728
48729         Don't use FD after a successful "fdopendir (fd)".
48730         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
48731         Reset it by calling dirfd on the just-obtained DIR*.
48732
48733         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
48734         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
48735
48736 2007-02-18  Bruno Haible  <bruno@clisp.org>
48737
48738         * lib/readlink.c: Include <unistd.h>.
48739         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
48740         HAVE_READLINK.
48741         * modules/readlink (Depends-on): Add unistd.
48742         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48743         (Include): Add <unistd.h>.
48744
48745         * lib/getlogin_r.h: Remove file.
48746         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
48747         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
48748         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
48749         HAVE_DECL_GETLOGIN_R.
48750         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
48751         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48752         (Include): Use <unistd.h> instead of getlogin_r.h.
48753
48754         * lib/getcwd.h: Remove file.
48755         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
48756         * lib/xgetcwd.c: Likewise.
48757         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
48758         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
48759         * modules/getcwd (Files): Remove lib/getcwd.h.
48760         (Depends-on): Add unistd.
48761         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48762         (Include): Use <unistd.h> instad of getcwd.h.
48763
48764         * lib/ftruncate.c: Include <unistd.h> first.
48765         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
48766         Set HAVE_FTRUNCATE.
48767         * modules/ftruncate (Depends-on): Add unistd.
48768         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48769
48770         * lib/fchdir.c: Include <unistd.h> first.
48771         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
48772         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
48773         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
48774         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48775         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
48776
48777         * lib/dup2.c: Include <unistd.h> first.
48778         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
48779         HAVE_DUP2.
48780         * modules/dup2 (Depends-on): Add unistd.
48781         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48782
48783         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
48784         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
48785         REPLACE_CHOWN. Don't define chown as a macro here.
48786         * modules/chown (Depends-on): Add unistd.
48787         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48788
48789         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
48790         Add definition for GL_LINK_WARNING.
48791         (chown, dup2): New declarations.
48792         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
48793         link warning.
48794         (ftruncate): New declaration.
48795         (getcwd): New declaration, taken from old getcwd.h.
48796         (getlogin_r): New declaration, taken from old getlogin_r.h.
48797         (readlink): New declaration.
48798         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
48799         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
48800         (gl_PREREQ_UNISTD): Remove macro.
48801         (gl_UNISTD_MODULE_INDICATOR): New macro.
48802         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
48803         many new variables. Don't set UNISTD_H.
48804         * modules/unistd (Description): Change.
48805         (Depends-on): Add link-warning.
48806         (configure.ac): Update.
48807         (Makefile.am): Create unistd.h always. Substitute many new variables
48808         into it.
48809
48810 2007-02-18  Bruno Haible  <bruno@clisp.org>
48811
48812         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
48813         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
48814         HAVE_GETSUBOPT.
48815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
48816         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
48817         * lib/getsubopt.h: Remove file.
48818         * modules/getsubopt (Files): Remove lib/getsubopt.h.
48819         (Depends-on): Add stdlib.
48820         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48821         (Includes): Use <stdlib.h> instead of getsubopt.h.
48822         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
48823         Set HAVE_GETSUBOPT.
48824         * lib/getsubopt.c: Don't include getsubopt.h.
48825
48826 2007-02-18  Bruno Haible  <bruno@clisp.org>
48827
48828         * modules/fchdir (Depends-on): Add dup2.
48829
48830 2007-02-18  Bruno Haible  <bruno@clisp.org>
48831
48832         * lib/stdlib_.h: Handle glibc's special invocation convention
48833         specially.
48834
48835 2007-02-18  Bruno Haible  <bruno@clisp.org>
48836
48837         * modules/stdlib-tests: New file.
48838         * tests/test-stdlib.c: New file.
48839
48840         * modules/mkstemp (Files): Remove lib/mkstemp.h.
48841         (Depends-on): Add stdlib.
48842         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48843         (Includes): Use <stdlib.h> instead of mkstemp.h.
48844         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
48845         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
48846         * lib/mkstemp.c: Don't include mkstemp.h.
48847         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
48848         * lib/stdlib--.h: Don't include mkstemp.h.
48849
48850         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
48851         (Depends-on): Add stdlib.
48852         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48853         (Includes): Use <stdlib.h> instead of mkdtemp.h.
48854         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
48855         HAVE_MKDTEMP.
48856         * lib/mkdtemp.c: Don't include mkdtemp.h.
48857         * lib/clean-temp.c: Don't include mkdtemp.h.
48858
48859         * modules/exit (Files): Remove lib/exit.h.
48860         (Depends-on): Add stdlib.
48861         (Makefile.am): Remove lib_SOURCES.
48862         (Include): Use <stdlib.h> instead of exit.h.
48863         * lib/argmatch.c: Don't include exit.h.
48864         * lib/execute.c: Likewise.
48865         * lib/pagealign_alloc.c: Likewise.
48866         * lib/pipe.c: Likewise.
48867         * lib/wait-process.c: Likewise.
48868         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
48869         * lib/exitfail.c: Likewise.
48870         * lib/savewd.c: Likewise.
48871         * lib/xsetenv.c: Likewise.
48872
48873         * modules/stdlib: New file.
48874         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
48875         and extra comments about mkstemp().
48876         * lib/exit.h: Remove file.
48877         * lib/mkdtemp.h: Remove file.
48878         * lib/mkstemp.h: Remove file.
48879         * m4/stdlib_h.m4: New file.
48880         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
48881
48882 2007-02-18  Bruno Haible  <bruno@clisp.org>
48883
48884         * modules/math-tests: New file.
48885         * tests/test-math.c: New file.
48886
48887         * modules/math: New file.
48888         * modules/mathl (Files): Remove lib/mathl.h.
48889         (Depends-on): Add math.
48890         (Makefile.am): Don't mention mathl.h.
48891         (Include): Use <math.h> instead of mathl.h.
48892         * lib/math_.h: New file.
48893         * lib/mathl.h: Remove file.
48894         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
48895         mathl.h.
48896         * lib/asinl.c: Likewise.
48897         * lib/atanl.c: Likewise.
48898         * lib/ceill.c: Likewise.
48899         * lib/cosl.c: Likewise.
48900         * lib/expl.c: Likewise.
48901         * lib/floorl.c: Likewise.
48902         * lib/frexpl.c: Likewise.
48903         * lib/ldexpl.c: Likewise.
48904         * lib/logl.c: Likewise.
48905         * lib/sincosl.c: Likewise.
48906         * lib/sinl.c: Likewise.
48907         * lib/sqrtl.c: Likewise.
48908         * lib/tanl.c: Likewise.
48909         * lib/trigl.c: Likewise.
48910         * m4/math_h.m4: New file.
48911         * MODULES.html.sh (Mathematics): Add math.
48912
48913 2007-02-17  Bruno Haible  <bruno@clisp.org>
48914
48915         * modules/wctype-tests: New file.
48916         * tests/test-wctype.c: New file.
48917
48918         * modules/wchar-tests: New file.
48919         * tests/test-wchar.c: New file.
48920
48921         * modules/unistd-tests: New file.
48922         * tests/test-unistd.c: New file.
48923
48924         * modules/time-tests: New file.
48925         * tests/test-time.c: New file.
48926
48927         * modules/sysexits-tests: New file.
48928         * tests/test-sysexits.c: New file.
48929
48930         * modules/sys_time-tests: New file.
48931         * tests/test-sys_time.c: New file.
48932
48933         * modules/sys_stat-tests: New file.
48934         * tests/test-sys_stat.c: New file.
48935
48936         * modules/sys_socket-tests: New file.
48937         * tests/test-sys_socket.c: New file.
48938
48939         * modules/sys_select-tests: New file.
48940         * tests/test-sys_select.c: New file.
48941
48942         * modules/string-tests: New file.
48943         * tests/test-string.c: New file.
48944
48945         * modules/stdbool-tests: New file.
48946         * tests/test-stdbool.c: New file.
48947
48948         * modules/netinet_in-tests: New file.
48949         * tests/test-netinet_in.c: New file.
48950
48951         * modules/inttypes-tests: New file.
48952         * tests/test-inttypes.c: New file.
48953
48954         * modules/fcntl-tests: New file.
48955         * tests/test-fcntl.c: New file.
48956
48957         * modules/byteswap-tests: New file.
48958         * tests/test-byteswap.c: New file.
48959
48960         * modules/arpa_inet-tests: New file.
48961         * tests/test-arpa_inet.c: New file.
48962
48963 2007-02-17  Bruno Haible  <bruno@clisp.org>
48964
48965         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
48966         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
48967         if the corresponding module is not enabled. Emit link warnings if
48968         the function is used nevertheless.
48969         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
48970         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
48971         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
48972         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
48973         * modules/inttypes (Depends-on): Add link-warning.
48974         (Makefile.am): Copy the contents of build-aux/link-warning.h into
48975         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
48976         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
48977         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
48978         * modules/imaxdiv (configure.ac): Likewise.
48979         * modules/strtoimax (configure.ac): Likewise.
48980         * modules/strtoumax (configure.ac): Likewise.
48981
48982 2007-02-17  Bruno Haible  <bruno@clisp.org>
48983
48984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
48985         gl_STRING_MODULE_INDICATOR_DEFAULTS.
48986         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
48987         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
48988
48989 2007-02-17  Bruno Haible  <bruno@clisp.org>
48990
48991         * modules/link-warning: New file.
48992         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
48993         * lib/string_.h (GL_LINK_WARNING): Remove definition.
48994         * modules/string (Depends-on): Add link-warning.
48995         (Makefile.am): Copy the contents of build-aux/link-warning.h into
48996         string.h.
48997         * MODULES.html.sh (Support for building libraries and executables): Add
48998         link-warning.
48999
49000 2007-02-17  Bruno Haible  <bruno@clisp.org>
49001
49002         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
49003         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
49004         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
49005         long lines.
49006
49007 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
49008             Bruno Haible  <bruno@clisp.org>
49009
49010         * modules/tmpfile: New file.
49011         * lib/tmpfile.c: New file.
49012         * m4/tmpfile.m4: New file.
49013         * MODULES.html.sh (func_all_modules): New section "Input/output".
49014
49015 2007-02-15  Bruno Haible  <bruno@clisp.org>
49016
49017         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
49018         (supports_delete_on_close): New function.
49019         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
49020
49021 2007-02-14  Bruno Haible  <bruno@clisp.org>
49022
49023         * modules/mbspcasecmp-tests: New file.
49024         * tests/test-mbspcasecmp.sh: New file.
49025         * tests/test-mbspcasecmp.c: New file.
49026
49027         New module mbspcasecmp.
49028         * modules/mbspcasecmp: New file.
49029         * lib/mbspcasecmp.c: New file.
49030         * lib/string_.h (strncasecmp): Change warning message.
49031         (mbspcasecmp): New declaration.
49032         * m4/mbspcasecmp.m4: New file.
49033         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49034         GNULIB_MBSPCASECMP.
49035         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
49036         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
49037
49038 2007-02-14  Bruno Haible  <bruno@clisp.org>
49039
49040         * modules/mbsncasecmp-tests: New file.
49041         * tests/test-mbsncasecmp.sh: New file.
49042         * tests/test-mbsncasecmp.c: New file.
49043
49044         New module mbsncasecmp.
49045         * modules/mbsncasecmp: New file.
49046         * lib/mbsncasecmp.c: New file.
49047         * lib/string_.h (mbsncasecmp): New declaration.
49048         * m4/mbsncasecmp.m4: New file.
49049         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49050         GNULIB_MBSNCASECMP.
49051         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
49052         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
49053
49054 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
49055
49056         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
49057         Verify that it doesn't overlap with our flags.
49058         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
49059         do not have the desired effect in multibyte locales; instead, use
49060         mbscasecmp.
49061         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
49062         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
49063         we don't require GNU fnmatch ourselves (if our users require it, they
49064         should do so explicitly).
49065
49066         Fix regex code so it doesn't rely on strcasecmp.
49067         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
49068         Otherwise, include gnulib's langinfo.h.
49069         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
49070         undesirable behavior in non-C locales.  Instead, rely on localecharset.
49071         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
49072         * modules/regex (FILES): Remove m4/codeset.m4.
49073         (Depends-on): Add localcharset.  Remove strcase.
49074
49075 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49076
49077         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
49078         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
49079
49080 2007-02-13  Bruno Haible  <bruno@clisp.org>
49081
49082         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
49083         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49084
49085 2007-02-12  Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
49088         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
49089         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
49090         time warning rather than a link error.
49091
49092 2007-02-12  Bruno Haible  <bruno@clisp.org>
49093
49094         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
49095         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49096         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49097
49098 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
49099
49100         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
49101         args, not 2.
49102
49103 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
49104
49105         New module 'time', so that apps can include <time.h> as per
49106         POSIX and GNU instead of separate include files like time_r.h
49107         and timegm.h.  This implementation tries out a simpler approach
49108         for replacing decls in standard include files (as compared to
49109         the string module), somewhat as an experiment.
49110
49111         * config/srclist.txt: Comment out mktime.c for now.
49112         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
49113         since it doesn't apply any more.  Use generic wording instead.
49114         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
49115         'time'.
49116         * lib/time_.h, m4/time_h.m4, modules/time: New files.
49117         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
49118         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
49119         Don't include <sys/types.h>; no longer needed since we assume C89.
49120         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
49121         * lib/strftime.c: Likewise.
49122         * lib/time_r.c: Likewise.
49123         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
49124         * lib/nanosleep.c: Include <time.h> first, to check interface.
49125         * lib/strptime.c: Likewise.
49126         * lib/time_r.c: Likewise.
49127         * lib/timegm.c: Likewise.
49128         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
49129         needed.
49130         * lib/timegm.c: Don't include timegm.h; no longer needed.
49131         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
49132         time.h now handles any problems in that area.
49133         (struct timespec, nanosleep): Remove; time.h now arranges for these.
49134         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
49135         that time.h defines struct timespec.
49136         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
49137         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
49138         handles that.
49139         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
49140         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
49141         needed.  Set REPLACE_LOCALTIME.
49142         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
49143         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
49144         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
49145         nanosleep; time_h.m4 now does that.  Don't require
49146         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
49147         module handles this now.
49148         * modules/getdate (Depends-on): Remove timespec.  Add time.
49149         * modules/nanosleep (Depends-on): Likewise.
49150         * modules/stat-time (Depends-on): Likewise.
49151         * modules/nanosleep (Include): Include time.h, not timespec.h.
49152         * modules/strptime (Files): Remove lib/strptime.h.
49153         (Depends-on): Add extensions, time.
49154         (Include): Include time.h, not strptime.h.
49155         * modules/time_r (Files): Remove lib/time_r.h.
49156         (Depends-on): Add time.
49157         (Include): Include time.h, not time_r.h.
49158         * modules/timegm: Likewise.
49159         * modules/timespec (Description): Now does timespec-related decls
49160         of our own, instead of struct timespec itself.
49161         (Depends-on): Add time; remove extensions.
49162         (Maintainer): Add self.
49163         * modules/utimecmp (Depends-on): Add time; remove timespec.
49164         * modules/utimens (Depends-on): Likewise.
49165         * modules/xnanosleep (Depends-on): Likewise.
49166
49167 2007-02-11  Bruno Haible  <bruno@clisp.org>
49168
49169         * lib/c-strstr.c: Include allocsa.h.
49170         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49171         * lib/c-strcasestr.c: Include allocsa.h.
49172         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49173         * lib/strcasestr.c: Include allocsa.h.
49174         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49175         * lib/mbsstr.c: Include allocsa.h.
49176         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
49177         allocsa/freesa instead of malloc/free.
49178         * lib/mbscasestr.c: Include allocsa.h.
49179         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
49180         allocsa/freesa instead of malloc/free.
49181         * modules/c-strstr (Depends-on): Add allocsa.
49182         * modules/c-strcasestr (Depends-on): Likewise.
49183         * modules/strcasestr (Depends-on): Likewise.
49184         * modules/mbsstr (Depends-on): Likewise.
49185         * modules/mbscasestr (Depends-on): Likewise.
49186
49187 2007-02-11  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
49190
49191         * modules/mbsspn-tests: New file.
49192         * tests/test-mbsspn.sh: New file.
49193         * tests/test-mbsspn.c: New file.
49194
49195 2007-02-11  Bruno Haible  <bruno@clisp.org>
49196
49197         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
49198
49199         * modules/mbspbrk-tests: New file.
49200         * tests/test-mbspbrk.sh: New file.
49201         * tests/test-mbspbrk.c: New file.
49202
49203 2007-02-11  Bruno Haible  <bruno@clisp.org>
49204
49205         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
49206         unneeded cast.
49207
49208         * modules/mbscspn-tests: New file.
49209         * tests/test-mbscspn.sh: New file.
49210         * tests/test-mbscspn.c: New file.
49211
49212 2007-02-11  Bruno Haible  <bruno@clisp.org>
49213
49214         * modules/mbscasecmp-tests: New file.
49215         * tests/test-mbscasecmp.sh: New file.
49216         * tests/test-mbscasecmp.c: New file.
49217
49218 2007-02-11  Bruno Haible  <bruno@clisp.org>
49219
49220         Ensure O(n) worst-case complexity of mbscasestr.
49221         * lib/mbscasestr.c: Include stdbool.h.
49222         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
49223         functions.
49224         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
49225         the bookkeeping indicates that it's worth it.
49226         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
49227
49228         * modules/mbscasestr-tests: New file.
49229         * tests/test-mbscasestr1.c: New file.
49230         * tests/test-mbscasestr2.sh: New file.
49231         * tests/test-mbscasestr2.c: New file.
49232         * tests/test-mbscasestr3.sh: New file.
49233         * tests/test-mbscasestr3.c: New file.
49234         * tests/test-mbscasestr4.sh: New file.
49235         * tests/test-mbscasestr4.c: New file.
49236         * m4/locale-tr.m4: New file.
49237
49238 2007-02-11  Bruno Haible  <bruno@clisp.org>
49239
49240         Ensure O(n) worst-case complexity of mbsstr.
49241         * lib/mbsstr.c: Include stdbool.h.
49242         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
49243         functions.
49244         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
49245         bookkeeping indicates that it's worth it.
49246         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
49247
49248         * modules/mbsstr-tests: New file.
49249         * tests/test-mbsstr1.c: New file.
49250         * tests/test-mbsstr2.sh: New file.
49251         * tests/test-mbsstr2.c: New file.
49252         * tests/test-mbsstr3.sh: New file.
49253         * tests/test-mbsstr3.c: New file.
49254         * m4/locale-fr.m4: New file.
49255
49256 2007-02-11  Bruno Haible  <bruno@clisp.org>
49257
49258         * lib/mbsrchr.c (mbsrchr): Fix bug.
49259
49260         * modules/mbsrchr-tests: New file.
49261         * tests/test-mbsrchr.sh: New file.
49262         * tests/test-mbsrchr.c: New file.
49263
49264 2007-02-11  Bruno Haible  <bruno@clisp.org>
49265
49266         * lib/mbschr.c (mbschr): Fix bug.
49267
49268         * modules/mbschr-tests: New file.
49269         * tests/test-mbschr.sh: New file.
49270         * tests/test-mbschr.c: New file.
49271         * m4/locale-zh.m4: New file.
49272
49273 2007-02-11  Bruno Haible  <bruno@clisp.org>
49274
49275         Support for copying multibyte string iterators.
49276         * lib/mbiter.h: Include <string.h>.
49277         (mbiter_multi_copy): New function.
49278         (mbi_copy): New macro.
49279         * lib/mbuiter.h: Include <string.h>.
49280         (mbuiter_multi_copy): New function.
49281         (mbui_copy): New macro.
49282
49283 2007-02-11  Bruno Haible  <bruno@clisp.org>
49284
49285         New module mbslen.
49286         * modules/mbslen: New file.
49287         * lib/mbslen.c: New file.
49288         * lib/string_.h (mbslen): New declaration.
49289         * m4/mbslen.m4: New file.
49290         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49291         GNULIB_MBSLEN.
49292         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
49293         * MODULES.html.sh (Internationalization functions): Add mbslen.
49294
49295 2007-02-11  Bruno Haible  <bruno@clisp.org>
49296
49297         Ensure O(n) worst-case complexity of strcasestr substitute.
49298         * lib/strcasestr.c: Include stdbool.h.
49299         (knuth_morris_pratt): New function.
49300         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
49301         bookkeeping indicates that it's worth it.
49302         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
49303
49304         * modules/strcasestr-tests: New file.
49305         * tests/test-strcasestr.c: New file.
49306
49307 2007-02-11  Bruno Haible  <bruno@clisp.org>
49308
49309         Ensure O(n) worst-case complexity of c_strcasestr.
49310         * lib/c-strcasestr.c: Include stdbool.h, string.h.
49311         (knuth_morris_pratt): New function.
49312         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
49313         the bookkeeping indicates that it's worth it.
49314         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
49315
49316         * modules/c-strcasestr-tests: New file.
49317         * tests/test-c-strcasestr.c: New file.
49318
49319 2007-02-11  Bruno Haible  <bruno@clisp.org>
49320
49321         Ensure O(n) worst-case complexity of c_strstr.
49322         * lib/c-strstr.c: Include stdbool.h, string.h.
49323         (knuth_morris_pratt): New function.
49324         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
49325         bookkeeping indicates that it's worth it.
49326         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
49327
49328         * lib/c-strstr.c: Complete rewrite for maintainability.
49329
49330         * modules/c-strstr-tests: New file.
49331         * tests/test-c-strstr.c: New file.
49332
49333 2007-02-11  Bruno Haible  <bruno@clisp.org>
49334
49335         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
49336         5.2.1 and earlier, whereby \055 was treated just like the range
49337         delimiter '-'.
49338         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49339
49340 2007-02-08  Bruno Haible  <bruno@clisp.org>
49341
49342         * modules/regex (Depends-on): Add stdbool.
49343         Reported by Dalibor Topic <robilad@kaffe.org>.
49344
49345 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
49346
49347         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
49348         Prefer returning from main to exiting from it.
49349         Remove unnecessary parens after sizeof.
49350
49351 2007-02-05  Bruno Haible  <bruno@clisp.org>
49352
49353         New module mbssep.
49354         * modules/mbssep: New file.
49355         * lib/mbssep.c: New file.
49356         * lib/string_.h (strsep): Add a conditional link warning.
49357         (mbssep): New declaration.
49358         * m4/mbssep.m4: New file.
49359         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49360         GNULIB_MBSSEP.
49361         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
49362         * MODULES.html.sh (Internationalization functions): Add mbssep.
49363
49364 2007-02-05  Bruno Haible  <bruno@clisp.org>
49365
49366         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
49367         Optimize search in case of 1 delimiter.
49368
49369 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
49370
49371         * lib/acl.h: Include sys/types.h before sys/acl.h.
49372
49373 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
49374
49375         Merge upstream fix for glibc bugzilla #3957:
49376
49377         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
49378
49379         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
49380         bit for RE_HAT_LISTS_NOT_NEWLINE.
49381         (build_charclass_op): Remove bogus comment.
49382
49383 2007-02-05  Simon Josefsson  <simon@josefsson.org>
49384
49385         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
49386
49387 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
49388
49389         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
49390         * lib/memmem.c [!defined _LIBC]: Include config.h.
49391
49392 2007-02-04  Bruno Haible  <bruno@clisp.org>
49393
49394         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
49395         warning message.
49396
49397 2007-02-04  Bruno Haible  <bruno@clisp.org>
49398
49399         New module mbstok_r.
49400         * modules/mbstok_r: New file.
49401         * lib/mbstok_r.c: New file.
49402         * lib/string_.h (strtok_r): Change argument names to match the
49403         comments. Add a conditional link warning.
49404         (mbstok_r): New declaration.
49405         * m4/mbstok_r.m4: New file.
49406         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49407         GNULIB_MBSTOK_R.
49408         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
49409         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
49410
49411 2007-02-04  Bruno Haible  <bruno@clisp.org>
49412
49413         New module mbsspn.
49414         * modules/mbsspn: New file.
49415         * lib/mbsspn.c: New file.
49416         * lib/string_.h (strspn): Add a conditional link warning.
49417         (mbsspn): New declaration.
49418         * m4/mbsspn.m4: New file.
49419         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49420         GNULIB_MBSSPN.
49421         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
49422         * MODULES.html.sh (Internationalization functions): Add mbsspn.
49423
49424 2007-02-04  Bruno Haible  <bruno@clisp.org>
49425
49426         New module mbspbrk.
49427         * modules/mbspbrk: New file.
49428         * lib/mbspbrk.c: New file.
49429         * lib/string_.h (strpbrk): Add a conditional link warning.
49430         (mbspbrk): New declaration.
49431         * m4/mbspbrk.m4: New file.
49432         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49433         GNULIB_MBSPBRK.
49434         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
49435         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
49436
49437 2007-02-04  Bruno Haible  <bruno@clisp.org>
49438
49439         New module mbscspn.
49440         * modules/mbscspn: New file.
49441         * lib/mbscspn.c: New file.
49442         * lib/string_.h (strcspn): Add a conditional link warning.
49443         (mbscspn): New declaration.
49444         * m4/mbscspn.m4: New file.
49445         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49446         GNULIB_MBSCSPN.
49447         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
49448         * MODULES.html.sh (Internationalization functions): Add mbscspn.
49449
49450 2007-02-04  Bruno Haible  <bruno@clisp.org>
49451
49452         New module mbscasestr, reduced goal of strcasestr.
49453         * modules/mbscasestr: New file.
49454         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
49455         (mbscasestr): Renamed from strcasestr.
49456         * lib/strcasestr.c: Don't include mbuiter.h.
49457         (strcasestr): Remove support for multibyte locales.
49458         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
49459         Change the conditional link warning.
49460         (mbscasestr): New declaration.
49461         * m4/mbscasestr.m4: New file.
49462         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
49463         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
49464         REPLACE_STRCASESTR.
49465         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
49466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49467         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
49468         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
49469         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
49470         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
49471         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
49472         (Depends-on): Remove mbuiter.
49473         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
49474
49475 2007-02-04  Bruno Haible  <bruno@clisp.org>
49476
49477         Simplify handling of strncasecmp.
49478         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
49479         the conditional link warning.
49480         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49481         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
49482         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
49483         * modules/strcase (configure.ac): Don't invoke
49484         gl_STRING_MODULE_INDICATOR.
49485         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
49486
49487 2007-02-04  Bruno Haible  <bruno@clisp.org>
49488
49489         New module mbscasecmp, reduced goal of strcasecmp.
49490         * modules/mbscasecmp: New file.
49491         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
49492         (mbscasecmp): Renamed from strcasecmp.
49493         * lib/strcasecmp.c: Don't include mbuiter.h.
49494         (strcasecmp): Remove support for multibyte locales.
49495         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
49496         Change the conditional link warning.
49497         (mbscasecmp): New declaration.
49498         * m4/mbscasecmp.m4: New file.
49499         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
49500         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
49501         REPLACE_STRCASECMP.
49502         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
49503         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49504         GNULIB_MBSCASECMP.
49505         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
49506         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
49507         * modules/strcase (Files): Remove m4/mbrtowc.m4.
49508         (Depends-on): Remove mbuiter.
49509         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
49510
49511 2007-02-04  Bruno Haible  <bruno@clisp.org>
49512
49513         New module mbsstr. Remove module strstr.
49514         * modules/mbsstr: New file.
49515         * modules/strstr: Remove file.
49516         * lib/mbsstr.c: Renamed from lib/strstr.c.
49517         (mbsstr): Renamed from strstr.
49518         * lib/string_.h (strstr): Remove declaration. Change the conditional
49519         link warning.
49520         (mbsstr): New declaration.
49521         * m4/mbsstr.m4: New file.
49522         * m4/strstr.m4: Remove file.
49523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
49524         REPLACE_STRSTR.
49525         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
49526         Don't initialize GNULIB_STRSTR.
49527         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
49528         substitute GNULIB_STRSTR and REPLACE_STRSTR.
49529         * MODULES.html.sh (Internationalization functions): Add mbsstr.
49530         (Support for systems lacking ANSI C 89): Remove strstr.
49531
49532 2007-02-04  Bruno Haible  <bruno@clisp.org>
49533
49534         New module mbsrchr.
49535         * modules/mbsrchr: New file.
49536         * lib/mbsrchr.c: New file.
49537         * lib/string_.h (strrchr): Add a conditional link warning.
49538         (mbsrchr): New declaration.
49539         * m4/mbsrchr.m4: New file.
49540         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49541         GNULIB_MBSRCHR.
49542         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
49543         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
49544
49545 2007-02-04  Bruno Haible  <bruno@clisp.org>
49546
49547         New module mbschr.
49548         * modules/mbschr: New file.
49549         * lib/mbschr.c: New file.
49550         * lib/string_.h (strchr): Add a conditional link warning.
49551         (mbschr): New declaration.
49552         * m4/mbschr.m4: New file.
49553         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49554         GNULIB_MBSCHR.
49555         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
49556         * MODULES.html.sh (Internationalization functions): Add mbschr.
49557
49558 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
49559
49560         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
49561
49562         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
49563
49564 2007-02-04  Bruno Haible  <bruno@clisp.org>
49565
49566         New module description section 'configure.ac-early'.
49567         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
49568         (func_get_autoconf_early_snippet): New function.
49569         (func_import, func_create_testdir): Use it. Remove special cases for
49570         modules 'extensions' and 'lock'.
49571         * modules/extensions (configure.ac-early): Require
49572         gl_USE_SYSTEM_EXTENSIONS.
49573         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
49574
49575 2007-02-04  Bruno Haible  <bruno@clisp.org>
49576
49577         Make use of gcj-4.3's -fsource and -ftarget option.
49578         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
49579         and if so try the options -fsource and -ftarget.
49580         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
49581         source_version, ftarget_option, target_version arguments.
49582         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
49583         (is_envjavac_oldgcj_14_14_usable): Renamed from
49584         is_envjavac_gcj_14_14_usable.
49585         (is_envjavac_oldgcj_14_13_usable): Renamed from
49586         is_envjavac_gcj_14_13_usable.
49587         (is_gcj_present): Update.
49588         (is_gcj_43, is_gcj43_usable): New functions.
49589         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
49590         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
49591         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
49592         try the options -fsource and -ftarget.
49593
49594 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49595
49596         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
49597         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
49598         larger value.
49599
49600 2007-02-03  Jim Meyering  <jim@meyering.net>
49601
49602         Give tools a better chance to allocate space for very large buffers.
49603         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
49604
49605         Make pwd and readlink work also when run with an unreadable parent dir
49606         on systems with openat support.
49607         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
49608         provided getcwd function, even when we have openat support.
49609         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
49610
49611 2007-02-02  Bruno Haible  <bruno@clisp.org>
49612
49613         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
49614         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
49615         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
49616         portability problems if one of these functions is only used on specific
49617         platforms.
49618         Reported by Paul Eggert.
49619
49620 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
49621
49622         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
49623         is causing more trouble than it's curing.
49624         * lib/regex_internal.h (__mempcpy): Remove.
49625         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
49626         (and make the code a tad smaller to boot).
49627         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
49628
49629 2007-02-02  Jim Meyering  <jim@meyering.net>
49630
49631         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
49632         section, not in the Makefile.am: one.
49633
49634 2007-02-02  Eric Blake  <ebb9@byu.net>
49635
49636         * lib/strchrnul.c: Always include config.h first.
49637
49638         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
49639         gnulib strstr is not necessary here.
49640
49641 2007-02-02  Simon Josefsson  <simon@josefsson.org>
49642
49643         * m4/socklen.m4: Fix typo.
49644
49645 2007-02-02  Eric Blake  <ebb9@byu.net>
49646
49647         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
49648         * modules/netinet_in (Makefile.am): Likewise.
49649
49650 2007-02-01  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/string_.h (GL_LINK_WARNING): New macro.
49653         (strcasecmp, strstr, strcasestr): If provided by the system,
49654         conditionally define as a macro that leads to a warning instead of to
49655         an error.
49656         (strncasecmp): Conditionally define as a macro that leads to a warning.
49657
49658 2007-02-01  Karl Berry  <karl@gnu.org>
49659
49660         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
49661
49662 2007-02-01  Bruno Haible  <bruno@clisp.org>
49663
49664         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
49665         renamings.
49666
49667 2007-02-01  Eric Blake  <ebb9@byu.net>
49668
49669         * modules/regex (Depends-on): Revert dependence on mempcpy.
49670         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
49671         module's definition of mempcpy.
49672         Reported by Paul Eggert.
49673
49674 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
49675
49676         * lib/string_.h: If the gnulib module XYZ is not present, undefine
49677         the symbol XYZ before redefining it.  This fixes a problem with
49678         programs that don't use XYZ, when compiled on systems that define
49679         XYZ to something else.
49680
49681 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
49682
49683         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
49684         occurs when "mkdir -m foo" creates a setgid directory that is (1)
49685         writeable to group or other and (2) is intended to have a special
49686         mode bit that is set or cleared.  In such a case, the directory
49687         should be neither group- nor other-writeable until the special
49688         mode bits are right.
49689
49690 2007-01-31  Eric Blake  <ebb9@byu.net>
49691
49692         * modules/mountlist (Depends-on): Add strstr.
49693
49694         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
49695         bug.
49696         * modules/string (Makefile.am): Remove redundant replacement.
49697         * modules/regex (Depends-on): Add mempcpy.
49698
49699 2007-01-31  Bruno Haible  <bruno@clisp.org>
49700
49701         New module description field 'Link'.
49702         * gnulib-tool (func_usage): Document --extract-link-directive.
49703         (sed_extract_prog): Recognize 'Link' directive.
49704         (func_get_link_directive): New function.
49705         (func_import): Show summary of link directives.
49706         Handle --extract-link-directive option.
49707         * modules/acl (Link): New section.
49708         * modules/clock-time (Link): New section.
49709         * modules/euidaccess (Link): New section.
49710         * modules/gettext (Link): New section.
49711         * modules/iconv (Link): New section.
49712         * modules/lock (Link): New section.
49713         * modules/nanosleep (Link): New section.
49714         * modules/readline (Link): New section.
49715
49716 2007-01-27  Bruno Haible  <bruno@clisp.org>
49717
49718         Enforce the use of gnulib modules for unportable <string.h> functions.
49719         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
49720         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
49721         (gl_HEADER_STRING_H_BODY): Require it.
49722         * lib/string_.h: If the gnulib module XYZ is not present, redefine
49723         the symbol XYZ to one that gives a link error.
49724         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
49725         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
49726         * modules/mempcpy (configure.ac): Likewise.
49727         * modules/memrchr (configure.ac): Likewise.
49728         * modules/stpcpy (configure.ac): Likewise.
49729         * modules/stpncpy (configure.ac): Likewise.
49730         * modules/strcase (configure.ac): Likewise.
49731         * modules/strcasestr (configure.ac): Likewise.
49732         * modules/strchrnul (configure.ac): Likewise.
49733         * modules/strdup (configure.ac): Likewise.
49734         * modules/strndup (configure.ac): Likewise.
49735         * modules/strnlen (configure.ac): Likewise.
49736         * modules/strpbrk (configure.ac): Likewise.
49737         * modules/strsep (configure.ac): Likewise.
49738         * modules/strstr (configure.ac): Likewise.
49739         * modules/strtok_r (configure.ac): Likewise.
49740
49741 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
49742
49743         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
49744
49745 2007-01-30  Jim Meyering  <jim@meyering.net>
49746
49747         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
49748
49749 2007-01-29  Bruno Haible  <bruno@clisp.org>
49750
49751         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
49752         * lib/execute.c: Likewise.
49753         * lib/pipe.c: Likewise.
49754         * lib/printf-args.h: Likewise.
49755         * lib/printf-args.c: Likewise.
49756         * lib/printf-parse.c: Likewise.
49757         * lib/vasnprintf.c: Likewise.
49758
49759 2007-01-29  Eric Blake  <ebb9@byu.net>
49760
49761         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
49762         declaration.
49763
49764 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
49765
49766         * lib/strptime.h (strptime): Use 'restrict' for args where
49767         POSIX requires this.
49768         * lib/strptime.c (strptime): Likewise.
49769         Change license notice from LGPL to GPL, since gnulib-tool will
49770         change this as needed.
49771         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
49772         defined.
49773         Include "strptime.h" first, to check interface.
49774         Do not #undef _LIBC and _NL_CURRENT.
49775         Do not include <stdlib.h>; no longer needed.
49776         Include "time_r.h" and declare ptime_locale_status
49777         only if _LIBC is not defined.
49778         (__P): Remove unused macro.
49779         (match_string): Bring back glibc version, but use it only if _LIBC
49780         is defined.
49781         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
49782         Remove unnecessary assertion and abort() call.
49783         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
49784         * m4/strptime.m4: Fix serial number comment.
49785         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
49786         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
49787         (Depends-on): Add time_r.
49788
49789 2007-01-29  Bruno Haible  <bruno@clisp.org>
49790
49791         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49792         strptime.
49793         * modules/strptime (Depends-on): Add stdbool.
49794         * lib/strptime.h: Include <time.h> always. Add comments.
49795
49796 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49797
49798         * modules/strptime: New file.
49799         * lib/strptime.h: New file.
49800         * lib/strptime.c: New file.
49801         * m4/strptime.m4: New file.
49802
49803 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49804
49805         * MODULES.html.sh: New module mpsort.
49806         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
49807
49808         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
49809         a circularity problem with HP-UX ia64 reported by Bob Proulx in
49810         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
49811         All uses changed.
49812         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
49813         All uses changed.
49814         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
49815         to _Restrict_.
49816         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
49817         the parameter matches the prototype.
49818
49819 2007-01-28  Jim Meyering  <jim@meyering.net>
49820
49821         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
49822         sys/time.h here, reverting that part of the previous patch:
49823         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
49824
49825 2007-01-28  Bruno Haible  <bruno@clisp.org>
49826
49827         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
49828         value of $(SYS_TIME_H).
49829         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
49830         remove it conditionally, too. [added by Jim Meyering]
49831         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
49832         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
49833         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
49834         GETTIMEOFDAY_REPLACEMENT to 1.
49835
49836 2007-01-28  Bruno Haible  <bruno@clisp.org>
49837
49838         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
49839         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
49840         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
49841         Set UNISTD_H instead of UNISTD_H2.
49842         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
49843
49844 2007-01-28  Bruno Haible  <bruno@clisp.org>
49845
49846         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
49847         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
49848
49849 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49850
49851         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
49852         (func_create_testdir): Ensure C locale for `grep' and `tr'
49853         character ranges.
49854         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
49855         ACLOCAL_AMFLAGS parsing state machine.
49856
49857 2007-01-27  Bruno Haible  <bruno@clisp.org>
49858
49859         * modules/unistr/base: Update.
49860
49861 2007-01-27  Bruno Haible  <bruno@clisp.org>
49862
49863         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
49864         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
49865         * modules/unistr/u32-mbtouc-unsafe: Renamed from
49866         modules/unistr/u32-mbtouc.
49867         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
49868         * lib/unistr.h: Update.
49869         * lib/linebreak.c: Update.
49870         * modules/unistr/u32-mbtouc: Renamed from
49871         modules/unistr/u32-mbtouc-safe.
49872         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
49873         * lib/unistr.h: Update.
49874         * lib/unistr/u32-to-u8.c: Update.
49875         * lib/unistr/u32-to-u16.c: Update.
49876
49877 2007-01-27  Bruno Haible  <bruno@clisp.org>
49878
49879         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
49880         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
49881         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
49882         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
49883         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
49884         * modules/unistr/u16-mbtouc-unsafe: Renamed from
49885         modules/unistr/u16-mbtouc.
49886         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
49887         * lib/unistr.h: Update.
49888         * lib/linebreak.c: Update.
49889         * modules/linebreak: Update.
49890         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
49891         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
49892         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
49893         * modules/unistr/u16-mbtouc: Renamed from
49894         modules/unistr/u16-mbtouc-safe.
49895         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
49896         * lib/unistr.h: Update.
49897         * lib/unistr/u16-to-u8.c: Update.
49898         * modules/unistr/u16-to-u8: Update.
49899         * lib/unistr/u16-to-u32.c: Update.
49900         * modules/unistr/u16-to-u32: Update.
49901
49902 2007-01-27  Bruno Haible  <bruno@clisp.org>
49903
49904         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
49905         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
49906         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
49907         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
49908         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
49909         * modules/unistr/u8-mbtouc-unsafe: Renamed from
49910         modules/unistr/u8-mbtouc.
49911         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
49912         * lib/unistr.h: Update.
49913         * lib/striconveh.c: Update.
49914         * modules/striconveh: Update.
49915         * lib/linebreak.c: Update.
49916         * modules/linebreak: Update.
49917         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
49918         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
49919         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
49920         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
49921         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
49922         * lib/unistr.h: Update.
49923         * lib/striconveh.c: Update.
49924         * modules/striconveh: Update.
49925         * lib/unistr/u8-to-u16.c: Update.
49926         * modules/unistr/u8-to-u16: Update.
49927         * lib/unistr/u8-to-u32.c: Update.
49928         * modules/unistr/u8-to-u32: Update.
49929
49930 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49931
49932         Sync from Libtool.
49933         * lib/argz.c: Do not include strings.h nor memory.h, include
49934         string.h unconditionally.  Patch by Simon Josefsson.
49935
49936 2007-01-27  Bruno Haible  <bruno@clisp.org>
49937
49938         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
49939         from gl_HEADER_STRING_H_BODY.
49940         (gl_HEADER_STRING_H_BODY): Require it.
49941         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
49942         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49943         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49944         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49945         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49946         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
49947         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49948         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49949         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
49950         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49951         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49952         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
49953         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
49954         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49955         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49956
49957 2007-01-27  Bruno Haible  <bruno@clisp.org>
49958
49959         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
49960         check_PROGRAMS into noinst_PROGRAMS.
49961         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
49962         check_PROGRAMS in this case.
49963         (func_import): Set for_test to false.
49964         (func_create_testdir): Set for_test to true.
49965
49966 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
49967             Bruno Haible  <bruno@clisp.org>
49968
49969         * modules/strcasestr (Files): Remove lib/strcasestr.h.
49970         (Depends-on): Add string.
49971         (Includes): Use <string.h> instead of strcasestr.h.
49972         * modules/string (Makefile.am): Also substitute the value of
49973         REPLACE_STRCASESTR.
49974         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
49975         assume strcasestr is declared in <string.h> not <strings.h>. Also
49976         set REPLACE_STRCASESTR.
49977         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
49978         REPLACE_STRCASESTR.
49979         * lib/strcasestr.h: Remove file.
49980         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
49981         * lib/string_.h (strcasestr): New declaration.
49982
49983 2007-01-27  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/string_.h: Use 'extern'.
49986
49987 2007-01-27  Jim Meyering  <jim@meyering.net>
49988
49989         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
49990         of set-but-not-used local, "q".
49991
49992         * lib/mempcpy.c: Include <config.h> before <string.h>.
49993         This fixes a compilation error on HP-UX, due to the system's
49994         "restrict"-using mempcpy prototype.
49995
49996 2007-01-26  Bruno Haible  <bruno@clisp.org>
49997
49998         Small optimization.
49999         * lib/javacomp.c: Include c-strstr.h.
50000          (is_envjavac_gcj): Use c_strstr instead of strstr.
50001         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
50002
50003 2007-01-26  Bruno Haible  <bruno@clisp.org>
50004
50005         * MODULES.html.sh (Unicode string functions): Add the new modules.
50006
50007         * modules/uniconv/u32-strconv-to-locale: New file.
50008         * lib/uniconv/u32-strconv-to-locale.c: New file.
50009
50010         * modules/uniconv/u16-strconv-to-locale: New file.
50011         * lib/uniconv/u16-strconv-to-locale.c: New file.
50012
50013         * modules/uniconv/u8-strconv-to-locale: New file.
50014         * lib/uniconv/u8-strconv-to-locale.c: New file.
50015
50016         * modules/uniconv/u32-strconv-from-locale: New file.
50017         * lib/uniconv/u32-strconv-from-locale.c: New file.
50018
50019         * modules/uniconv/u16-strconv-from-locale: New file.
50020         * lib/uniconv/u16-strconv-from-locale.c: New file.
50021
50022         * modules/uniconv/u8-strconv-from-locale: New file.
50023         * lib/uniconv/u8-strconv-from-locale.c: New file.
50024
50025         * modules/uniconv/u32-strconv-to-enc: New file.
50026         * lib/uniconv/u32-strconv-to-enc.c: New file.
50027         * modules/uniconv/u32-strconv-to-enc-tests: New file.
50028         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
50029
50030         * modules/uniconv/u16-strconv-to-enc: New file.
50031         * lib/uniconv/u16-strconv-to-enc.c: New file.
50032         * lib/uniconv/u-strconv-to-enc.h: New file.
50033         * modules/uniconv/u16-strconv-to-enc-tests: New file.
50034         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
50035
50036         * modules/uniconv/u8-strconv-to-enc: New file.
50037         * lib/uniconv/u8-strconv-to-enc.c: New file.
50038         * modules/uniconv/u8-strconv-to-enc-tests: New file.
50039         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
50040
50041         * modules/uniconv/u32-strconv-from-enc: New file.
50042         * lib/uniconv/u32-strconv-from-enc.c: New file.
50043         * modules/uniconv/u32-strconv-from-enc-tests: New file.
50044         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
50045
50046         * modules/uniconv/u16-strconv-from-enc: New file.
50047         * lib/uniconv/u16-strconv-from-enc.c: New file.
50048         * modules/uniconv/u16-strconv-from-enc-tests: New file.
50049         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
50050
50051         * modules/uniconv/u8-strconv-from-enc: New file.
50052         * lib/uniconv/u8-strconv-from-enc.c: New file.
50053         * lib/uniconv/u-strconv-from-enc.h: New file.
50054         * modules/uniconv/u8-strconv-from-enc-tests: New file.
50055         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
50056
50057         * modules/uniconv/u32-conv-from-enc: New file.
50058         * lib/uniconv/u32-conv-from-enc.c: New file.
50059         * modules/uniconv/u32-conv-from-enc-tests: New file.
50060         * tests/uniconv/test-u32-conv-from-enc.c: New file.
50061
50062         * modules/uniconv/u16-conv-from-enc: New file.
50063         * lib/uniconv/u16-conv-from-enc.c: New file.
50064         * lib/uniconv/u-conv-from-enc.h: New file.
50065         * modules/uniconv/u16-conv-from-enc-tests: New file.
50066         * tests/uniconv/test-u16-conv-from-enc.c: New file.
50067
50068         * modules/uniconv/u8-conv-from-enc: New file.
50069         * lib/uniconv/u8-conv-from-enc.c: New file.
50070         * modules/uniconv/u8-conv-from-enc-tests: New file.
50071         * tests/uniconv/test-u8-conv-from-enc.c: New file.
50072
50073         * modules/uniconv/base: New file.
50074         * lib/uniconv.h: New file.
50075
50076 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
50077
50078         * doc/gnulib-tool.texi (Initial import): Update to match current
50079         behavior with strdup module.
50080         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
50081         * lib/memmem.h: Remove; all uses removed.  This is now done
50082         by <string.h>.
50083         * lib/mempcpy.h: Likewise.
50084         * lib/memrchr.h: Likewise.
50085         * lib/stpcpy.h: Likewise.
50086         * lib/stpncpy.h: Likewise.
50087         * lib/strcase.h: Likewise.
50088         * lib/strchrnul.h: Likewise.
50089         * lib/strdup.h: Likewise.
50090         * lib/strndup.h: Likewise.
50091         * lib/strnlen.h: Likewise.
50092         * lib/strpbrk.h: Likewise.
50093         * lib/strsep.h: Likewise.
50094         * lib/strstr.h: Likewise.
50095         * lib/strtok_r.h: Likewise.
50096         * lib/string_.h: New file.
50097         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
50098         Rely on <string.h> instead.
50099         * lib/canon-host.c: Likewise.
50100         * lib/chdir-long.c: Likewise.
50101         * lib/concatpath.c: Likewise.
50102         * lib/exclude.c: Likewise.
50103         * lib/fchdir.c: Likewise.
50104         * lib/getaddrinfo.c: Likewise.
50105         * lib/getcwd.c: Likewise.
50106         * lib/getsubopt.c: Likewise.
50107         * lib/glob.c: Likewise.
50108         * lib/hard-locale.c: Likewise.
50109         * lib/iconvme.c: Likewise.
50110         * lib/javacomp.c: Likewise.
50111         * lib/mempcpy.c: Likewise.
50112         * lib/memrchr.c: Likewise.
50113         * lib/regex_internal.h: Likewise.
50114         * lib/stpncpy.c: Likewise.
50115         * lib/strcasecmp.c: Likewise.
50116         * lib/strchrnul.c: Likewise.
50117         * lib/strdup.c: Likewise.
50118         * lib/striconv.c: Likewise.
50119         * lib/striconveh.c: Likewise.
50120         * lib/striconveha.c: Likewise.
50121         * lib/strncasecmp.c: Likewise.
50122         * lib/strndup.c: Likewise.
50123         * lib/strnlen.c: Likewise.
50124         * lib/strsep.c: Likewise.
50125         * lib/strstr.c: Likewise.
50126         * lib/strtok_r.c: Likewise.
50127         * lib/userspec.c: Likewise.
50128         * lib/w32spawn.h: Likewise.
50129         * lib/xstrndup.c: Likewise.
50130         * lib/mountlist.c (strstr): Remove decl.
50131         * m4/string_h.m4: New file.
50132         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
50133         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
50134         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
50135         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
50136         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
50137         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
50138         Set REPLACE_STRCASECMP if necessary.
50139         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
50140         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
50141         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
50142         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
50143         HAVE_DECL_STRDUP if necessary.
50144         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
50145         since gl_FUNC_STRNDUP does that now.
50146         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
50147         Check for decl here...
50148         (gl_PREREQ_STRNLEN): ... not here.
50149         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
50150         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
50151         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
50152         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
50153         necessary.
50154         * modules/string: New file.
50155         * modules/memmem (Files): Remove special-purpose include file.
50156         (Depends-on): Add string.
50157         (Include): Include <string.h>, not the removed file.
50158         * modules/mempcpy: Likewise.
50159         * modules/memrchr: Likewise.
50160         * modules/stpcpy: Likewise.
50161         * modules/stpncpy: Likewise.
50162         * modules/strcase: Likewise.
50163         * modules/strchrnul: Likewise.
50164         * modules/strdup: Likewise.
50165         * modules/strndup: Likewise.
50166         * modules/strnlen: Likewise.
50167         * modules/strpbrk: Likewise.
50168         * modules/strsep: Likewise.
50169         * modules/strstr: Likewise.
50170         * modules/strtok_r: Likewise.
50171         * tests/test-dirname.c: Don't include "strdup.h", since
50172         <string.h> now suffices.
50173         * tests/test-memmem.c: Don't include "memmem.h", since
50174         <string.h> now suffices.
50175
50176 2007-01-25  Bruno Haible  <bruno@clisp.org>
50177
50178         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
50179         *resultp is 0.
50180
50181         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
50182         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
50183         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
50184         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
50185
50186         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
50187         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
50188         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
50189         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
50190         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
50191         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
50192
50193 2007-01-24  Bruno Haible  <bruno@clisp.org>
50194
50195         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
50196         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
50197         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
50198         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
50199         gl_FUNC_FTS_CORE.
50200         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
50201         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
50202         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
50203         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
50204         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
50205         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
50206         gl_FUNC_FCHOWNAT.
50207         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
50208         gl_FUNC_STRFTIME.
50209         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
50210         Reported by Ralf Wildenhues.
50211
50212 2007-01-24  Bruno Haible  <bruno@clisp.org>
50213
50214         Drop AC_REQUIRE calls that are redundant with the module dependencies.
50215         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
50216         gl_GETADDRINFO.
50217         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
50218         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
50219         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
50220
50221 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
50222
50223         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
50224         Don't use 'exit'; just return from 'main'.
50225         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
50226
50227         * lib/fnmatch_.h: Readjust white space and comments to match
50228         glibc, to avoid spurious diffs.
50229
50230 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50231
50232         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
50233         2004-12-01 change by Jakub Jelinek, since this code won't compile
50234         if !LIBC.  Problem reported by Bob Proulx.
50235
50236 2007-01-23  Bruno Haible  <bruno@clisp.org>
50237
50238         * lib/striconveh.c: Include c-strcaseeq.h.
50239         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
50240         * modules/striconveh (Depends-on): Add c-strcaseeq.
50241
50242 2007-01-23  Bruno Haible  <bruno@clisp.org>
50243
50244         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
50245
50246         * modules/c-strcaseeq: New file.
50247         * lib/c-strcaseeq.h: New file.
50248
50249         * modules/streq: New file.
50250         * lib/streq.h: New file.
50251
50252 2007-01-23  Bruno Haible  <bruno@clisp.org>
50253
50254         * modules/striconveha-tests: New file.
50255         * tests/test-striconveha.c: New file.
50256
50257         * lib/striconveha.h: Include <stdbool.h>.
50258         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
50259         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
50260         (mem_iconveha_notranslit): Renamed from mem_iconveha.
50261         (mem_iconveha): New function.
50262         (str_iconveha_notranslit): Renamed from str_iconveha.
50263         (str_iconveha): New function.
50264         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
50265         c-strcase.
50266
50267 2007-01-23  Bruno Haible  <bruno@clisp.org>
50268
50269         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
50270         encodings without forgiving before trying any encoding with handler.
50271         (str_iconveha): Try all encodings without forgiving before trying any
50272         encoding with handler.
50273
50274 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50275
50276         Import the following changes from libc.
50277
50278         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50279
50280         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
50281
50282         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
50283
50284         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
50285         normal_bracket label.
50286
50287         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
50288
50289         [BZ #361]
50290         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
50291         to normal_bracket after fetching the next character.
50292
50293 2007-01-22  Bruno Haible  <bruno@clisp.org>
50294
50295         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
50296         argument.
50297         * lib/striconveh.c (iconv_carefully_1): New function.
50298         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
50299         argument.
50300         (str_cd_iconveh): Update.
50301         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
50302         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
50303         * tests/test-striconveh.c (MAGIC): New macro.
50304         (new_offsets): New function.
50305         (main): Test call with and without offsets.
50306
50307 2007-01-22  Bruno Haible  <bruno@clisp.org>
50308
50309         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
50310         * modules/sys_select (Makefile.am): Likewise.
50311         * modules/sys_socket (Makefile.am): Likewise.
50312         * modules/sys_time (Makefile.am): Likewise.
50313
50314 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
50315
50316         * modules/gettimeofday (License): Change from GPL to LGPL, since
50317         gettimeofday is a library function.
50318
50319 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50320
50321         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
50322
50323 2007-01-21  Bruno Haible  <bruno@clisp.org>
50324
50325         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
50326
50327 2007-01-21  Bruno Haible  <bruno@clisp.org>
50328
50329         * modules/striconveha: New file.
50330         * lib/striconveha.h: New file.
50331         * lib/striconveha.c: New file.
50332         * MODULES.html.sh (Internationalization functions): Add striconveha.
50333         * lib/striconv.c (str_iconv): Optimize the case of an empty input
50334         string.
50335         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
50336
50337 2007-01-21  Bruno Haible  <bruno@clisp.org>
50338
50339         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
50340         * lib/striconveh.c (str_iconveh): Likewise.
50341
50342 2007-01-21  Bruno Haible  <bruno@clisp.org>
50343
50344         * lib/striconveh.h (mem_iconveh): New declaration.
50345         * lib/striconveh.c (mem_iconveh): New function.
50346         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
50347
50348 2007-01-21  Bruno Haible  <bruno@clisp.org>
50349
50350         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
50351
50352         * lib/striconveh.h (mem_cd_iconveh): Change specification.
50353         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
50354         original result buffer.
50355         (str_cd_iconveh): Update.
50356         * tests/test-striconveh.c (main): Update.
50357
50358         * lib/striconv.h (mem_cd_iconv): Change specification.
50359         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
50360         result buffer.
50361         (str_cd_iconv): Update.
50362         * tests/test-striconv.c (main): Update.
50363
50364 2007-01-21  Bruno Haible  <bruno@clisp.org>
50365
50366         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
50367
50368 2007-01-20  Jim Meyering  <jim@meyering.net>
50369
50370         * lib/userspec.c (parse_with_separator): If a user or group string
50371         starts with "+", skip the corresponding name-to-ID look-up, since
50372         such a look-up must fail: user and group names may not include "+".
50373
50374 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
50375
50376         * lib/poll.c: Include sys/time.h and time.h unconditionally,
50377         since we now assume the sys_time module.
50378         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
50379         check for sys/time.h; no longer needed.
50380         * modules/poll (Depends-on): Depend on sys_time.
50381
50382 2007-01-18  Bruno Haible  <bruno@clisp.org>
50383
50384         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
50385         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
50386
50387         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
50388         gettimeofday.
50389
50390         * tests/test-gettimeofday.c: Include <time.h>.
50391         (dummy): Remove variable.
50392
50393         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
50394         gl_HEADER_SYS_TIME_H.
50395         (gl_HEADER_SYS_TIME_H): New macro.
50396
50397         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
50398         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50399         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
50400         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
50401         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50402         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
50403         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
50404         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50405         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
50406         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
50407         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50408
50409         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
50410         last change; it caused a compilation error when cross-compiling to
50411         Cygwin.
50412
50413 2007-01-18  Jim Meyering  <jim@meyering.net>
50414
50415         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
50416         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
50417         than the race-prone "test -d sys || mkdir sys".
50418         (configure.ac): Use AC_PROG_MKDIR_P.
50419         * modules/sys_select: Likewise.
50420         * modules/sys_socket: Likewise.
50421         * modules/sys_time: Likewise.
50422
50423 2007-01-18  Eric Blake  <ebb9@byu.net>
50424
50425         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
50426         replace gettimeofday.
50427         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
50428         name, to avoid infinite recursion.
50429
50430 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
50431
50432         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
50433         module sys_time.
50434         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
50435         assume timespec.h defines struct timeval.
50436         * lib/settime.c: Likewise.
50437         * lib/utimens.c: Likewise.
50438         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
50439         since we now assume the gettimeofday module.
50440         * lib/tempname.c (__gen_tempname): Likewise.
50441         * lib/gettimeofday.h: Remove.
50442         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
50443         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
50444         Include <time.h>, for 'time()'.
50445         (localtime_buffer_addr): Also use this workaround if
50446         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
50447         to simplify the uses.  All uses changed.
50448         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
50449         that #undef is inside {}, and 'const' follows type name consistently.
50450         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
50451         (gettimeofday): Do not use the maximum possible value for
50452         tv->tv_usec, since that might break usages other than ls.c.
50453         Instead, we'll leave ls.c alone.  This undoes today's patch
50454         by Bruno.  Add a compile-time warning for 1s-clock resolution;
50455         we've never observed the problem but might as well keep the
50456         canary.
50457         * lib/nanosleep.c: Include timespec.h first, for interface check.
50458         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
50459         now assume the sys_time module.
50460         * lib/tempname.c: Likewise.
50461         * lib/timespec.h: Likewise.
50462         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
50463         needed.
50464         * lib/strftime.c: Likewise.
50465         * lib/timespec.h: Likewise.
50466         * lib/posixtm.c: Include posixtm.h first, for interface check.
50467         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
50468         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
50469         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
50470         * lib/sys_time_.h: New file.
50471         * lib/timespec.h (struct timespec): Use long int, not long.
50472         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
50473         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
50474         Remove obsolescent call to AC_HEADER_TIME.
50475         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
50476         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50477         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
50478         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
50479         Likewise.
50480         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
50481         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
50482         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
50483         into the sys_time module.  Check for gettimeofday just once.
50484         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
50485         for gettimeofday signature to just check the signature.  Merely
50486         compile it, since linking doesn't test signature.  Improve test for
50487         whether gettimeofday.o is actually needed.
50488         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
50489         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
50490         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
50491         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50492         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
50493         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
50494         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
50495         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
50496         than worrying about sys/time.h.
50497         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50498         Don't bother worrying about TIME_WITH_SYS_TIME.
50499         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
50500         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
50501         * m4/sys_time_h.m4: New file.
50502         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
50503         Don't include sys/time.h.  Return from main rather than exiting.
50504         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
50505         all uses changed.
50506         * modules/gethrxtime (Depends-on): Add sys_time.
50507         * modules/gettime (Depends-on): Likewise.
50508         * modules/gettimeofday (Depends-on): Likewise.
50509         * modules/nanosleep (Depends-on): Likewise.
50510         * modules/settime (Depends-on): Likewise.
50511         * modules/tempname (Depends-on): Likewise.
50512         * modules/utimens (Depends-on): Likewise.
50513         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
50514         (Include:) Change back to <sys/time.h>.
50515         (Maintainer:) Add self.
50516         * modules/sys_time: New file.
50517         * modules/tempname (Depends-on): Add gettimeofday.
50518         * tests/test-gettimeofday.c: Include <sys/time.h>
50519         rather than gettimeofday.h.
50520
50521 2007-01-17  Bruno Haible  <bruno@clisp.org>
50522
50523         * gnulib-tool (func_get_license): Revert last patch. Instead, let
50524         the license default to GPL.
50525         (func_create_testdir): Don't complain if a module is LGPL and its
50526         tests module depends on GPLed modules.
50527
50528 2007-01-17  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/gettimeofday.c (gettimeofday): Add code for the case
50531         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
50532         maximum possible value for tv->tv_usec, rather than the minimum one.
50533
50534 2005-10-08  Martin Lambers  <marlam@marlam.de>
50535 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50536 2007-01-16  Bruno Haible  <bruno@clisp.org>
50537
50538         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
50539         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
50540         gl_FUNC_GETTIMEOFDAY.
50541         (Include): Add gettimeofday.h.
50542         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
50543         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
50544         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
50545         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
50546         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
50547         * lib/gettimeofday.h: New file.
50548         * lib/gettimeofday.c: Include <sys/timeb.h>.
50549         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
50550         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50551         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
50552         fall back on time().
50553
50554         * tests/test-gettimeofday.c: New file.
50555         * modules/gettimeofday-tests: New file.
50556
50557 2007-01-16  Eric Blake  <ebb9@byu.net>
50558
50559         * modules/fnmatch (Depends-on): Depend on wchar.
50560         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
50561         * m4/fnmatch.m4: Likewise.
50562         * modules/mbchar (Makefile.am): Assume <wchar.h>.
50563         * m4/mbchar.m4: Likewise.
50564         * modules/mbswidth (Depends-on): Depend on wchar.
50565         * lib/mbswidth.c: Assume <wchar.h>.
50566         * m4/mbswidth.m4: Likewise.
50567         * modules/quotearg (Depends-on): Depend on wchar.
50568         * lib/quotearg.c: Assume <wchar.h>.
50569         * m4/quotearg.m4: Likewise.
50570         * modules/regex (Depends-on): Depend on wchar.
50571         * lib/regex_internal.h: Assume <wchar.h>.
50572         * m4/regex.m4: Likewise.
50573         * modules/stdint (Depends-on): Depend on wchar.
50574         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
50575         * m4/stdint.m4: Likewise.
50576         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
50577         * modules/strftime (Depends-on): Depend on wchar.
50578         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
50579         * modules/strtol (Depends-on): Depend on wchar.
50580         * lib/strtol.c: Assume <wchar.h>.
50581         * modules/wcwidth (Depends-on): Depend on wchar.
50582         * lib/wcwidth.h: Assume <wchar.h>.
50583         * m4/wcwidth.m4: Likewise.
50584
50585 2007-01-16  Bruno Haible  <bruno@clisp.org>
50586
50587         * modules/csharpexec-script: New, created from...
50588         * modules/csharpexec: ... this.
50589
50590 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
50591
50592         * modules/javaexec-script: New, created from...
50593         * modules/javaexec: ... this.
50594
50595 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50596
50597         * modules/poll (Dependencies): Add sys_select.
50598
50599 2007-01-15  Jim Meyering  <jim@meyering.net>
50600
50601         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
50602         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
50603         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
50604         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
50605
50606 2007-01-15  Bruno Haible  <bruno@clisp.org>
50607
50608         * modules/striconveh: New file.
50609         * lib/striconveh.h: New file.
50610         * lib/striconveh.c: New file.
50611         * MODULES.html.sh (Internationalization functions): Add striconveh.
50612
50613         * modules/striconveh-tests: New file.
50614         * tests/test-striconveh.c: New file.
50615
50616 2007-01-15  Bruno Haible  <bruno@clisp.org>
50617
50618         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
50619         not from GNU libiconv or GNU libc.
50620
50621 2007-01-15  Bruno Haible  <bruno@clisp.org>
50622
50623         * doc/gnulib-intro.texi (Copyright): Explain the different license
50624         terms for module descriptions, autoconf macros, tests, documentation.
50625
50626 2007-01-14  Bruno Haible  <bruno@clisp.org>
50627
50628         * modules/striconv-tests: New file.
50629         * tests/test-striconv.c: New file.
50630
50631 2007-01-14  Bruno Haible  <bruno@clisp.org>
50632
50633         * modules/iconv-tests: New file.
50634         * tests/test-iconv.c: New file.
50635
50636 2007-01-14  Bruno Haible  <bruno@clisp.org>
50637
50638         * gnulib-tool (func_get_license): For test modules, use the license of
50639         the main module.
50640
50641 2007-01-14  Bruno Haible  <bruno@clisp.org>
50642
50643         * modules/iconv (Include): Clarify that <iconv.h> can only be included
50644         if iconv is found to exist.
50645
50646 2007-01-14  Bruno Haible  <bruno@clisp.org>
50647
50648         * modules/c-ctype-tests: New file.
50649         * tests/test-c-ctype.c: New file.
50650
50651 2007-01-14  Bruno Haible  <bruno@clisp.org>
50652
50653         * modules/binary-io-tests: New file.
50654         * tests/test-binary-io.sh: New file.
50655         * tests/test-binary-io.c: New file.
50656
50657 2007-01-14  Bruno Haible  <bruno@clisp.org>
50658
50659         * modules/array-oset-tests: New file.
50660         * tests/test-array_oset.c: New file.
50661
50662 2007-01-14  Bruno Haible  <bruno@clisp.org>
50663
50664         * modules/array-list-tests: New file.
50665         * tests/test-array_list.c: New file.
50666
50667 2007-01-14  Bruno Haible  <bruno@clisp.org>
50668
50669         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
50670         and make.
50671         Reported by Simon Josefsson in
50672         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
50673
50674 2007-01-14  Bruno Haible  <bruno@clisp.org>
50675
50676         * modules/allocsa-tests: New file.
50677         * tests/test-allocsa.c: New file.
50678
50679 2007-01-14  Bruno Haible  <bruno@clisp.org>
50680
50681         * modules/fchdir (Depends-on): Add absolute-header.
50682         * modules/unistd (Depends-on): Likewise.
50683
50684 2006-12-30  Bruno Haible  <bruno@clisp.org>
50685
50686         * modules/fchdir: New file.
50687         * modules/unistd (Files): Add lib/unistd_.h.
50688         (Makefile.am): Generate unistd.h from unistd_.h.
50689         * lib/fchdir.c: New file.
50690         * lib/dirent_.h: New file.
50691         * lib/unistd_.h: New file.
50692         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
50693         * m4/fchdir.m4: New file.
50694         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
50695         (gl_HEADER_UNISTD): Invoke it.
50696         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
50697         function.
50698         * lib/backupfile.c (opendir, closedir): Undefine.
50699         * lib/chown.c (open, close): Undefine.
50700         * lib/clean-temp.c (open, close): Undefine.
50701         * lib/copy-file.c (open, close): Undefine.
50702         * lib/execute.c (open, close): Undefine.
50703         * lib/fsusage.c (open, close): Undefine.
50704         * lib/gc-gnulib.c (open, close): Undefine.
50705         * lib/getcwd.c (opendir, closedir): Undefine.
50706         * lib/glob.c (opendir, closedir): Undefine.
50707         * lib/javacomp.c (open, close): Undefine.
50708         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
50709         * lib/openat-proc.c (open, close): Undefine.
50710         * lib/pagealign_alloc.c (open, close): Undefine.
50711         * lib/pipe.c (open, close): Undefine.
50712         * lib/progreloc.c (open, close): Undefine.
50713         * lib/savedir.c (opendir, closedir): Undefine.
50714         * lib/utime.c (open, close): Undefine.
50715         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
50716
50717 2007-01-10  Bruno Haible  <bruno@clisp.org>
50718
50719         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
50720
50721 2007-01-12  Eric Blake  <ebb9@byu.net>
50722
50723         Provide a robust <wchar.h>.  Further simplifications are now
50724         possible in other modules, but not included here.
50725         * modules/wchar: New module.
50726         * m4/wchar.m4: New file.
50727         * lib/wchar_.h: Likewise.
50728         * modules/mbchar (Depends-on): Depend on wchar, as the first use
50729         of the new module.
50730         * MODULES.html.sh (Extended multibyte and wide character utilities):
50731         New section.
50732
50733 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
50734
50735         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
50736         to a reasonable default for memory allocation.
50737         (xreadlink): Don't allocate a huge buffer, to work around a buggy
50738         file system that reports garbage st_size values for symlinks.
50739         Problem reported by Liyang Hu.
50740
50741 2007-01-11  Simon Josefsson  <simon@josefsson.org>
50742
50743         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
50744         Emacs .#* auto-save files).
50745
50746 2007-01-11  Bruno Haible  <bruno@clisp.org>
50747
50748         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
50749         directory.
50750
50751 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50752
50753         Use @...@ consistently in lib/wctype_.h.
50754         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
50755         on it being set to 1 or 0.
50756         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
50757         go back to AC_SUBSTing it.
50758         * modules/wctype (Makefile.am): Undo previous change.
50759
50760 2007-01-10  Eric Blake  <ebb9@byu.net>
50761
50762         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
50763         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
50764         * modules/wctype (Makefile.am): Likewise.
50765         Reported by Chris McGuire.
50766
50767 2007-01-10  Jim Meyering  <jim@meyering.net>
50768
50769         fts.c: a small readability/maintainability improvement
50770         * lib/fts.c (fts_read): Make this code slightly more readable and
50771         maintainable by hoisting the "sp->fts_cur = p" assignments to
50772         immediately follow the statements that set P.  Derived from
50773         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
50774
50775 2007-01-10  Eric Blake  <ebb9@byu.net>
50776
50777         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
50778         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
50779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50780         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50781         Reported by Chris McGuire.
50782
50783 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50784
50785         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
50786         in sed script.
50787
50788 2007-01-09  Bruno Haible  <bruno@clisp.org>
50789
50790         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
50791         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
50792         variables.
50793         (func_module): Use them.
50794
50795 2007-01-09  Bruno Haible  <bruno@clisp.org>
50796
50797         * modules/unistr/base: New file.
50798         * lib/unistr.h: New file.
50799
50800         * modules/unistr/u8-to-u16: New file.
50801         * lib/unistr/u8-to-u16.c: New file.
50802
50803         * modules/unistr/u8-to-u32: New file.
50804         * lib/unistr/u8-to-u32.c: New file.
50805
50806         * modules/unistr/u16-to-u8: New file.
50807         * lib/unistr/u16-to-u8.c: New file.
50808
50809         * modules/unistr/u16-to-u32: New file.
50810         * lib/unistr/u16-to-u32.c: New file.
50811
50812         * modules/unistr/u32-to-u8: New file.
50813         * lib/unistr/u32-to-u8.c: New file.
50814
50815         * modules/unistr/u32-to-u16: New file.
50816         * lib/unistr/u32-to-u16.c: New file.
50817
50818         * modules/unistr/u8-check: New file.
50819         * modules/unistr/u16-check: New file.
50820         * modules/unistr/u32-check: New file.
50821         * lib/unistr/u8-check.c: New file.
50822         * lib/unistr/u16-check.c: New file.
50823         * lib/unistr/u32-check.c: New file.
50824
50825         * modules/unistr/u8-chr: New file.
50826         * modules/unistr/u16-chr: New file.
50827         * modules/unistr/u32-chr: New file.
50828         * lib/unistr/u8-chr.c: New file.
50829         * lib/unistr/u16-chr.c: New file.
50830         * lib/unistr/u32-chr.c: New file.
50831
50832         * modules/unistr/u8-cmp: New file.
50833         * modules/unistr/u16-cmp: New file.
50834         * modules/unistr/u32-cmp: New file.
50835         * lib/unistr/u8-cmp.c: New file.
50836         * lib/unistr/u16-cmp.c: New file.
50837         * lib/unistr/u32-cmp.c: New file.
50838
50839         * modules/unistr/u8-cpy: New file.
50840         * modules/unistr/u16-cpy: New file.
50841         * modules/unistr/u32-cpy: New file.
50842         * lib/unistr/u8-cpy.c: New file.
50843         * lib/unistr/u16-cpy.c: New file.
50844         * lib/unistr/u32-cpy.c: New file.
50845         * lib/unistr/u-cpy.h: New file.
50846
50847         * modules/unistr/u8-cpy-alloc: New file.
50848         * modules/unistr/u16-cpy-alloc: New file.
50849         * modules/unistr/u32-cpy-alloc: New file.
50850         * lib/unistr/u8-cpy-alloc.c: New file.
50851         * lib/unistr/u16-cpy-alloc.c: New file.
50852         * lib/unistr/u32-cpy-alloc.c: New file.
50853         * lib/unistr/u-cpy-alloc.h: New file.
50854
50855         * modules/unistr/u8-endswith: New file.
50856         * modules/unistr/u16-endswith: New file.
50857         * modules/unistr/u32-endswith: New file.
50858         * lib/unistr/u8-endswith.c: New file.
50859         * lib/unistr/u16-endswith.c: New file.
50860         * lib/unistr/u32-endswith.c: New file.
50861         * lib/unistr/u-endswith.h: New file.
50862
50863         * modules/unistr/u8-mblen: New file.
50864         * modules/unistr/u16-mblen: New file.
50865         * modules/unistr/u32-mblen: New file.
50866         * lib/unistr/u8-mblen.c: New file.
50867         * lib/unistr/u16-mblen.c: New file.
50868         * lib/unistr/u32-mblen.c: New file.
50869
50870         * modules/unistr/u8-mbtouc: New file.
50871         * modules/unistr/u16-mbtouc: New file.
50872         * modules/unistr/u32-mbtouc: New file.
50873         * lib/unistr/u8-mbtouc.c: New file.
50874         * lib/unistr/u16-mbtouc.c: New file.
50875         * lib/unistr/u32-mbtouc.c: New file.
50876
50877         * modules/unistr/u8-mbtouc-safe: New file.
50878         * modules/unistr/u16-mbtouc-safe: New file.
50879         * modules/unistr/u32-mbtouc-safe: New file.
50880         * lib/unistr/u8-mbtouc-safe.c: New file.
50881         * lib/unistr/u16-mbtouc-safe.c: New file.
50882         * lib/unistr/u32-mbtouc-safe.c: New file.
50883
50884         * modules/unistr/u8-move: New file.
50885         * modules/unistr/u16-move: New file.
50886         * modules/unistr/u32-move: New file.
50887         * lib/unistr/u8-move.c: New file.
50888         * lib/unistr/u16-move.c: New file.
50889         * lib/unistr/u32-move.c: New file.
50890         * lib/unistr/u-move.h: New file.
50891
50892         * modules/unistr/u8-next: New file.
50893         * modules/unistr/u16-next: New file.
50894         * modules/unistr/u32-next: New file.
50895         * lib/unistr/u8-next.c: New file.
50896         * lib/unistr/u16-next.c: New file.
50897         * lib/unistr/u32-next.c: New file.
50898
50899         * modules/unistr/u8-prev: New file.
50900         * modules/unistr/u16-prev: New file.
50901         * modules/unistr/u32-prev: New file.
50902         * lib/unistr/u8-prev.c: New file.
50903         * lib/unistr/u16-prev.c: New file.
50904         * lib/unistr/u32-prev.c: New file.
50905
50906         * modules/unistr/u8-set: New file.
50907         * modules/unistr/u16-set: New file.
50908         * modules/unistr/u32-set: New file.
50909         * lib/unistr/u8-set.c: New file.
50910         * lib/unistr/u16-set.c: New file.
50911         * lib/unistr/u32-set.c: New file.
50912         * lib/unistr/u-set.h: New file.
50913
50914         * modules/unistr/u8-startswith: New file.
50915         * modules/unistr/u16-startswith: New file.
50916         * modules/unistr/u32-startswith: New file.
50917         * lib/unistr/u8-startswith.c: New file.
50918         * lib/unistr/u16-startswith.c: New file.
50919         * lib/unistr/u32-startswith.c: New file.
50920         * lib/unistr/u-startswith.h: New file.
50921
50922         * modules/unistr/u8-stpcpy: New file.
50923         * modules/unistr/u16-stpcpy: New file.
50924         * modules/unistr/u32-stpcpy: New file.
50925         * lib/unistr/u8-stpcpy.c: New file.
50926         * lib/unistr/u16-stpcpy.c: New file.
50927         * lib/unistr/u32-stpcpy.c: New file.
50928         * lib/unistr/u-stpcpy.h: New file.
50929
50930         * modules/unistr/u8-stpncpy: New file.
50931         * modules/unistr/u16-stpncpy: New file.
50932         * modules/unistr/u32-stpncpy: New file.
50933         * lib/unistr/u8-stpncpy.c: New file.
50934         * lib/unistr/u16-stpncpy.c: New file.
50935         * lib/unistr/u32-stpncpy.c: New file.
50936         * lib/unistr/u-stpncpy.h: New file.
50937
50938         * modules/unistr/u8-strcat: New file.
50939         * modules/unistr/u16-strcat: New file.
50940         * modules/unistr/u32-strcat: New file.
50941         * lib/unistr/u8-strcat.c: New file.
50942         * lib/unistr/u16-strcat.c: New file.
50943         * lib/unistr/u32-strcat.c: New file.
50944         * lib/unistr/u-strcat.h: New file.
50945
50946         * modules/unistr/u8-strchr: New file.
50947         * modules/unistr/u16-strchr: New file.
50948         * modules/unistr/u32-strchr: New file.
50949         * lib/unistr/u8-strchr.c: New file.
50950         * lib/unistr/u16-strchr.c: New file.
50951         * lib/unistr/u32-strchr.c: New file.
50952
50953         * modules/unistr/u8-strcmp: New file.
50954         * modules/unistr/u16-strcmp: New file.
50955         * modules/unistr/u32-strcmp: New file.
50956         * lib/unistr/u8-strcmp.c: New file.
50957         * lib/unistr/u16-strcmp.c: New file.
50958         * lib/unistr/u32-strcmp.c: New file.
50959
50960         * modules/unistr/u8-strcpy: New file.
50961         * modules/unistr/u16-strcpy: New file.
50962         * modules/unistr/u32-strcpy: New file.
50963         * lib/unistr/u8-strcpy.c: New file.
50964         * lib/unistr/u16-strcpy.c: New file.
50965         * lib/unistr/u32-strcpy.c: New file.
50966         * lib/unistr/u-strcpy.h: New file.
50967
50968         * modules/unistr/u8-strcspn: New file.
50969         * modules/unistr/u16-strcspn: New file.
50970         * modules/unistr/u32-strcspn: New file.
50971         * lib/unistr/u8-strcspn.c: New file.
50972         * lib/unistr/u16-strcspn.c: New file.
50973         * lib/unistr/u32-strcspn.c: New file.
50974         * lib/unistr/u-strcspn.h: New file.
50975
50976         * modules/unistr/u8-strdup: New file.
50977         * modules/unistr/u16-strdup: New file.
50978         * modules/unistr/u32-strdup: New file.
50979         * lib/unistr/u8-strdup.c: New file.
50980         * lib/unistr/u16-strdup.c: New file.
50981         * lib/unistr/u32-strdup.c: New file.
50982         * lib/unistr/u-strdup.h: New file.
50983
50984         * modules/unistr/u8-strlen: New file.
50985         * modules/unistr/u16-strlen: New file.
50986         * modules/unistr/u32-strlen: New file.
50987         * lib/unistr/u8-strlen.c: New file.
50988         * lib/unistr/u16-strlen.c: New file.
50989         * lib/unistr/u32-strlen.c: New file.
50990         * lib/unistr/u-strlen.h: New file.
50991
50992         * modules/unistr/u8-strmblen: New file.
50993         * modules/unistr/u16-strmblen: New file.
50994         * modules/unistr/u32-strmblen: New file.
50995         * lib/unistr/u8-strmblen.c: New file.
50996         * lib/unistr/u16-strmblen.c: New file.
50997         * lib/unistr/u32-strmblen.c: New file.
50998
50999         * modules/unistr/u8-strmbtouc: New file.
51000         * modules/unistr/u16-strmbtouc: New file.
51001         * modules/unistr/u32-strmbtouc: New file.
51002         * lib/unistr/u8-strmbtouc.c: New file.
51003         * lib/unistr/u16-strmbtouc.c: New file.
51004         * lib/unistr/u32-strmbtouc.c: New file.
51005
51006         * modules/unistr/u8-strncat: New file.
51007         * modules/unistr/u16-strncat: New file.
51008         * modules/unistr/u32-strncat: New file.
51009         * lib/unistr/u8-strncat.c: New file.
51010         * lib/unistr/u16-strncat.c: New file.
51011         * lib/unistr/u32-strncat.c: New file.
51012         * lib/unistr/u-strncat.h: New file.
51013
51014         * modules/unistr/u8-strncmp: New file.
51015         * modules/unistr/u16-strncmp: New file.
51016         * modules/unistr/u32-strncmp: New file.
51017         * lib/unistr/u8-strncmp.c: New file.
51018         * lib/unistr/u16-strncmp.c: New file.
51019         * lib/unistr/u32-strncmp.c: New file.
51020
51021         * modules/unistr/u8-strncpy: New file.
51022         * modules/unistr/u16-strncpy: New file.
51023         * modules/unistr/u32-strncpy: New file.
51024         * lib/unistr/u8-strncpy.c: New file.
51025         * lib/unistr/u16-strncpy.c: New file.
51026         * lib/unistr/u32-strncpy.c: New file.
51027         * lib/unistr/u-strncpy.h: New file.
51028
51029         * modules/unistr/u8-strnlen: New file.
51030         * modules/unistr/u16-strnlen: New file.
51031         * modules/unistr/u32-strnlen: New file.
51032         * lib/unistr/u8-strnlen.c: New file.
51033         * lib/unistr/u16-strnlen.c: New file.
51034         * lib/unistr/u32-strnlen.c: New file.
51035         * lib/unistr/u-strnlen.h: New file.
51036
51037         * modules/unistr/u8-strpbrk: New file.
51038         * modules/unistr/u16-strpbrk: New file.
51039         * modules/unistr/u32-strpbrk: New file.
51040         * lib/unistr/u8-strpbrk.c: New file.
51041         * lib/unistr/u16-strpbrk.c: New file.
51042         * lib/unistr/u32-strpbrk.c: New file.
51043         * lib/unistr/u-strpbrk.h: New file.
51044
51045         * modules/unistr/u8-strrchr: New file.
51046         * modules/unistr/u16-strrchr: New file.
51047         * modules/unistr/u32-strrchr: New file.
51048         * lib/unistr/u8-strrchr.c: New file.
51049         * lib/unistr/u16-strrchr.c: New file.
51050         * lib/unistr/u32-strrchr.c: New file.
51051
51052         * modules/unistr/u8-strspn: New file.
51053         * modules/unistr/u16-strspn: New file.
51054         * modules/unistr/u32-strspn: New file.
51055         * lib/unistr/u8-strspn.c: New file.
51056         * lib/unistr/u16-strspn.c: New file.
51057         * lib/unistr/u32-strspn.c: New file.
51058         * lib/unistr/u-strspn.h: New file.
51059
51060         * modules/unistr/u8-strstr: New file.
51061         * modules/unistr/u16-strstr: New file.
51062         * modules/unistr/u32-strstr: New file.
51063         * lib/unistr/u8-strstr.c: New file.
51064         * lib/unistr/u16-strstr.c: New file.
51065         * lib/unistr/u32-strstr.c: New file.
51066         * lib/unistr/u-strstr.h: New file.
51067
51068         * modules/unistr/u8-strtok: New file.
51069         * modules/unistr/u16-strtok: New file.
51070         * modules/unistr/u32-strtok: New file.
51071         * lib/unistr/u8-strtok.c: New file.
51072         * lib/unistr/u16-strtok.c: New file.
51073         * lib/unistr/u32-strtok.c: New file.
51074         * lib/unistr/u-strtok.h: New file.
51075
51076         * modules/unistr/u8-uctomb: New file.
51077         * modules/unistr/u16-uctomb: New file.
51078         * modules/unistr/u32-uctomb: New file.
51079         * lib/unistr/u8-uctomb.c: New file.
51080         * lib/unistr/u16-uctomb.c: New file.
51081         * lib/unistr/u32-uctomb.c: New file.
51082
51083         * MODULES.html.sh (Unicode string functions): Add the new modules.
51084
51085 2007-01-08  Bruno Haible  <bruno@clisp.org>
51086
51087         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
51088         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
51089         subdirectories.
51090
51091 2007-01-08  Karl Berry  <karl@gnu.org>
51092
51093         * doc/error.texi: mention that main() fns must set program_name
51094         when progname is used.
51095
51096 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
51097
51098         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
51099         WCTYPE_H is empty, for the benefit of builds from non-distclean
51100         directories.  Problem reported by Eric Blake in
51101         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
51102
51103 2007-01-08  Bruno Haible  <bruno@clisp.org>
51104
51105         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
51106         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
51107         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
51108         PROVIDE_CANONICALIZE_FILENAME_MODE.
51109         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
51110
51111 2007-01-08  Bruno Haible  <bruno@clisp.org>
51112
51113         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
51114         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
51115         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
51116         * lib/fts.c: Likewise.
51117         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
51118
51119 2006-12-25  Bruno Haible  <bruno@clisp.org>
51120
51121         * modules/utf8-ucs4-safe: New file.
51122         * lib/utf8-ucs4-safe.h: New file.
51123         * lib/unistr/utf8-ucs4-safe.c: New file.
51124
51125         * modules/utf16-ucs4-safe: New file.
51126         * lib/utf16-ucs4-safe.h: New file.
51127         * lib/unistr/utf16-ucs4-safe.c: New file.
51128
51129         * MODULES.html.sh (Unicode string functions): Add the new modules.
51130
51131 2007-01-08  Bruno Haible  <bruno@clisp.org>
51132
51133         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
51134         (Depends-on): Add unitypes.
51135         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
51136         (u8_mbtouc_aux): Move out to separate file.
51137         (u8_mbtouc): Use ucs4_t, uint8_t types.
51138         * lib/unistr/utf8-ucs4.c: New file.
51139
51140         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
51141         (Depends-on): Add unitypes.
51142         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
51143         (u16_mbtouc_aux): Move out to separate file.
51144         (u16_mbtouc): Use ucs4_t, uint16_t types.
51145         * lib/unistr/utf16-ucs4.c: New file.
51146
51147         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
51148         (Depends-on): Add unitypes.
51149         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
51150         (u8_uctomb_aux): Move out to separate file.
51151         (u8_uctomb): Use ucs4_t, uint8_t types.
51152         * lib/unistr/ucs4-utf8.c: New file.
51153
51154         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
51155         (Depends-on): Add unitypes.
51156         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
51157         (u16_uctomb_aux): Move out to separate file.
51158         (u16_uctomb): Use ucs4_t, uint16_t types.
51159         * lib/unistr/ucs4-utf16.c: New file.
51160
51161 2006-12-25  Bruno Haible  <bruno@clisp.org>
51162
51163         * modules/unitypes: New file.
51164         * lib/unitypes.h: New file.
51165         * MODULES.html.sh (func_all_modules): New section "Unicode string
51166         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
51167         this section. Add unitypes.
51168
51169 2007-01-08  Bruno Haible  <bruno@clisp.org>
51170
51171         Avoid variable names that conflict with those from libtool.
51172         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
51173         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
51174         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
51175         library_names_spec to acl_library_names_spec, hardcode_* to
51176         acl_hardcode_*.
51177         Reported by Ralf Wildenhues.
51178
51179 2007-01-08  Bruno Haible  <bruno@clisp.org>
51180
51181         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
51182         definition.
51183         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
51184         definition.
51185         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
51186         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
51187         definition.
51188         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
51189         definition.
51190         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
51191         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
51192         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
51193         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
51194         definition.
51195         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
51196         definition.
51197         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
51198         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
51199         GC_USE_<algorithm>.
51200         * lib/gc-libgcrypt.c: Likewise.
51201         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
51202         * modules/gc-arctwo (configure.ac): Likewise.
51203         * modules/gc-des (configure.ac): Likewise.
51204         * modules/gc-hmac-md5 (configure.ac): Likewise.
51205         * modules/gc-hmac-sha1 (configure.ac): Likewise.
51206         * modules/gc-md2 (configure.ac): Likewise.
51207         * modules/gc-md4 (configure.ac): Likewise.
51208         * modules/gc-md5 (configure.ac): Likewise.
51209         * modules/gc-random (configure.ac): Likewise.
51210         * modules/gc-rijndael (configure.ac): Likewise.
51211         * modules/gc-sha1 (configure.ac): Likewise.
51212
51213 2007-01-08  Bruno Haible  <bruno@clisp.org>
51214
51215         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
51216         macro definition.
51217         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
51218         definition.
51219         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
51220         definition.
51221         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
51222         * modules/fcntl-safer (configure.ac): Likewise.
51223         * modules/fopen-safer (configure.ac): Likewise.
51224         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
51225         GNULIB_FWRITEERROR macro definition.
51226
51227 2007-01-08  Bruno Haible  <bruno@clisp.org>
51228
51229         * m4/gnulib-common.m4: New file.
51230         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
51231         (func_get_filelist): Add m4/gnulib-common.m4.
51232
51233 2007-01-08  Bruno Haible  <bruno@clisp.org>
51234
51235         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
51236         command.
51237
51238 2007-01-08  Jim Meyering  <jim@meyering.net>
51239
51240         Use a more robust test for a "can't happen" condition.
51241         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
51242         narrowed the st_size value.  Presuming the "can't happen" condition
51243         is true, that narrowing could conceivably convert an invalid st_size
51244         value into a valid one.  Instead, use a change based on Matthew
51245         Woehlke's original patch.
51246
51247         Slight readability improvement: use an assert-like macro
51248         in place of literal "abort ()" uses.
51249         * lib/fts.c (fts_assert): Define.
51250         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
51251         Use this macro instead of a bare 'abort'.
51252
51253 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
51254
51255         Don't worry about using IRIX 5.3's wctype.h broken definitions;
51256         simply work around them.
51257         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
51258         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
51259         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
51260         declaring.
51261         Don't bother to define as macros, since the standard doesn't require it.
51262         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
51263         longer worry about IRIX 5.3.
51264         (HAVE_WCTYPE_CTMP_BUG): Remove.
51265
51266 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51267
51268         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
51269         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
51270         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
51271         Problems reported by Georg Schwarz for IRIX 5.3.
51272
51273         * gnulib-tool (autoconf_minversion): Take the maximum version number
51274         found, not the minimum.  Problem reported by James Youngman.
51275
51276 2007-01-03  Karl Berry  <karl@gnu.org>
51277
51278         * doc/error.texi: new file, explaining interaction with progname.
51279         * doc/gnulib.texi: include it.  Update copyright.
51280
51281 2007-01-03  Simon Josefsson  <simon@josefsson.org>
51282
51283         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
51284         AC_CANONICAL_HOST, to improve autobuild outputs.
51285
51286 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
51287             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51288
51289         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
51290         sockets, server sockets, and other file descriptors.  Count errors
51291         to compute the return value.  Reorder the code a bit to be easier
51292         to follow.  Don't set event bits that were not requested (except
51293         POLLERR and POLLHUP).
51294
51295 2007-01-01  Bruno Haible  <bruno@clisp.org>
51296
51297         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
51298
51299 2007-01-03  Jim Meyering  <jim@meyering.net>
51300
51301         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
51302
51303 2007-01-02  Bruno Haible  <bruno@clisp.org>
51304
51305         * modules/settime (Include): Require timespec.h.
51306         * modules/nanosleep (Include): Likewise.
51307
51308 2007-01-01  Bruno Haible  <bruno@clisp.org>
51309
51310         * gnulib-tool (func_emit_copyright_notice): Bump year.
51311         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
51312
51313 2007-01-01  Bruno Haible  <bruno@clisp.org>
51314
51315         Improve support for OpenBSD.
51316         * build-aux/config.rpath (libname_spec): Export.
51317         (library_names_spec): New variable. Export.
51318         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
51319         library_names_spec from the config.rpath output. Locate shared library
51320         through the name pattern in library_names_spec.
51321
51322 2007-01-01  Eric Blake  <ebb9@byu.net>
51323
51324         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
51325
51326 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
51327
51328         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
51329         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
51330         assume the C locale, and avoid an "eval" that could cause trouble.
51331         Problem with SORT reported by Bob Proulx.
51332
51333         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
51334         Define.  Trivial patch from Henning Nielsen Lund, originally
51335         sent to bug-grep@gnu.org today.
51336
51337 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
51338
51339         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
51340         struct stat.  Problem reported by Henning Nielsen Lund.
51341         * lib/acl.c: Include acl.h first, to check interface.  Don't
51342         bother to include sys/types.h and sys/stat.h again.
51343
51344 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51345
51346         Import the following change from libc; problem reported by
51347         Sven Verdoolaege.
51348
51349         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
51350
51351         [BZ #1373]
51352         * lib/argp.h: Remove __NTH for __argp_usage inline function.
51353
51354 2006-12-28  Jim Meyering  <jim@meyering.net>
51355
51356         * build-aux/announce-gen: Do not assume that the package
51357         builds any of tar.gz, tar.bz2, and .xdelta files.
51358         Suggestion from Simon Josefsson.
51359
51360 2006-12-28  Simon Josefsson  <simon@josefsson.org>
51361
51362         * modules/announce-gen: New file.
51363
51364 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
51365
51366         * lib/mbchar.h: Just include <wctype.h>; the wctype module
51367         handles its gotchas now.
51368         * lib/mbswidth.c: Likewise.
51369         * lib/wcwidth.h: Likewise.
51370         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
51371         and iswcntrl; the wctype module does this stuff now.
51372         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51373         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
51374         * modules/mbchar (Depends-on): Add wctype.
51375         * modules/mbswidth (Depends-on): Likewise.
51376         * modules/wcwidth (Depends-on): Likewise.
51377
51378 2006-12-27  Eric Blake  <ebb9@byu.net>
51379
51380         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
51381         module uses more than what <wctype.h> is required to provide.
51382
51383 2006-12-26  Eric Blake  <ebb9@byu.net>
51384
51385         * gnulib-tool (sed_extract_prog): Avoid space-tab.
51386
51387 2006-12-26  Eric Blake  <ebb9@byu.net>
51388
51389         * modules/absolute-header: New module.
51390         * modules/fcntl (Depends-on): Depend on it.
51391         * modules/inttypes (Depends-on): Likewise.
51392         * modules/stdint (Depends-on): Likewise.
51393         * modules/sys_stat (Depends-on): Likewise.
51394         * modules/wctype (Depends-on): Likewise.
51395         * MODULES.html.sh (Support for building libraries and
51396         executables): Document it.
51397
51398 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
51399
51400         * gnulib-tool (SED): Remove, undoing previous change.
51401         The problem was that it broke coreutils on Solaris, because
51402         "sed --posix" leaked into a makefile.
51403         (sed): New alias, if 'alias' and GNU sed.
51404
51405 2006-12-24  Jim Meyering  <jim@meyering.net>
51406
51407         Work around an fchownat bug in glibc-2.4:
51408         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
51409         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
51410         in spite of the -P option.
51411         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
51412         New macros.
51413         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
51414         * modules/openat (Files): Add lib/fchownat.c.
51415         * lib/openat.c (fchownat): Don't define here.  Move to...
51416         * lib/fchownat.c: ...this new file.
51417
51418 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51419
51420         Fix bug reported by Bruno Haible in
51421         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
51422         where quotearg.c didn't compile on Mac OS X 10.2 because it
51423         lacks <wchar.h> and wint_t.
51424         * lib/wctype_.h (__wctype_wint_t): New type.
51425         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
51426         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
51427         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
51428         Arg is now of type __wctype_wint_t, not wint_t.
51429         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
51430         substitute HAVE_WINT_T.
51431         * modules/wctype (Files): Add m4/wint_t.m4.
51432         (wctype.h): Substitute HAVE_WINT_T.
51433
51434 2006-12-23  Bruno Haible  <bruno@clisp.org>
51435
51436         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
51437
51438 2006-12-23  Bruno Haible  <bruno@clisp.org>
51439
51440         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
51441         S_ISLNK.
51442         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
51443         mingw.
51444
51445 2006-12-22  Bruno Haible  <bruno@clisp.org>
51446
51447         * lib/copy-file.c: Include acl.h.
51448         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
51449         Close the file descriptors only after being done with copy_acl.
51450         * modules/copy-file (Depends-on): Add acl.
51451
51452 2006-12-22  Bruno Haible  <bruno@clisp.org>
51453
51454         * gnulib-tool (SED): New variable.
51455         Use $SED instead of sed everywhere.
51456
51457 2006-12-22  Bruno Haible  <bruno@clisp.org>
51458
51459         * modules/no-c++: New file.
51460         * m4/no-c++.m4: New file.
51461         * MODULES.html.sh (Support for building libraries and executables):
51462         Add no-c++.
51463
51464 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
51465
51466         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
51467         Include <limits.h>, and use its INT_MAX to rewrite the
51468         j loop so that it does not overflow 'int'.  Problem reported by
51469         Ralf Wildenhues in
51470         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
51471         Play it safe by shifting left by 1 rather than multiplying by 2,
51472         as GCC is less likely to optimize this away when the value
51473         is signed (when it assumes overflow leads to undefined behavior).
51474         Also, don't assume time_t uses two's complement.
51475
51476 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
51477
51478         * MODULES.html.sh: New module wctype.
51479         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
51480         * lib/fnmatch.c: Don't bother to include <wchar.h> before
51481         <wctype.h>, since the new wctype module should fix this.
51482         * lib/quotearg.c: Include <wctype.h> unconditionally, since
51483         the wctype module should arrange for it.
51484         * lib/regex_internal.h: Likewise.
51485         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
51486         since the wctype module should handle this now.
51487         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
51488         * modules/fnmatch (Depends-on): Add wctype.
51489         * modules/quotearg (Depends-on): Likewise.
51490         * modules/regex (Depends-on): Likewise.
51491
51492 2006-12-19  Bruno Haible  <bruno@clisp.org>
51493
51494         * lib/strdup.h [C++]: Wrap definitions in extern "C".
51495         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
51496
51497 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51498
51499         * modules/savewd (Depends-on): Fix dependency on fcntl.
51500
51501 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51502
51503         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
51504         conforms to C99, rather than relying on the user's environment
51505         setting of STDINT_H.
51506
51507 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51508         and Eric Blake  <ebb9@byu.net>
51509
51510         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
51511         This is more consistent with the other defines here.
51512         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
51513         Port to z/OS.  Problem reported by Paul Gilmartin.
51514         Change local vars to use gl_ prefix rather than ac_.
51515         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
51516         with other defines.
51517         * modules/double-slash-root: New module.
51518         * modules/dirname (Files): Remove m4/double-slash-root.m4.
51519         (Depends-on): Add double-slash-root.
51520         * MODULES.html.sh (File system functions): Mention new module.
51521
51522 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
51523
51524         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
51525         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
51526         This is for the benefit of gzip, which doesn't do i18n.
51527
51528 2006-12-12  Jim Meyering  <jim@meyering.net>
51529
51530         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
51531         Reported by Andreas Schwab <schwab@suse.de>.
51532
51533 2006-12-12  Bruno Haible  <bruno@clisp.org>
51534
51535         Merge these changes.
51536         2006-09-05  Bruno Haible  <bruno@clisp.org>
51537         * lib/iconvme.c (iconv_string): No need to save and restore errno when
51538         iconv_alloc succeeded.
51539         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
51540         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
51541         test for " && dest " at the end - dest is always != NULL there. Call
51542         iconv with 4xNULL arguments initially, to reset the state. Call iconv
51543         with 2xNULL arguments, also to flush the state storage. Handle the
51544         IRIX iconv behaviour. Realloc the final result, to throw away unused
51545         memory.
51546
51547 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
51548
51549         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
51550         and fchmodat unconditionally, since glibc 2.4 has them.
51551         Problem reported by Arkadiusz Miskiewicz.
51552
51553 2006-12-10  Bruno Haible  <bruno@clisp.org>
51554
51555         * gnulib-tool (func_import): Show the include files only for those
51556         modules that are copied and specified.
51557         Reported by Karl Berry.
51558
51559 2006-12-08  Jim Meyering  <jim@meyering.net>
51560
51561         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
51562         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
51563
51564         * build-aux/announce-gen: Add two new options, both optional:
51565         --bootstrap-tools=TOOL_LIST
51566               a comma-separated list of tools, e.g.,
51567               autoconf,automake,bison,gnulib
51568         --gnulib-snapshot-date=DATE
51569               if gnulib is in the bootstrap tool list,
51570               then report this as the snapshot date.
51571               If not specified, use the current date/time.
51572               If you specify a date here, be sure it's UTC.
51573
51574 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51575
51576         * tests/test-argp-2.sh: Fix test to match actual output.
51577         (func_compare): Fix sed script to be portable.
51578
51579 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
51582         workaround for this case.  It is not autoconfigured now; offhand
51583         it's hard to see how to autoconfigure it.
51584
51585 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
51586
51587         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
51588         a directory that is about to be chowned.  Such a directory's
51589         initial file permissions should permit the owner only and this
51590         should not be changed until after the chown, since the group and
51591         other bits would be incorrect if they granted permission before
51592         the chown.
51593
51594         Fix porting problem for iswctype reported by Georg Schwarz in:
51595         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
51596         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
51597         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
51598         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
51599         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51600
51601 2006-12-03  Jim Meyering  <jim@meyering.net>
51602
51603         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
51604         p->fts_statp may not yet be defined.
51605         (fts_read): Instead, set it in the caller, once p->fts_statp is
51606         sure to be defined, and corresponds to a top-level directory.
51607         This bug made du -x fail.  Here's the coreutils test case:
51608         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
51609         Reported by Mike Frysinger.
51610
51611 2006-12-01  Jim Meyering  <jim@meyering.net>
51612
51613         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
51614         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
51615         Reported by Simon Josefsson.
51616
51617 2006-11-30  Jim Meyering  <jim@meyering.net>
51618
51619         * m4/warning.m4: Use the all-permissive copyright notice
51620         recommended by RMS (rather than LGPL).
51621         * m4/vararrays.m4: Likewise.
51622         * m4/flexmember.m4: Likewise.
51623
51624 2006-11-29  Bruno Haible  <bruno@clisp.org>
51625
51626         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
51627         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
51628         using +=.
51629         Reported by Simon Josefsson <simon@josefsson.org>.
51630
51631 2006-11-28  James Youngman <jay@gnu.org>
51632
51633         * README: Advise users that they might find the bug-gnulib@gnu.org
51634         and autotools-announce@gnu.org mailing lists useful.
51635
51636 2006-11-28  Bruno Haible  <bruno@clisp.org>
51637
51638         * m4/ptrdiff_max.m4: Remove file.
51639
51640 2006-11-21  Bruno Haible  <bruno@clisp.org>
51641
51642         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
51643         _AC_COMPUTE_INT.
51644         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51645         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
51646         _AC_COMPUTE_INT.
51647         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51648         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
51649         _AC_COMPUTE_INT.
51650         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51651
51652 2006-11-28  Jim Meyering  <jim@meyering.net>
51653
51654         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
51655         warning from "gcc -Wshadow" about shadowing the builtin.
51656
51657 2006-11-27  Bruno Haible  <bruno@clisp.org>
51658
51659         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
51660         _AC_COMPUTE_INT.
51661         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51662
51663 2006-11-27  Bruno Haible  <bruno@clisp.org>
51664             Paul Eggert  <eggert@cs.ucla.edu>
51665
51666         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
51667
51668 2006-11-26  Bruno Haible  <bruno@clisp.org>
51669
51670         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
51671         noinst_LTLIBRARIES.
51672
51673 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51674             Bruno Haible  <bruno@clisp.org>
51675
51676         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
51677         if compiling with "gcc -ansi".
51678
51679 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51680
51681         Fix some incompatibilities with gcc -ansi -pedantic.
51682         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
51683         if compiling pedantically with GCC, unless it's C99 or later.
51684         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
51685         it mishandles gcc -ansi -pedantic as well.
51686         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
51687         if gcc -pedantic.
51688         * lib/regexec.c (check_node_accept_bytes): Don't use auto
51689         initializers for struct if -pedantic, unless it's C99 or later.
51690
51691 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
51692
51693         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
51694         Don't close an fd more than once. Identical atimes indicate
51695         success, not failure.
51696
51697 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
51698
51699         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
51700
51701 2006-11-23  Jim Meyering  <jim@meyering.net>
51702
51703         * build-aux/announce-gen: New file.  From coreutils.
51704
51705 2006-11-22  Jim Meyering  <jim@meyering.net>
51706
51707         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
51708         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
51709         (fts_read): Use a temporary to narrow the overused st_size member
51710         before using it in a switch statement.  Reported by Matthew Woehlke.
51711
51712         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
51713         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
51714
51715 2006-11-20  Bruno Haible  <bruno@clisp.org>
51716
51717         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
51718         changequote instead of pairs of brackets.
51719         Reported by Andreas Schwab <schwab@suse.de>.
51720
51721 2006-11-21  Jim Meyering  <jim@meyering.net>
51722
51723         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
51724         so as to remain compatible with older compilers.
51725         Patch from Michael Deutschmann.
51726
51727 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51728
51729         * MODULES.html.sh (File system functions): Add openat.
51730
51731         * lib/openat.h (rpl_fstatat): New macro, if
51732         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
51733         (fstatat): Define to rpl_fstatat under the same conditions,
51734         unless COMPILING_FSTATAT.
51735         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
51736         seems to have the bug.
51737         * lib/fstatat.c: New file.
51738         * modules/openat (Files): Add it.
51739
51740 2006-11-20  Bruno Haible  <bruno@clisp.org>
51741
51742         * Makefile: New file.
51743
51744 2006-11-20  Jim Meyering  <jim@meyering.net>
51745
51746         The beginnings of syntax-related checks for gnulib.
51747         * lib/Makefile: New file.
51748         * lib/t-idcache: New script.  Ensure that the two halves of
51749         idcache.c stay in sync.
51750
51751         * lib/idcache.c: Adjust comments in user- and group- portions to
51752         be more accurate, and to be consistent with one another.
51753
51754 2006-11-20  Jim Meyering  <jim@meyering.net>
51755
51756         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
51757         continue using the flexible array member (thus, this module performs
51758         half as many malloc calls), with the addition that...
51759         (getgroup, getuser): Consistently record a non-match via an empty
51760         "name" string, and map an empty string match to a NULL return value.
51761         * modules/idcache (Depends-on): Re-add flexmember.
51762
51763         * lib/idcache.c (getuser): Remove all uses of the register keyword.
51764         (getuidbyname, getgroup, getgidbyname): Likewise.
51765
51766         Use cleaner syntax: NULL rather than 0.
51767         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
51768
51769 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51770
51771         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
51772         It mishandled the case where the group was missing.
51773         Problem reported by Greg Schafer.
51774         * modules/idcache: Likewise.
51775
51776 2006-11-18  Jim Meyering  <jim@meyering.net>
51777
51778         * check-module (%exempt_header): Add exception for some
51779         conditionally-included headers.
51780
51781         * modules/i-ring (Depends-on): Add verify.
51782         (License): Change to LGPL.
51783
51784 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51785
51786         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
51787         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
51788         and inttostr.h.  Use snprintf rather than uinttostr, so that
51789         LGPLed code doesn't depend on GPLed.
51790
51791 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51792
51793         * modules/inline (License): Change from GPL to LGPL.
51794
51795 2006-11-17  Jim Meyering  <jim@meyering.net>
51796
51797         * modules/d-type (License): Switch to LGPL.
51798
51799 2006-11-15  Bruno Haible  <bruno@clisp.org>
51800
51801         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
51802
51803 2006-11-15  Eric Blake  <ebb9@byu.net>
51804
51805         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
51806         the module dependency.
51807
51808 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51809             Bruno Haible  <bruno@clisp.org>
51810
51811         * gnulib-tool (func_create_testdir): Add license consistency check.
51812
51813 2006-11-15  Eric Blake  <ebb9@byu.net>
51814
51815         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
51816         random "(cached)" in configure output.
51817
51818 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51819
51820         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
51821         test for conforming inttypes.h is both announced and cached.
51822
51823         * MODULES.html.sh (seen_modules, seen_files): New variables.
51824         (func_module): Rewrite to use a few less gnulib-tool and sed
51825         invocations.  Avoid a couple of quadratic algorithms for ...
51826         (missed_modules, missed_files): ... these, with ...
51827         (func_append, func_tmpdir): ... these new functions, from
51828         gnulib-tool.  Analogously, install traps for cleanup.
51829
51830         * tests/test-gc.c (main): Remove unused variables.
51831         * tests/test-read-file.c: Include stdlib.h, for 'free'.
51832
51833 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
51834
51835         * modules/inttostr (License): Change to LGPL.
51836
51837 2006-11-14  Eric Blake  <ebb9@byu.net>
51838
51839         * modules/tempname (License): Change to LGPL.
51840
51841 2006-11-14  Eric Blake  <ebb9@byu.net>
51842
51843         * doc/functions.texi (Function Portability): *printf functions on
51844         Cygwin now understand all POSIX size specifiers.
51845
51846 2006-11-14  Bruno Haible  <bruno@clisp.org>
51847
51848         * modules/c-ctype (License): Change to LGPL.
51849
51850 2006-11-12  Bruno Haible  <bruno@clisp.org>
51851
51852         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51853         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
51854         for GNOME libraries, for which the include files are installed in
51855         subdirectories of $prefix/include.
51856
51857 2006-11-12  Bruno Haible  <bruno@clisp.org>
51858
51859         * m4/lib-link.m4: Require at least autoconf-2.54.
51860         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
51861         name to underscores for the --with option.
51862
51863 2006-11-13  Bruno Haible  <bruno@clisp.org>
51864
51865         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
51866         the tests directory.
51867         Reported by Ralf Wildenhues.
51868
51869 2006-11-13  Bruno Haible  <bruno@clisp.org>
51870
51871         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
51872         (func_emit_initmacro_end): Undo the override here.
51873         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
51874         Works around the famous automake error in coreutils.
51875
51876 2006-11-13  Eric Blake  <ebb9@byu.net>
51877
51878         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
51879         element, not its node.
51880
51881 2006-11-12  Bruno Haible  <bruno@clisp.org>
51882
51883         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
51884         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
51885
51886 2006-11-12  Bruno Haible  <bruno@clisp.org>
51887
51888         * gnulib-tool: New option --local-symlink.
51889         (func_usage): Document it.
51890         (lsymbolic): New variable.
51891         (func_import, func_create_testdir): If --symlink was not specified,
51892         test whether --local-symlink was specified and the file comes from
51893         the local_gnulib_dir.
51894
51895 2006-11-12  Bruno Haible  <bruno@clisp.org>
51896
51897         * gnulib-tool (func_ln): New function.
51898         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
51899
51900 2006-11-12  Bruno Haible  <bruno@clisp.org>
51901
51902         Finish support for source files in subdirectories.
51903         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
51904         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
51905         AUTOMAKE_OPTIONS.
51906         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
51907
51908 2006-11-12  Bruno Haible  <bruno@clisp.org>
51909
51910         * gnulib-tool (func_get_automake_snippet): Synthesize also an
51911         EXTRA_lib_SOURCES augmentation.
51912         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
51913
51914 2006-11-12  Jim Meyering  <jim@meyering.net>
51915
51916         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
51917         file descriptors.  This also averts a failure on systems with
51918         native openat support when a traversed directory lacks "x" access.
51919         * lib/fts_.h: Include "i-ring.h"
51920         (struct FTS) [fts_fd_ring]: New member.
51921         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
51922         (FCHDIR): Add parentheses.
51923         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
51924         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
51925         When descending, rather than simply closing the previous
51926         fts_cwd_fd value, push that file descriptor onto the ring.
51927         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
51928         (fts_open): Initialize the new fd_ring member.
51929         (fts_close): Clear the ring.
51930         (fts_safe_changedir): When possible, use our new fd_ring to skip
51931         the diropen and fstat and dev/ino comparison that would normally
51932         accompany a virtual `chdir ("..")'.
51933
51934         * modules/fts (Depends-on): Add i-ring.
51935         * modules/i-ring: New module.
51936         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
51937         * m4/i-ring.m4: New file.
51938
51939 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51940
51941         * gnulib-tool (func_create_testdir): Fix replacement of
51942         `build-aux' in configure.ac.  Run autotools in gltests
51943         subdirectory.
51944         (func_create_testdir, func_create_megatestdir, test): There is
51945         no need for '--force' in most autotool invocations in a new
51946         tree.  Actually fail the whole test if any of the tools, or the
51947         configure or make stages fail.
51948
51949         Sync from Automake.
51950         * build-aux/gnupload: Revert last change.  Add pointer to upload
51951         instructions of the GNU Maintenance Instructions.
51952         Suggestion by Karl Berry.
51953
51954 2006-11-10  Jim Meyering  <jim@meyering.net>
51955
51956         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
51957
51958 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51959
51960         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
51961         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
51962         (bind_textdomain_codeset) [! ENABLE_NLS]:
51963         Evaluate all the arguments.  That way, callers get compatible behavior
51964         if the arguments have side effects.  Also, it avoids some GCC
51965         diagnostics in some cases; Joel E. Denny reported problems when Bison
51966         was configured with --enable-gcc-warnigs.
51967
51968 2006-11-10  Jim Meyering  <jim@meyering.net>
51969
51970         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
51971         relevant options in CFLAGS (like -O, -fno-inline) are taken into
51972         account.
51973
51974 2006-11-10  Jim Meyering  <jim@meyering.net>
51975
51976         * modules/inline: New file/module.
51977         * modules/xalloc (Files): Remove m4/inline.m4.
51978         (Depends-on): Add inline, instead.
51979         * modules/oset: Likewise.
51980         * modules/list: Likewise.
51981
51982 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51983
51984         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
51985         Problem reported by Matthew Woehlke.
51986
51987 2006-11-09  Bruno Haible  <bruno@clisp.org>
51988
51989         * lib/tempname.c (gen_tempname): Remove variant that invokes
51990         __gen_tempname.
51991         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
51992         __gen_tempname.
51993
51994 2006-11-08  Bruno Haible  <bruno@clisp.org>
51995
51996         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
51997         to 'yes' instead of 'cross-compiling'.
51998
51999 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
52000
52001         * lib/quotearg.h (quotearg_free): New decl.
52002         * lib/quotearg.c (quotearg_free): New function.
52003         (slot0, nslots, slotvec0, slotvec):
52004         Now file-scope so that quotearg_free can get at them.
52005
52006 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52007
52008         Sync from Automake.
52009         * build-aux/gnupload: Add missing 'gnu' to example URL.
52010         Report by Karl Berry.
52011
52012 2006-11-08  Bruno Haible  <bruno@clisp.org>
52013
52014         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
52015         Suggested by Paul Eggert.
52016
52017 2006-11-08  Jim Meyering  <jim@meyering.net>
52018
52019         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
52020         It's already included if !_LIBC.
52021         (fts_safe_changedir): Add a comment.
52022
52023 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
52024
52025         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
52026         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
52027         Matthew Woehlke.
52028
52029         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
52030         definitions up, to avoid colliding with change below.
52031         (static_inline) [HAVE_INLINE]: New macro.
52032         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
52033         Provide extern decls when !HAVE_INLINE.  Do not define unless
52034         static_inline is defined, either by us or by xmalloc.c.  Use
52035         static_inline rather than static inline.
52036         (XCALLOC): Optimize sizeof(T) = 1 case.
52037         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
52038
52039 2006-11-07  Bruno Haible  <bruno@clisp.org>
52040
52041         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
52042         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
52043         AC_C_INLINE.
52044         * modules/xalloc (Files): Add m4/inline.m4.
52045
52046 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52047
52048         * README: Fix typo.
52049         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
52050         (Miscellanous Notes): ...from this.
52051
52052 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
52053
52054         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
52055         Mention that offsetof should be used instead of sizeof.
52056         From Bruno Haible.
52057
52058 2006-11-07  Bruno Haible  <bruno@clisp.org>
52059
52060         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
52061
52062 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
52063
52064         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
52065         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
52066         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
52067         (gl_tree_add_before, gl_tree_add_after):
52068         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
52069         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
52070         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52071         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
52072         (gl_linked_add_after, gl_linked_add_at): Likewise.
52073         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
52074         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
52075         (gl_tree_add_before, gl_tree_add_after): Likewise.
52076         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
52077         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
52078         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
52079
52080 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52081
52082         * lib/gl_oset.h: Use C comment style, not C++ comment style.
52083
52084 2006-11-06  Bruno Haible  <bruno@clisp.org>
52085
52086         * m4/inline.m4: New file.
52087         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
52088         * modules/list (Files): Add m4/inline.m4.
52089         * modules/oset (Files): Likewise.
52090
52091 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
52092
52093         * lib/idcache.c: Include <stddef.h>, for offsetof.
52094         (struct userid.name): Change from char * to a flexible array member.
52095         All uses changed.
52096         * modules/idcache (Depends-on): Add flexmember.
52097
52098         * MODULES.html.sh (Core language properties): New module flexmember.
52099         * modules/flexmember, m4/flexmember.m4: New files.
52100
52101         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
52102         inline functions that are identical with the old xnmalloc_inline,
52103         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
52104         that we can avoid some unnecessary integer multiplications and
52105         divisions in the common case where the element size is known at
52106         compile time.
52107         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
52108         needed.
52109         (xnboundedmalloc): Remove.
52110         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
52111         arguments, for consistency with rest of this header.
52112         (xcharalloc): Rewrite using XNMALLOC.
52113         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
52114         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
52115         versions have been moved to lib/xalloc.h and renamed to be the
52116         non-*_inline versions.
52117         (xmalloc, xrealloc): Implement without reference to the xnmalloc
52118         and xnrealloc functions, since those functions are now inline and
52119         now call us.
52120         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
52121         renaming described above.
52122         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
52123         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
52124         captures the dependency in AC_C_INLINE.
52125
52126         New module canonicalize-lgpl, proposed by Charles Wilson in
52127         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
52128         with a few small changes afterwards.
52129         * MODULES.html.sh (File system functions): New module
52130         canonicalize-lgpl.
52131         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
52132         and canonicalize_file_name.
52133         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
52134         * modules/canonicalize-lgpl: New files.
52135
52136 2006-11-05  Bruno Haible  <bruno@clisp.org>
52137
52138         * gnulib-tool (func_import, func_create_testdir): Create directories
52139         also for files in subdirectories of lib/.
52140
52141 2006-11-05  Bruno Haible  <bruno@clisp.org>
52142
52143         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
52144         ANSI C compliant.
52145
52146 2006-11-03  Bruno Haible  <bruno@clisp.org>
52147
52148         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
52149         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
52150         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
52151         (xnboundedmalloc): New inline function.
52152         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
52153         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
52154         xmalloc.
52155         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
52156         xmalloc.
52157         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
52158         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
52159         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
52160         xmalloc.
52161         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
52162         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
52163         xmalloc.
52164         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
52165         gl_tree_add_after): Use XMALLOC instead of xmalloc.
52166         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
52167         xmalloc.
52168         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
52169         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
52170         gl_tree_add_after): Use XMALLOC instead of xmalloc.
52171         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
52172         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
52173         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
52174         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
52175
52176 2006-11-03  Bruno Haible  <bruno@clisp.org>
52177
52178         * lib/c-ctype.h [C++]: Define functions without name mangling.
52179         * lib/fwriteerror.h [C++]: Likewise.
52180         * lib/gcd.h [C++]: Likewise.
52181         * lib/linebreak.h [C++]: Likewise.
52182
52183 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52184
52185         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
52186         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
52187         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
52188         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
52189         Check for functions and headers just once.
52190         Check for declaration of canonicalize_file_name.
52191         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
52192
52193 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
52194
52195         * gnulib-tool (func_import): Fix typo in actioncmd.
52196
52197 2006-11-02  Bruno Haible  <bruno@clisp.org>
52198
52199         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
52200         newline sequence in the Makefile.am snippet as a space, like "make"
52201         does.
52202         Reported by Roger Persson <perrog@gmail.com>.
52203
52204 2006-11-01  Bruno Haible  <bruno@clisp.org>
52205
52206         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
52207         already declared in <string.h>.
52208         * lib/strcase.h (strncasecmp): Don't declare it if yes.
52209
52210 2006-11-01  Bruno Haible  <bruno@clisp.org>
52211
52212         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
52213         * lib/strcase.h: Include <string.h>.
52214         (strcasecmp): Define to rpl_strcasecmp here.
52215
52216 2006-11-01  Bruno Haible  <bruno@clisp.org>
52217
52218         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
52219
52220 2006-11-01  Eric Blake  <ebb9@byu.net>
52221
52222         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
52223
52224         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
52225
52226 2006-10-29  Bruno Haible  <bruno@clisp.org>
52227
52228         Make it compile in C++ mode.
52229         * lib/full-write.c (full_rw): Add a cast.
52230
52231 2006-11-01  Bruno Haible  <bruno@clisp.org>
52232
52233         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
52234         be POSIX compliant.
52235         Reported by Roger Persson <perrog@gmail.com>.
52236
52237 2006-11-01  Eric Blake  <ebb9@byu.net>
52238
52239         * lib/getopt_.h: Fix comments.
52240
52241 2006-10-31  Eric Blake  <ebb9@byu.net>
52242
52243         * modules/tmpdir (Depends-on): Add sys_stat.
52244         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
52245         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
52246         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
52247         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
52248         tempname.
52249
52250 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
52251
52252         Avoid some C++ diagnostics reported by Bruno Haible.
52253         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
52254         xmalloc.
52255         (quotearg_alloc): Use xcharalloc rather than xmalloc.
52256         (struct slotvec): Move to top level.
52257         (quotearg_n_options): Rewrite to avoid xmalloc.
52258         * lib/xalloc.h (xcharalloc): New function.
52259         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
52260         [defined __cplusplus]: Add function template that provides result
52261         type propagation.  This part of the change is from Bruno Haible.
52262
52263 2006-10-29  Bruno Haible  <bruno@clisp.org>
52264
52265         Make it compile in C++ mode.
52266         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
52267         * lib/strnlen1.c (strnlen1): Cast memchr result.
52268         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
52269         * lib/clean-temp.c (string_equals, string_hash): Add casts.
52270         (create_temp_dir): Rename local variable 'template'.
52271         (compile_csharp_using_sscli): Add cast.
52272         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
52273         * lib/findprog.c (find_in_path): Likewise.
52274         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
52275         * lib/wait-process.c (register_slave_subprocess): Likewise.
52276
52277 2006-10-22  Bruno Haible  <bruno@clisp.org>
52278
52279         * modules/tsearch: New file.
52280         * lib/tsearch.h: New file.
52281         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
52282         * m4/tsearch.m4: New file.
52283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
52284
52285 2006-10-29  Eric Blake  <ebb9@byu.net>
52286
52287         * lib/arcfour.c: Assume config.h.
52288         * lib/arctwo.c: Likewise.
52289         * lib/base64.c: Likewise.
52290         * lib/check-version.c: Likewise.
52291         * lib/crc.c: Likewise.
52292         * lib/des.c: Likewise.
52293         * lib/gc-gnulib.c: Likewise.
52294         * lib/gc-libgcrypt.c: Likewise.
52295         * lib/gc-pbkdf2-sha1.c: Likewise.
52296         * lib/getaddrinfo.c: Likewise.
52297         * lib/getdelim.c: Likewise.
52298         * lib/getline.c: Likewise.
52299         * lib/hmac-md5.c: Likewise.
52300         * lib/hmac-sha1.c: Likewise.
52301         * lib/iconvme.c: Likewise.
52302         * lib/md2.c: Likewise.
52303         * lib/md4.c: Likewise.
52304         * lib/memxor.c: Likewise.
52305         * lib/read-file.c: Likewise.
52306         * lib/readline.c: Likewise.
52307         * lib/rijndael-alg-fst.c: Likewise.
52308         * lib/rijndael-api-fst.c: Likewise.
52309         * lib/xgetdomainname.c: Likewise.
52310
52311 2006-10-28  Eric Blake  <ebb9@byu.net>
52312
52313         * lib/xstrndup.c: Assume config.h.
52314
52315 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52316
52317         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
52318         stat-macros.h is now for our own macros, whereas stat_h is for
52319         macros in the <sys/stat.h> name space.
52320         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
52321         (STAT_MACROS_H): Remove.
52322         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
52323         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
52324         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
52325         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
52326         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
52327         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
52328         Move these macros to ...
52329         * lib/stat_.h: here.  Don't include stat-macros.h.
52330         * lib/canonicalize.c: Don't include stat-macros.h.
52331         * lib/chown.c: Likewise.
52332         * lib/euidaccess.c: Likewise.
52333         * lib/file-type.c: Likewise.
52334         * lib/filemode.c: Likewise.
52335         * lib/glob.c: Likewise.
52336         * lib/isapipe.c: Likewise.
52337         * lib/lchown.c: Likewise.
52338         * lib/lstat.c: Likewise.
52339         * lib/mkdir-p.c: Likewise.
52340         * lib/rmdir.c: Likewise.
52341         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
52342         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
52343         unless mkdir isn't declared, to speed up 'configure'.
52344         Always create sys/stat.h, since it's unlikely any real sys/stat.h
52345         would define all the S_* symbols.
52346         * modules/canonicalize (Depends-on):
52347         Depend on sys_stat, not stat-macros.
52348         * modules/chown: Likewise.
52349         * modules/euidaccess: Likewise.
52350         * modules/filemode: Likewise.
52351         * modules/file-type: Likewise.
52352         * modules/glob: Likewise.
52353         * modules/isapipe: Likewise.
52354         * modules/lchown: Likewise.
52355         * modules/lstat: Likewise.
52356         * modules/mkancesdirs: Likewise.
52357         * modules/rmdir: Likewise.
52358         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
52359         * modules/modechange: Likewise.
52360         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
52361         (configure.ac): Remove gl_STAT_MACROS.
52362         * modules/sys_stat (Depends-on): Remove stat-macros.
52363
52364 2006-10-27  Bruno Haible  <bruno@clisp.org>
52365
52366         * m4/signed.m4: Remove file.
52367         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
52368         invocation.
52369         * modules/vasnprintf (Files): Remove m4/signed.m4.
52370
52371 2006-10-27  Bruno Haible  <bruno@clisp.org>
52372
52373         Update to GNU gettext 0.16.
52374         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
52375         m4/inttypes-h.m4, m4/signed.m4.
52376         * m4/gettext.m4: Update to GNU gettext 0.16.
52377         * m4/intl.m4: New file, from GNU gettext.
52378         * m4/intldir.m4: New file, from GNU gettext.
52379         * config/srclist.txt: Update
52380
52381 2006-10-27  Eric Blake  <ebb9@byu.net>
52382
52383         * MODULES.html.sh: Document tempname.
52384         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
52385         dependencies.
52386         (Files): Move lib/tempname.c...
52387         * modules/tempname: ...to this new module.
52388         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
52389         (gl_PREREQ_TEMPNAME): Move...
52390         * m4/tempname.m4: ...to this new file.
52391         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
52392         * modules/sys_stat (Depends-on): Add stat-macros.
52393         * lib/stat_.h (includes): Pick up stat macros.
52394         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
52395         if stat macros are broken.
52396         * lib/tempname.c (includes): No need to include "stat-macros.h".
52397         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
52398         (direxists, __path_search) [!_LIBC]: Don't compile these in
52399         gnulib; the tmpdir module covers that.
52400         * lib/tempname.h: New file.
52401
52402 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
52403
52404         * COPYING: Explain how gnulib-tool converts licence headers.
52405         Almost all wording by Eric Blake.
52406
52407 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
52408
52409         * lib/mbchar.h (is_basic_table): Make read-only.
52410         * lib/mbchar.c (is_basic_table): Likewise.
52411         Reported by John Darrington.
52412
52413 2006-10-25  Bruno Haible  <bruno@clisp.org>
52414
52415         * lib/progname.h (set_program_name): Undefine before defining.
52416
52417 2006-10-25  Bruno Haible  <bruno@clisp.org>
52418
52419         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
52420         false for non-gcc C++ compilers.
52421         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52422
52423 2006-10-24  Bruno Haible  <bruno@clisp.org>
52424
52425         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
52426         iconv implementations like Irix iconv.
52427
52428 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52429
52430         * modules/vararrays: New file.
52431         * m4/vararrays.m4: New file, taken from diffutils.
52432         * MODULES.html.sh: New module vararrays.
52433
52434 2006-10-24  Karl Berry  <karl@gnu.org>
52435
52436         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
52437         Don't call GNU Unix.
52438
52439 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52440
52441         * users.txt: Add Libtool.
52442
52443         Sync from Libtool:
52444
52445         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52446
52447         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
52448         to gnulib's policy of including config.h unconditionally.
52449
52450 2006-10-24  Bruno Haible  <bruno@clisp.org>
52451
52452         * modules/wcwidth (Files): Add m4/wint_t.m4.
52453         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
52454         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
52455
52456 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52457
52458         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
52459         to pacify GCC with some -W flags enabled.  Problem reported by
52460         Bruno Haible.
52461
52462 2006-10-24  Jim Meyering  <jim@meyering.net>
52463
52464         * MODULES.html.sh: Remove uinttostr.  It's not a module.
52465         Reported by Karl Berry.
52466
52467 2006-10-23  Bruno Haible  <bruno@clisp.org>
52468
52469         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
52470
52471 2006-10-24  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/gl_list.h: Use C comment style, not C++ comment style.
52474
52475 2006-10-23  Eric Blake  <ebb9@byu.net>
52476
52477         * lib/getaddrinfo.c (includes): Add missing include.
52478
52479 2006-10-23  Bruno Haible  <bruno@clisp.org>
52480             Paul Eggert  <eggert@cs.ucla.edu>
52481
52482         Ability to rename obstack_free.
52483         * lib/obstack.h (__obstack_free): New macro. Declare instead of
52484         obstack_free.
52485         (obstack_free): Invoke the __obstack_free macro.
52486         * lib/obstack.c (obstack_free): Use __obstack_free macro.
52487
52488 2006-10-23  Bruno Haible  <bruno@clisp.org>
52489             Paul Eggert  <eggert@cs.ucla.edu>
52490
52491         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
52492         __argc, __argv from the declaration. (They are defined as macros on
52493         mingw.)
52494
52495 2006-10-22  Bruno Haible  <bruno@clisp.org>
52496
52497         * doc/gnulib-intro.texi: New file.
52498         * doc/gnulib.texi: Include it.
52499
52500 2006-10-21  Bruno Haible  <bruno@clisp.org>
52501
52502         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
52503         "Introduction", "Miscellanous Notes", "Particular Modules".
52504
52505 2006-10-21  Bruno Haible  <bruno@clisp.org>
52506
52507         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52508         Change mostlyclean-local rule to avoid sh syntax error from bash
52509         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
52510
52511 2006-10-23  Jim Meyering  <jim@meyering.net>
52512
52513         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
52514         in place of snprintf.
52515
52516         * modules/inttostr (Files): Add lib/uinttostr.c.
52517         * lib/uinttostr.c (inttostr): New file/function.
52518         * lib/inttostr.h (uinttostr): Declare.
52519         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
52520         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
52521         Add uinttostr.
52522         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
52523
52524 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
52525
52526         * lib/canonicalize.c (ELOOP): Define if not already defined.
52527         Problem reported by Bruno Haible in
52528         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
52529
52530 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
52531
52532         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
52533         Problem reported by Perry Smith and Ville Laurikari.
52534
52535         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
52536         uses.
52537
52538 2006-10-19  Bruno Haible  <bruno@clisp.org>
52539
52540         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
52541         for mingw.
52542
52543 2006-10-19  Bruno Haible  <bruno@clisp.org>
52544
52545         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
52546         Needed for mingw.
52547
52548 2006-10-19  Bruno Haible  <bruno@clisp.org>
52549
52550         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
52551
52552 2006-10-19  Bruno Haible  <bruno@clisp.org>
52553
52554         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
52555         it.
52556
52557 2006-10-19  Bruno Haible  <bruno@clisp.org>
52558
52559         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
52560         invocation.
52561
52562 2006-10-19  Bruno Haible  <bruno@clisp.org>
52563
52564         * gnulib-tool (func_create_testdir): Don't include ftruncate and
52565         mountlist by default.
52566
52567 2006-10-16  Bruno Haible  <bruno@clisp.org>
52568
52569         * lib/c-strstr.c: Include c-strstr.h.
52570
52571 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
52572
52573         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
52574         in a slash.
52575
52576 2006-10-18  Bruno Haible  <bruno@clisp.org>
52577
52578         * lib/lock.h [C++]: Wrap definitions in extern "C".
52579
52580 2006-10-18  Bruno Haible  <bruno@clisp.org>
52581
52582         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
52583         gl_LIBOBJS list.
52584
52585 2006-10-18  Bruno Haible  <bruno@clisp.org>
52586
52587         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
52588
52589 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
52590
52591         * lib/xstrtol.h: Include gettext.h.
52592         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
52593         Problem reported by Eric Blake.
52594         * modules/xstrtol (Depends-on): Add gettext-h.
52595
52596 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
52597
52598         * lib/strftime.c (advance): New macro.
52599         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
52600         incomplete type, so you can't add 0 to it.  Problem and patch
52601         reported by Eelco Dolstra for dietlibc.
52602
52603 2006-10-18  Jim Meyering  <jim@meyering.net>
52604
52605         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
52606         type for a local, and rename it: s/up/user_proc/.
52607
52608 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52609
52610         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
52611         READ_UTMP_USER_PROCESS.
52612         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
52613
52614 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52615
52616         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
52617         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
52618
52619 2006-10-17  Eric Blake  <ebb9@byu.net>
52620
52621         * lib/sigprocmask.c (sigprocmask): Fix typo.
52622
52623         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
52624
52625         * modules/clean-temp (Makefile.am): Don't add to make output...
52626         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
52627         config.h.
52628
52629 2006-10-17  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
52632         differently if DEFAULT_TEXT_DOMAIN is set.
52633
52634 2006-10-16  Bruno Haible  <bruno@clisp.org>
52635
52636         * lib/clean-temp.c: Include fwriteerror.h.
52637
52638 2006-10-16  Bruno Haible  <bruno@clisp.org>
52639
52640         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
52641
52642 2006-10-16  Bruno Haible  <bruno@clisp.org>
52643
52644         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
52645         * lib/sigprocmask.h: Include <sys/types.h>.
52646         (sigset_t): Use the system's definition if present.
52647
52648 2006-10-17  Eric Blake  <ebb9@byu.net>
52649
52650         * lib/xvasprintf.c (includes): Assume config.h.
52651         * lib/xasprintf.c (includes): Likewise.
52652
52653 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52654
52655         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
52656         at least as wide as intmax_t.
52657
52658 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
52659
52660         (Imported from Automake.)
52661         * build-aux/gnupload: Update to version 1.1 of directive file.
52662
52663 2006-10-16  Eric Blake  <ebb9@byu.net>
52664
52665         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
52666         match Automake 1.10a.
52667
52668 2006-10-14  Bruno Haible  <bruno@clisp.org>
52669
52670         * modules/sigprocmask: New file.
52671         * lib/sigprocmask.h: New file.
52672         * lib/sigprocmask.c: New file.
52673         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
52674         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
52675         request sigprocmask.o.
52676         (gl_PREREQ_SIGPROCMASK): New macro.
52677         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
52678         (Depends-on): Add sigprocmask.
52679         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
52680         gt_SIGNALBLOCKING. Test for 'raise' only once.
52681         * lib/fatal-signal.c: Include sigprocmask.h.
52682         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
52683         unblock_fatal_signals): Define always.
52684         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52685         sigprocmask.
52686
52687 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52688
52689         Sync from Automake.
52690         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
52691         which incorrectly sets the mode of an existing destination
52692         directory.  In some cases the unpatched install-sh could do the
52693         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
52694         system.  We hope this is rare in practice, but it's clearly worth
52695         fixing.  Problem reported by Alex Unleashed in
52696         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
52697         Also, don't bother to check for -m bugs unless we're using -m;
52698         suggested by Stepan Kasal.
52699
52700 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52701
52702         Sync from Automake.
52703         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
52704         `-c' flag, so they appear at the same position as in %FASTDEP%
52705         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
52706         which ignores unknown options only after the first non-option.
52707         Bug report against M4 by Nelson H. F. Beebe.
52708
52709 2006-10-13  Jim Meyering  <jim@meyering.net>
52710
52711         Fix a bug in yesterday's change.
52712         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
52713         p->fts_statp->st_dev would be used uninitialized.
52714         Ensures that we always call fts_stat on the very first entry.
52715         Miklos Szeredi reported that find -xdev stopped working.
52716
52717 2006-10-12  Bruno Haible  <bruno@clisp.org>
52718
52719         * gnulib-tool (func_get_automake_snippet): Append an automatically
52720         computed EXTRA_DIST augmentation.
52721         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
52722         * modules/alloca-opt (Makefile.am): Likewise.
52723         * modules/allocsa (Makefile.am): Likewise.
52724         * modules/arcfour (Makefile.am): Likewise.
52725         * modules/arctwo (Makefile.am): Likewise.
52726         * modules/argmatch (Makefile.am): Likewise.
52727         * modules/argz (Makefile.am): Likewise.
52728         * modules/atexit (Makefile.am): Likewise.
52729         * modules/backupfile (Makefile.am): Likewise.
52730         * modules/byteswap (Makefile.am): Likewise.
52731         * modules/c-strtod (Makefile.am): Likewise.
52732         * modules/c-strtold (Makefile.am): Likewise.
52733         * modules/calloc (Makefile.am): Likewise.
52734         * modules/canon-host (Makefile.am): Likewise.
52735         * modules/canonicalize (Makefile.am): Likewise.
52736         * modules/chdir-long (Makefile.am): Likewise.
52737         * modules/chdir-safer (Makefile.am): Likewise.
52738         * modules/check-version (Makefile.am): Likewise.
52739         * modules/chown (Makefile.am): Likewise.
52740         * modules/cloexec (Makefile.am): Likewise.
52741         * modules/close-stream (Makefile.am): Likewise.
52742         * modules/closeout (Makefile.am): Likewise.
52743         * modules/crc (Makefile.am): Likewise.
52744         * modules/csharpexec (Makefile.am): Likewise.
52745         * modules/cycle-check (Makefile.am): Likewise.
52746         * modules/des (Makefile.am): Likewise.
52747         * modules/dev-ino (Makefile.am): Likewise.
52748         * modules/dirfd (Makefile.am): Likewise.
52749         * modules/dirname (Makefile.am): Likewise.
52750         * modules/dup2 (Makefile.am): Likewise.
52751         * modules/eealloc (Makefile.am): Likewise.
52752         * modules/error (Makefile.am): Likewise.
52753         * modules/euidaccess (Makefile.am): Likewise.
52754         * modules/exclude (Makefile.am): Likewise.
52755         * modules/exitfail (Makefile.am): Likewise.
52756         * modules/fcntl-safer (Makefile.am): Likewise.
52757         * modules/fcntl (Makefile.am): Likewise.
52758         * modules/file-type (Makefile.am): Likewise.
52759         * modules/fileblocks (Makefile.am): Likewise.
52760         * modules/filemode (Makefile.am): Likewise.
52761         * modules/filenamecat (Makefile.am): Likewise.
52762         * modules/fnmatch (Makefile.am): Likewise.
52763         * modules/fopen-safer (Makefile.am): Likewise.
52764         * modules/fpending (Makefile.am): Likewise.
52765         * modules/fprintftime (Makefile.am): Likewise.
52766         * modules/free (Makefile.am): Likewise.
52767         * modules/fsusage (Makefile.am): Likewise.
52768         * modules/ftruncate (Makefile.am): Likewise.
52769         * modules/fts (Makefile.am): Likewise.
52770         * modules/gc-arcfour (Makefile.am): Likewise.
52771         * modules/gc-des (Makefile.am): Likewise.
52772         * modules/gc-hmac-md5 (Makefile.am): Likewise.
52773         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
52774         * modules/gc-md4 (Makefile.am): Likewise.
52775         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
52776         * modules/gc-sha1 (Makefile.am): Likewise.
52777         * modules/gc (Makefile.am): Likewise.
52778         * modules/getaddrinfo (Makefile.am): Likewise.
52779         * modules/getcwd (Makefile.am): Likewise.
52780         * modules/getdelim (Makefile.am): Likewise.
52781         * modules/getdomainname (Makefile.am): Likewise.
52782         * modules/getgroups (Makefile.am): Likewise.
52783         * modules/gethostname (Makefile.am): Likewise.
52784         * modules/gethrxtime (Makefile.am): Likewise.
52785         * modules/getline (Makefile.am): Likewise.
52786         * modules/getloadavg (Makefile.am): Likewise.
52787         * modules/getlogin_r (Makefile.am): Likewise.
52788         * modules/getndelim2 (Makefile.am): Likewise.
52789         * modules/getopt (Makefile.am): Likewise.
52790         * modules/getpagesize (Makefile.am): Likewise.
52791         * modules/getpass-gnu (Makefile.am): Likewise.
52792         * modules/getpass (Makefile.am): Likewise.
52793         * modules/getsubopt (Makefile.am): Likewise.
52794         * modules/gettime (Makefile.am): Likewise.
52795         * modules/gettimeofday (Makefile.am): Likewise.
52796         * modules/getugroups (Makefile.am): Likewise.
52797         * modules/getusershell (Makefile.am): Likewise.
52798         * modules/glob (Makefile.am): Likewise.
52799         * modules/group-member (Makefile.am): Likewise.
52800         * modules/hard-locale (Makefile.am): Likewise.
52801         * modules/hash (Makefile.am): Likewise.
52802         * modules/hmac-md5 (Makefile.am): Likewise.
52803         * modules/hmac-sha1 (Makefile.am): Likewise.
52804         * modules/human (Makefile.am): Likewise.
52805         * modules/idcache (Makefile.am): Likewise.
52806         * modules/imaxabs (Makefile.am): Likewise.
52807         * modules/imaxdiv (Makefile.am): Likewise.
52808         * modules/inet_ntop (Makefile.am): Likewise.
52809         * modules/inet_pton (Makefile.am): Likewise.
52810         * modules/intprops (Makefile.am): Likewise.
52811         * modules/inttostr (Makefile.am): Likewise.
52812         * modules/inttypes (Makefile.am): Likewise.
52813         * modules/isapipe (Makefile.am): Likewise.
52814         * modules/javaversion (Makefile.am): Likewise.
52815         * modules/lchmod (Makefile.am): Likewise.
52816         * modules/lchown (Makefile.am): Likewise.
52817         * modules/localcharset (Makefile.am): Likewise.
52818         * modules/long-options (Makefile.am): Likewise.
52819         * modules/lstat (Makefile.am): Likewise.
52820         * modules/malloc (Makefile.am): Likewise.
52821         * modules/mathl (Makefile.am): Likewise.
52822         * modules/mbchar (Makefile.am): Likewise.
52823         * modules/md2 (Makefile.am): Likewise.
52824         * modules/md4 (Makefile.am): Likewise.
52825         * modules/md5 (Makefile.am): Likewise.
52826         * modules/memcasecmp (Makefile.am): Likewise.
52827         * modules/memchr (Makefile.am): Likewise.
52828         * modules/memcmp (Makefile.am): Likewise.
52829         * modules/memcoll (Makefile.am): Likewise.
52830         * modules/memcpy (Makefile.am): Likewise.
52831         * modules/memmem (Makefile.am): Likewise.
52832         * modules/memmove (Makefile.am): Likewise.
52833         * modules/mempcpy (Makefile.am): Likewise.
52834         * modules/memrchr (Makefile.am): Likewise.
52835         * modules/memset (Makefile.am): Likewise.
52836         * modules/memxor (Makefile.am): Likewise.
52837         * modules/mkancesdirs (Makefile.am): Likewise.
52838         * modules/mkdir-p (Makefile.am): Likewise.
52839         * modules/mkdir (Makefile.am): Likewise.
52840         * modules/mkdtemp (Makefile.am): Likewise.
52841         * modules/mkstemp (Makefile.am): Likewise.
52842         * modules/mktime (Makefile.am): Likewise.
52843         * modules/modechange (Makefile.am): Likewise.
52844         * modules/mountlist (Makefile.am): Likewise.
52845         * modules/nanosleep (Makefile.am): Likewise.
52846         * modules/obstack (Makefile.am): Likewise.
52847         * modules/openat (Makefile.am): Likewise.
52848         * modules/pagealign_alloc (Makefile.am): Likewise.
52849         * modules/pathmax (Makefile.am): Likewise.
52850         * modules/physmem (Makefile.am): Likewise.
52851         * modules/poll (Makefile.am): Likewise.
52852         * modules/posixtm (Makefile.am): Likewise.
52853         * modules/posixver (Makefile.am): Likewise.
52854         * modules/putenv (Makefile.am): Likewise.
52855         * modules/quote (Makefile.am): Likewise.
52856         * modules/quotearg (Makefile.am): Likewise.
52857         * modules/raise (Makefile.am): Likewise.
52858         * modules/read-file (Makefile.am): Likewise.
52859         * modules/readline (Makefile.am): Likewise.
52860         * modules/readlink (Makefile.am): Likewise.
52861         * modules/readtokens (Makefile.am): Likewise.
52862         * modules/readutmp (Makefile.am): Likewise.
52863         * modules/realloc (Makefile.am): Likewise.
52864         * modules/regex (Makefile.am): Likewise.
52865         * modules/rename-dest-slash (Makefile.am): Likewise.
52866         * modules/rename (Makefile.am): Likewise.
52867         * modules/rijndael (Makefile.am): Likewise.
52868         * modules/rmdir (Makefile.am): Likewise.
52869         * modules/rpmatch (Makefile.am): Likewise.
52870         * modules/safe-read (Makefile.am): Likewise.
52871         * modules/safe-write (Makefile.am): Likewise.
52872         * modules/same-inode (Makefile.am): Likewise.
52873         * modules/same (Makefile.am): Likewise.
52874         * modules/save-cwd (Makefile.am): Likewise.
52875         * modules/savedir (Makefile.am): Likewise.
52876         * modules/setenv (Makefile.am): Likewise.
52877         * modules/settime (Makefile.am): Likewise.
52878         * modules/sha1 (Makefile.am): Likewise.
52879         * modules/sig2str (Makefile.am): Likewise.
52880         * modules/snprintf (Makefile.am): Likewise.
52881         * modules/stat-macros (Makefile.am): Likewise.
52882         * modules/stat-time (Makefile.am): Likewise.
52883         * modules/stdbool (Makefile.am): Likewise.
52884         * modules/stdint (Makefile.am): Likewise.
52885         * modules/stdlib-safer (Makefile.am): Likewise.
52886         * modules/stpcpy (Makefile.am): Likewise.
52887         * modules/stpncpy (Makefile.am): Likewise.
52888         * modules/strcase (Makefile.am): Likewise.
52889         * modules/strcasestr (Makefile.am): Likewise.
52890         * modules/strchrnul (Makefile.am): Likewise.
52891         * modules/strcspn (Makefile.am): Likewise.
52892         * modules/strdup (Makefile.am): Likewise.
52893         * modules/strerror (Makefile.am): Likewise.
52894         * modules/strftime (Makefile.am): Likewise.
52895         * modules/strndup (Makefile.am): Likewise.
52896         * modules/strnlen (Makefile.am): Likewise.
52897         * modules/strpbrk (Makefile.am): Likewise.
52898         * modules/strsep (Makefile.am): Likewise.
52899         * modules/strstr (Makefile.am): Likewise.
52900         * modules/strtod (Makefile.am): Likewise.
52901         * modules/strtoimax (Makefile.am): Likewise.
52902         * modules/strtok_r (Makefile.am): Likewise.
52903         * modules/strtol (Makefile.am): Likewise.
52904         * modules/strtoll (Makefile.am): Likewise.
52905         * modules/strtoul (Makefile.am): Likewise.
52906         * modules/strtoull (Makefile.am): Likewise.
52907         * modules/strtoumax (Makefile.am): Likewise.
52908         * modules/strverscmp (Makefile.am): Likewise.
52909         * modules/sys_socket (Makefile.am): Likewise.
52910         * modules/sys_stat (Makefile.am): Likewise.
52911         * modules/sysexits (Makefile.am): Likewise.
52912         * modules/time_r (Makefile.am): Likewise.
52913         * modules/timegm (Makefile.am): Likewise.
52914         * modules/timespec (Makefile.am): Likewise.
52915         * modules/tmpfile-safer (Makefile.am): Likewise.
52916         * modules/trim (Makefile.am): Likewise.
52917         * modules/unistd-safer (Makefile.am): Likewise.
52918         * modules/unlinkdir (Makefile.am): Likewise.
52919         * modules/unlocked-io (Makefile.am): Likewise.
52920         * modules/userspec (Makefile.am): Likewise.
52921         * modules/utime (Makefile.am): Likewise.
52922         * modules/utimecmp (Makefile.am): Likewise.
52923         * modules/utimens (Makefile.am): Likewise.
52924         * modules/vasnprintf (Makefile.am): Likewise.
52925         * modules/vasprintf (Makefile.am): Likewise.
52926         * modules/vsnprintf (Makefile.am): Likewise.
52927         * modules/xalloc (Makefile.am): Likewise.
52928         * modules/xgetcwd (Makefile.am): Likewise.
52929         * modules/xnanosleep (Makefile.am): Likewise.
52930         * modules/xreadlink (Makefile.am): Likewise.
52931         * modules/xstrtod (Makefile.am): Likewise.
52932         * modules/xstrtol (Makefile.am): Likewise.
52933         * modules/xstrtold (Makefile.am): Likewise.
52934         * modules/yesno (Makefile.am): Likewise.
52935         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
52936
52937 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
52938
52939         * modules/error (Makefile.am): Distribute files through
52940         EXTRA_DIST, not lib_SOURCES.
52941
52942 2006-10-12  Eric Blake  <ebb9@byu.net>
52943
52944         * modules/error (Makefile.am): Distribute files in /lib.
52945         * modules/obstack (Makefile.am): Likewise.
52946
52947 2006-10-12  Bruno Haible  <bruno@clisp.org>
52948
52949         * modules/acl (Makefile.am): Distribute all files in lib/ through
52950         EXTRA_DIST.
52951         * modules/arcfour (Makefile.am): Likewise.
52952         * modules/arctwo (Makefile.am): Likewise.
52953         * modules/argmatch (Makefile.am): Likewise.
52954         * modules/argz (Makefile.am): Likewise.
52955         * modules/atexit (Makefile.am): Likewise.
52956         * modules/backupfile (Makefile.am): Likewise.
52957         * modules/c-strtod (Makefile.am): Likewise.
52958         * modules/c-strtold (Makefile.am): Likewise.
52959         * modules/calloc (Makefile.am): Likewise.
52960         * modules/canon-host (Makefile.am): Likewise.
52961         * modules/canonicalize (Makefile.am): Likewise.
52962         * modules/chdir-long (Makefile.am): Likewise.
52963         * modules/chdir-safer (Makefile.am): Likewise.
52964         * modules/check-version (Makefile.am): Likewise.
52965         * modules/chown (Makefile.am): Likewise.
52966         * modules/cloexec (Makefile.am): Likewise.
52967         * modules/close-stream (Makefile.am): Likewise.
52968         * modules/closeout (Makefile.am): Likewise.
52969         * modules/crc (Makefile.am): Likewise.
52970         * modules/cycle-check (Makefile.am): Likewise.
52971         * modules/des (Makefile.am): Likewise.
52972         * modules/dirfd (Makefile.am): Likewise.
52973         * modules/dirname (Makefile.am): Likewise.
52974         * modules/dup2 (Makefile.am): Likewise.
52975         * modules/euidaccess (Makefile.am): Likewise.
52976         * modules/exclude (Makefile.am): Likewise.
52977         * modules/exitfail (Makefile.am): Likewise.
52978         * modules/fcntl-safer (Makefile.am): Likewise.
52979         * modules/file-type (Makefile.am): Likewise.
52980         * modules/fileblocks (Makefile.am): Likewise.
52981         * modules/filemode (Makefile.am): Likewise.
52982         * modules/filenamecat (Makefile.am): Likewise.
52983         * modules/fnmatch (Makefile.am): Likewise.
52984         * modules/fopen-safer (Makefile.am): Likewise.
52985         * modules/fpending (Makefile.am): Likewise.
52986         * modules/fprintftime (Makefile.am): Likewise.
52987         * modules/free (Makefile.am): Likewise.
52988         * modules/fsusage (Makefile.am): Likewise.
52989         * modules/ftruncate (Makefile.am): Likewise.
52990         * modules/fts (Makefile.am): Likewise.
52991         * modules/gc (Makefile.am): Likewise.
52992         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
52993         * modules/getaddrinfo (Makefile.am): Likewise.
52994         * modules/getcwd (Makefile.am): Likewise.
52995         * modules/getdelim (Makefile.am): Likewise.
52996         * modules/getdomainname (Makefile.am): Likewise.
52997         * modules/getgroups (Makefile.am): Likewise.
52998         * modules/gethostname (Makefile.am): Likewise.
52999         * modules/gethrxtime (Makefile.am): Likewise.
53000         * modules/getline (Makefile.am): Likewise.
53001         * modules/getloadavg (Makefile.am): Likewise.
53002         * modules/getlogin_r (Makefile.am): Likewise.
53003         * modules/getopt (Makefile.am): Likewise.
53004         * modules/getpass (Makefile.am): Likewise.
53005         * modules/getpass-gnu (Makefile.am): Likewise.
53006         * modules/getsubopt (Makefile.am): Likewise.
53007         * modules/gettime (Makefile.am): Likewise.
53008         * modules/gettimeofday (Makefile.am): Likewise.
53009         * modules/getugroups (Makefile.am): Likewise.
53010         * modules/getusershell (Makefile.am): Likewise.
53011         * modules/glob (Makefile.am): Likewise.
53012         * modules/group-member (Makefile.am): Likewise.
53013         * modules/hard-locale (Makefile.am): Likewise.
53014         * modules/hash (Makefile.am): Likewise.
53015         * modules/hmac-md5 (Makefile.am): Likewise.
53016         * modules/hmac-sha1 (Makefile.am): Likewise.
53017         * modules/human (Makefile.am): Likewise.
53018         * modules/idcache (Makefile.am): Likewise.
53019         * modules/imaxabs (Makefile.am): Likewise.
53020         * modules/imaxdiv (Makefile.am): Likewise.
53021         * modules/inet_ntop (Makefile.am): Likewise.
53022         * modules/inet_pton (Makefile.am): Likewise.
53023         * modules/inttostr (Makefile.am): Likewise.
53024         * modules/isapipe (Makefile.am): Likewise.
53025         * modules/lchown (Makefile.am): Likewise.
53026         * modules/long-options (Makefile.am): Likewise.
53027         * modules/lstat (Makefile.am): Likewise.
53028         * modules/malloc (Makefile.am): Likewise.
53029         * modules/mathl (Makefile.am): Likewise.
53030         * modules/mbchar (Makefile.am): Likewise.
53031         * modules/md2 (Makefile.am): Likewise.
53032         * modules/md4 (Makefile.am): Likewise.
53033         * modules/md5 (Makefile.am): Likewise.
53034         * modules/memcasecmp (Makefile.am): Likewise.
53035         * modules/memchr (Makefile.am): Likewise.
53036         * modules/memcmp (Makefile.am): Likewise.
53037         * modules/memcoll (Makefile.am): Likewise.
53038         * modules/memcpy (Makefile.am): Likewise.
53039         * modules/memmem (Makefile.am): Likewise.
53040         * modules/memmove (Makefile.am): Likewise.
53041         * modules/mempcpy (Makefile.am): Likewise.
53042         * modules/memrchr (Makefile.am): Likewise.
53043         * modules/memset (Makefile.am): Likewise.
53044         * modules/memxor (Makefile.am): Likewise.
53045         * modules/mkancesdirs (Makefile.am): Likewise.
53046         * modules/mkdir (Makefile.am): Likewise.
53047         * modules/mkdir-p (Makefile.am): Likewise.
53048         * modules/mkdtemp (Makefile.am): Likewise.
53049         * modules/mkstemp (Makefile.am): Likewise.
53050         * modules/mktime (Makefile.am): Likewise.
53051         * modules/modechange (Makefile.am): Likewise.
53052         * modules/mountlist (Makefile.am): Likewise.
53053         * modules/nanosleep (Makefile.am): Likewise.
53054         * modules/openat (Makefile.am): Likewise.
53055         * modules/pagealign_alloc (Makefile.am): Likewise.
53056         * modules/physmem (Makefile.am): Likewise.
53057         * modules/poll (Makefile.am): Likewise.
53058         * modules/posixtm (Makefile.am): Likewise.
53059         * modules/posixver (Makefile.am): Likewise.
53060         * modules/putenv (Makefile.am): Likewise.
53061         * modules/quote (Makefile.am): Likewise.
53062         * modules/quotearg (Makefile.am): Likewise.
53063         * modules/raise (Makefile.am): Likewise.
53064         * modules/read-file (Makefile.am): Likewise.
53065         * modules/readline (Makefile.am): Likewise.
53066         * modules/readlink (Makefile.am): Likewise.
53067         * modules/readtokens (Makefile.am): Likewise.
53068         * modules/readutmp (Makefile.am): Likewise.
53069         * modules/realloc (Makefile.am): Likewise.
53070         * modules/regex (Makefile.am): Likewise.
53071         * modules/rename (Makefile.am): Likewise.
53072         * modules/rename-dest-slash (Makefile.am): Likewise.
53073         * modules/rijndael (Makefile.am): Likewise.
53074         * modules/rmdir (Makefile.am): Likewise.
53075         * modules/rpmatch (Makefile.am): Likewise.
53076         * modules/safe-read (Makefile.am): Likewise.
53077         * modules/safe-write (Makefile.am): Likewise.
53078         * modules/same (Makefile.am): Likewise.
53079         * modules/save-cwd (Makefile.am): Likewise.
53080         * modules/savedir (Makefile.am): Likewise.
53081         * modules/setenv (Makefile.am): Likewise.
53082         * modules/settime (Makefile.am): Likewise.
53083         * modules/sha1 (Makefile.am): Likewise.
53084         * modules/sig2str (Makefile.am): Likewise.
53085         * modules/snprintf (Makefile.am): Likewise.
53086         * modules/stdlib-safer (Makefile.am): Likewise.
53087         * modules/stpcpy (Makefile.am): Likewise.
53088         * modules/stpncpy (Makefile.am): Likewise.
53089         * modules/strcase (Makefile.am): Likewise.
53090         * modules/strcasestr (Makefile.am): Likewise.
53091         * modules/strchrnul (Makefile.am): Likewise.
53092         * modules/strcspn (Makefile.am): Likewise.
53093         * modules/strdup (Makefile.am): Likewise.
53094         * modules/strerror (Makefile.am): Likewise.
53095         * modules/strftime (Makefile.am): Likewise.
53096         * modules/strndup (Makefile.am): Likewise.
53097         * modules/strnlen (Makefile.am): Likewise.
53098         * modules/strpbrk (Makefile.am): Likewise.
53099         * modules/strsep (Makefile.am): Likewise.
53100         * modules/strstr (Makefile.am): Likewise.
53101         * modules/strtod (Makefile.am): Likewise.
53102         * modules/strtoimax (Makefile.am): Likewise.
53103         * modules/strtok_r (Makefile.am): Likewise.
53104         * modules/strtol (Makefile.am): Likewise.
53105         * modules/strtoll (Makefile.am): Likewise.
53106         * modules/strtoul (Makefile.am): Likewise.
53107         * modules/strtoull (Makefile.am): Likewise.
53108         * modules/strtoumax (Makefile.am): Likewise.
53109         * modules/strverscmp (Makefile.am): Likewise.
53110         * modules/time_r (Makefile.am): Likewise.
53111         * modules/timegm (Makefile.am): Likewise.
53112         * modules/tmpfile-safer (Makefile.am): Likewise.
53113         * modules/unistd-safer (Makefile.am): Likewise.
53114         * modules/unlinkdir (Makefile.am): Likewise.
53115         * modules/userspec (Makefile.am): Likewise.
53116         * modules/utime (Makefile.am): Likewise.
53117         * modules/utimecmp (Makefile.am): Likewise.
53118         * modules/utimens (Makefile.am): Likewise.
53119         * modules/vasnprintf (Makefile.am): Likewise.
53120         * modules/vasprintf (Makefile.am): Likewise.
53121         * modules/vsnprintf (Makefile.am): Likewise.
53122         * modules/xalloc (Makefile.am): Likewise.
53123         * modules/xgetcwd (Makefile.am): Likewise.
53124         * modules/xnanosleep (Makefile.am): Likewise.
53125         * modules/xreadlink (Makefile.am): Likewise.
53126         * modules/xstrtod (Makefile.am): Likewise.
53127         * modules/xstrtol (Makefile.am): Likewise.
53128         * modules/xstrtold (Makefile.am): Likewise.
53129         * modules/yesno (Makefile.am): Likewise.
53130
53131 2006-10-12  Jim Meyering  <jim@meyering.net>
53132
53133         * m4/getloadavg.m4: Revert the change below.
53134
53135         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
53136         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
53137         fail with a symlink, which is what coreutils' ./bootstrap now
53138         creates by default.
53139
53140 2006-10-12  Bruno Haible  <bruno@clisp.org>
53141
53142         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
53143         mingw.
53144         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
53145         MSVC and mingw explicitly.
53146
53147 2006-10-11  Simon Josefsson  <jas@extundo.com>
53148             Bruno Haible  <bruno@clisp.org>
53149
53150         Add support for multiple gnulib-tool invocations in the scope of a
53151         single configure.ac file.
53152         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
53153         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
53154         with the same contents as the _LIBADD variable.
53155         (func_emit_initmacro_start, func_emit_initmacro_end,
53156         func_emit_initmacro_done): New functions.
53157         (func_import, func_create_testdir): Invoke them. Allow the identifiers
53158         gl_LIBOBJS and gl_LTLIBOBJS.
53159
53160 2006-10-11  Bruno Haible  <bruno@clisp.org>
53161
53162         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
53163         (func_create_testdir): Don't create po/Makefile.am, don't invoke
53164         autoreconf. Instead, invoke autopoint explicitly but move back the
53165         *.m4 files from gnulib.
53166
53167 2006-10-11  Bruno Haible  <bruno@clisp.org>
53168
53169         * gnulib-tool (func_usage): Make module names after --create-testdir
53170         optional.
53171         (func_create_testdir): If no module was specified, use nearly all
53172         modules.
53173
53174 2006-10-12  Jim Meyering  <jim@meyering.net>
53175
53176         Big performance improvement for fts-based tools that use FTS_NOSTAT.
53177         Avoid spurious inode-mismatch problems on non-POSIX file systems.
53178         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
53179         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
53180         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
53181         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
53182         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
53183         (fts_set_stat_required): New function.
53184         (fts_open): Defer the calls to fts_stat, if possible or requested.
53185         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
53186         into fts_stat itself.
53187         (fts_read): Perform any required (deferred) fts_stat call.
53188         (fts_build): Likewise, for the directory we're about to open and read.
53189         In the readdir loop, carefully decide whether each entry will require
53190         an eventual call to fts_stat, using dirent.d_type info if available.
53191         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
53192         a command line argument into this function.  Update all callers.
53193         Map a return value of FTS_DOT to FTS_D for a command line argument.
53194         * modules/fts (Depends-on): Add d-type.  Alphabetize.
53195         Thanks to Miklos Szeredi for his tenacity and for the initial
53196         bug report about "find" failing on a FUSE-based file system.
53197
53198         * lib/fts.c (fts_open): Use consistent indentation.
53199
53200 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
53201
53202         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
53203         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
53204         reported by Jim Meyering.  All uses of cache variables renamed
53205         to match Autoconf's.
53206         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
53207         the other one.
53208
53209         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
53210         Fix misspelling in diagnostic.
53211
53212 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
53213
53214         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
53215         defined.  Problem reported by Matthew Woehlke.
53216
53217         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
53218         Add support for Tandem NonStop R series.
53219         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
53220         Use new macro.
53221
53222         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
53223         (has_trailing_slash): Omit size arg; all callers changed.
53224         Omit 'inline', since it doesn't help performance and we'd
53225         need to configure it.
53226         Don't count //, ///, etc. as having a trailing slash.
53227         As a side effect, this removes a C99ism reported by Matthew Woehlke.
53228         (rpl_rename_dest_slash): On failure, use rename's errno rather
53229         than (in some cases) an incorrect or junk errno.
53230         Simplify code by removing need to compute length; this does
53231         cause it to make two passes instead of one over the file name,
53232         but it's worth it.
53233
53234         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
53235         change, since Autoconf's version may no longer be appropriate now
53236         that we are using CVS Autoconf's version.  Add support for Tandem.
53237
53238 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
53239             Bruno Haible  <bruno@clisp.org>
53240
53241         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
53242         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
53243         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
53244         gl_AC_TYPE_LONG_LONG.
53245
53246         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
53247         instead of HAVE_LONG_LONG.
53248         * lib/printf-args.c (printf_fetchargs): Likewise.
53249         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
53250         * lib/vasnprintf.c (VASNPRINTF): Likewise.
53251         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
53252         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
53253         gl_AC_TYPE_LONG_LONG.
53254
53255 2006-10-11  Bruno Haible  <bruno@clisp.org>
53256
53257         * m4/longlong.m4: Add comments.
53258         * m4/ulonglong.m4: Likewise.
53259
53260 2006-10-10  Bruno Haible  <bruno@clisp.org>
53261
53262         Make it possible to #define stpcpy, strdup to aliases.
53263         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
53264         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
53265
53266 2006-10-10  Bruno Haible  <bruno@clisp.org>
53267
53268         Make it possible to #define gcd to an alias.
53269         * lib/gcd.c: Include config.h.
53270
53271 2006-10-10  Bruno Haible  <bruno@clisp.org>
53272
53273         Make it possible to #define c_isascii to an alias.
53274         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
53275         defined. Undefine the macros before defining them, to avoid gcc
53276         warnings.
53277         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
53278         define NO_C_CTYPE_MACROS early.
53279
53280 2006-10-10  Bruno Haible  <bruno@clisp.org>
53281
53282         Make it possible to #define set_program_name to an alias.
53283         * lib/progname.c: Don't undefine set_program_name; instead, undefine
53284         ENABLE_RELOCATABLE early.
53285
53286 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53287
53288         Port to Tandem NSK OSS, which has 64-bit signed int but at most
53289         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
53290         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
53291         More generally, don't assume that 64-bit signed int is available
53292         if unsigned int is, and vice versa.
53293         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
53294         unsigned symbols, not on their signed counterparts.
53295         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
53296         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
53297         (UINT64_C, UINTMAX_C):
53298         Likewise.
53299         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
53300         unsigned counterparts.
53301         (Have_long_long, Unsigned): New macros.
53302         (Int): Renamed from INT.
53303         (strtoimax): Use the new macros.
53304         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
53305         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
53306         * modules/inttypes (inttypes.h): Substitute
53307         HAVE_UNSIGNED_LONG_LONG_INT.
53308         * modules/stdint (stdint.h): Likewise.
53309         (Files): Add m4/ulonglong.m4.
53310
53311 2006-10-10  Bruno Haible  <bruno@clisp.org>
53312
53313         Fix a gcc -Wshadow warning.
53314         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
53315         to 'bucket'.
53316         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
53317         gl_linked_indexof_from_to): Likewise.
53318         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
53319         Likewise.
53320         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
53321         Likewise.
53322         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
53323         Reported by Eric Blake.
53324
53325 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
53326
53327         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
53328         for NetBSD.  Problem reported by Bruno Haible.
53329
53330 2006-10-09  Jim Meyering  <jim@meyering.net>
53331
53332         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
53333         Patch from Bruno Haible.
53334
53335 2006-10-09  Jim Meyering  <jim@meyering.net>
53336
53337         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
53338         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
53339         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
53340
53341 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53342
53343         Don't include <config.h> twice; this doesn't work in some cases,
53344         e.g., when config.h has "#define intmax_t long long int" and
53345         we include <config.h>, <inttypes.h>, <config.h> in that order.
53346         Problem reported by Matthew Woehlke in:
53347         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
53348         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
53349         * lib/fts-cycle.c: Don't include config.h.
53350         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
53351         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
53352         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
53353         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
53354         inttypes.h.
53355         * lib/xstrtoumax.c: Likewise.
53356         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
53357         __strtol and the like, so that this module is more like its siblings.
53358         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
53359         Remove; no longer needed now that we assume gnulib inttypes.h.
53360
53361 2006-10-08  Bruno Haible  <bruno@clisp.org>
53362
53363         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
53364         option.
53365
53366 2006-10-07  Jim Meyering  <jim@meyering.net>
53367
53368         * modules/inttypes (inttypes.h): Revert what seems to have been
53369         an inadvertent part of today's change: use "|", not "/" in the
53370         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
53371
53372 2006-10-07  Bruno Haible  <bruno@clisp.org>
53373
53374         * modules/sublist: New file.
53375
53376 2006-10-07  Bruno Haible  <bruno@clisp.org>
53377
53378         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
53379         * modules/argz (argz.h): Likewise.
53380         * modules/arpa_inet (arpa/inet.h): Likewise.
53381         * modules/byteswap (byteswap.h): Likewise.
53382         * modules/configmake (configmake.h): Likewise.
53383         * modules/fcntl (fcntl.h): Likewise.
53384         * modules/fnmatch (fnmatch.h): Likewise.
53385         * modules/getopt (getopt.h): Likewise.
53386         * modules/glob (glob.h): Likewise.
53387         * modules/inttypes (inttypes.h): Likewise.
53388         * modules/netinet_in (netinet/in.h): Likewise.
53389         * modules/poll (poll.h): Likewise.
53390         * modules/stdbool (stdbool.h): Likewise.
53391         * modules/stdint (stdint.h): Likewise.
53392         * modules/sys_select (sys/select.h): Likewise.
53393         * modules/sys_socket (sys/socket.h): Likewise.
53394         * modules/sys_stat (sys/stat.h): Likewise.
53395         * modules/sysexits (sysexits.h): Likewise.
53396         * modules/unistd (unistd.h): Likewise.
53397         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53398         Add a "DO NOT EDIT" comment to the generated file.
53399         (func_import): Likewise for gnulib-comp.m4.
53400
53401 2006-10-07  Bruno Haible  <bruno@clisp.org>
53402
53403         * lib/gl_sublist.h: New file.
53404         * lib/gl_sublist.c: New file.
53405
53406 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53407
53408         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
53409         name (relative to the original working directory) and the file
53410         name component (relative to the temporary working directory).  All
53411         callers changed.
53412         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
53413         * lib/mkdir-p.c (make_dir_parents): Likewise.
53414         * lib/mkdir-p.h (make_dir_parents): Likewise.
53415
53416 2006-10-06  Eric Blake  <ebb9@byu.net>
53417
53418         Define several macros for use by the clean-temp module.
53419         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
53420         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
53421         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
53422
53423         * lib/clean-temp.h (close_stream_temp): New declaration.
53424         * lib/clean-temp.c (includes): Pull in headers according to what
53425         other modules are in use.
53426         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
53427
53428 2006-10-06  Bruno Haible  <bruno@clisp.org>
53429
53430         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
53431         instead of fopen, fwriteerror.
53432
53433 2006-10-06  Bruno Haible  <bruno@clisp.org>
53434
53435         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
53436         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
53437         int.
53438         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
53439         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
53440         Return an error indicator.
53441         Suggested by Eric Blake.
53442
53443 2006-10-06  Bruno Haible  <bruno@clisp.org>
53444
53445         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
53446         Reported by Eric Blake.
53447
53448 2006-10-06  Bruno Haible  <bruno@clisp.org>
53449
53450         * modules/closeout (Description): Mention stderr too.
53451
53452 2006-10-06  Bruno Haible  <bruno@clisp.org>
53453         and Paul Eggert  <eggert@cs.ucla.edu>
53454
53455         * lib/closeout.c (close_stdout): Also close stderr.
53456         * lib/closeout.h: Update comment.
53457
53458 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
53459
53460         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
53461         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
53462         * lib/dirchownmod.c: Include lchown.h.
53463         * lib/lchown.c: Don't include files that lchown.h now includes.
53464         Don't declare chown, since lchown.h now does that.
53465         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
53466         (lchown): Define to rpl_chown if lchown is declared but
53467         does not exist.  Declare using a prototype if lchown is not
53468         declared.  Add a copyright notice.
53469         * lib/mkstemp.h: Include <unistd.h>.
53470         * lib/openat.c: Include lchown.h.
53471
53472         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
53473         we now test for that separately.
53474         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
53475         rather than O_NOFOLLOW, when testing whether it's possible to
53476         avoid a race condition reliably.
53477         * lib/savewd.c (savewd_chdir): Likewise.
53478
53479         Remove macros that are no longer needed now that stdint.h is
53480         reliable.
53481         * lib/fsusage.c (UINTMAX_MAX): Remove.
53482         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
53483         * lib/utimecmp.c (SIZE_MAX): Remove.
53484
53485         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
53486
53487         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
53488         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
53489         O_NOATIME works.
53490
53491 2006-10-05  Bruno Haible  <bruno@clisp.org>
53492
53493         * lib/gl_list.h (gl_sortedlist_search_from_to,
53494         gl_sortedlist_indexof_from_to): New declarations.
53495         (gl_list_implementation): New fields sortedlist_search_from_to,
53496         sortedlist_indexof_from_to.
53497         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
53498         inline functions.
53499         * lib/gl_list.c (gl_sortedlist_search_from_to,
53500         gl_sortedlist_indexof_from_to): New functions.
53501         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
53502         function.
53503         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
53504         (gl_array_sortedlist_search_from_to): New function.
53505         (gl_array_list_implementation): Update.
53506         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
53507         function.
53508         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
53509         (gl_carray_sortedlist_search_from_to): New function.
53510         (gl_carray_list_implementation): Update.
53511         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
53512         gl_linked_sortedlist_indexof_from_to): New functions.
53513         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53514         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53515         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
53516         gl_tree_sortedlist_indexof_from_to): New functions.
53517         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53518         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53519         Update.
53520         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53521         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
53522         Update.
53523
53524 2006-10-05  Bruno Haible  <bruno@clisp.org>
53525
53526         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
53527         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
53528         (struct gl_list_implementation): Add fields search_from_to,
53529         indexof_from_to. Remove fields search, indexof.
53530         (gl_list_search): Use the search_from_to method.
53531         (gl_list_search_from, gl_list_search_from_to): New functions.
53532         (gl_list_indexof): Use the indexof_from_to method.
53533         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
53534         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
53535         (gl_list_search_from, gl_list_search_from_to): New functions.
53536         (gl_list_indexof): Use the indexof_from_to method.
53537         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
53538         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
53539         gl_array_indexof. Add start_index, end_index arguments.
53540         (gl_array_search_from_to): Renamed from gl_array_search. Add
53541         start_index, end_index arguments.
53542         (gl_array_remove, gl_array_list_implementation): Update.
53543         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
53544         gl_carray_indexof. Add start_index, end_index arguments.
53545         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
53546         start_index, end_index arguments.
53547         (gl_carray_remove, gl_carray_list_implementation): Update.
53548         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
53549         gl_linked_search. Add start_index, end_index arguments.
53550         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
53551         start_index, end_index arguments.
53552         (gl_linked_remove): Update.
53553         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53554         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53555         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
53556         field to 'size_t'.
53557         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
53558         gl_tree_search. Add start_index, end_index arguments.
53559         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
53560         start_index, end_index arguments.
53561         (gl_tree_remove): Update.
53562         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53563         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53564         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
53565         function.
53566         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
53567         gl_tree_search. Add start_index, end_index arguments.
53568         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
53569         start_index, end_index arguments.
53570         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53571         Update.
53572         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
53573
53574 2006-10-05  Bruno Haible  <bruno@clisp.org>
53575
53576         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
53577
53578         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
53579         fwriteerror_temp): New declarations.
53580         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
53581         (descriptors): New variable.
53582         (cleanup): First, close the descriptors.
53583         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
53584         fclose_temp, fwriteerror_temp): New functions.
53585
53586 2006-10-04  Jim Meyering  <jim@meyering.net>
53587
53588         * lib/fts.c (fts_open): Tiny comment change.
53589
53590 2006-10-04  Bruno Haible  <bruno@clisp.org>
53591
53592         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
53593         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
53594         gl_LOCK_BODY.
53595         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
53596         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
53597         gl_LOCK_EARLY_BODY.
53598         (gl_LOCK): Require gl_LOCK_BODY.
53599
53600 2006-10-04  Bruno Haible  <bruno@clisp.org>
53601
53602         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
53603         (gl_oset_search_atleast): New declaration.
53604         (struct gl_oset_implementation): Add field 'search_atleast'.
53605         (gl_oset_search_atleast): New inline function.
53606         * lib/gl_oset.c (gl_oset_search_atleast): New function.
53607         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
53608         (gl_array_oset_implementation): Update.
53609         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
53610         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
53611         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
53612
53613 2006-10-04  Bruno Haible  <bruno@clisp.org>
53614
53615         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
53616
53617 2006-10-03  Bruno Haible  <bruno@clisp.org>
53618
53619         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
53620         from gl_avltreehash_list_implementation.
53621
53622 2006-10-03  Bruno Haible  <bruno@clisp.org>
53623
53624         * lib/gl_oset.c (gl_oset_add): Fix return type.
53625
53626 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
53627
53628         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
53629
53630 2006-10-02  Eric Blake  <ebb9@byu.net>
53631
53632         * modules/strnlen (Depends-on): Add extensions.
53633
53634 2006-10-02  Eric Blake  <ebb9@byu.net>
53635
53636         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
53637         definition in 2.60+.
53638
53639 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
53640
53641         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
53642         checks.
53643
53644 2006-10-02  Bruno Haible  <bruno@clisp.org>
53645
53646         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
53647         to the AUTOMAKE_OPTIONS.
53648         Reported by Jim Meyering.
53649
53650 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53651
53652         Work around bug in Solaris 10 /proc file system:
53653         /proc/self/fd/NNN/.. isn't the parent directory of
53654         the directory whose file descriptor is NNN.  This needs to
53655         be worked around at run time, not compile time, since a
53656         program might be built on Solaris 8, where things work, and
53657         run on Solaris 10.
53658         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
53659         to use the following interface instead:
53660         (OPENAT_BUFFER_SIZE): New macro.
53661         (openat_proc_name): New function.
53662         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
53663         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
53664         Likewise.
53665         * lib/openat-proc.c: New file.
53666         * modules/openat (Files): Add lib/openat-proc.c.
53667         (Depends-on): Add same-inode, stdbool.
53668         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
53669
53670 2006-09-29  Bruno Haible  <bruno@clisp.org>
53671
53672         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
53673         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
53674         argument. Set stdout_closed before testing for ferror, not after.
53675         (fwriteerror, fwriteerror_no_ebadf): New functions.
53676
53677 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53678
53679         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
53680
53681 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
53682
53683         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
53684         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
53685
53686 2006-09-28  Jim Meyering  <jim@meyering.net>
53687
53688         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
53689         Include <unistd.h>.
53690
53691 2006-09-28  Bruno Haible  <bruno@clisp.org>
53692
53693         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
53694         * modules/linkedhash-list (Depends-on): Likewise.
53695         * modules/rbtreehash-list (Depends-on): Likewise.
53696
53697 2006-09-28  Bruno Haible  <bruno@clisp.org>
53698
53699         * lib/strndup.h: Simplify the redefinition of strndup.
53700         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
53701         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
53702
53703 2006-09-28  Bruno Haible  <bruno@clisp.org>
53704
53705         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
53706         * lib/gl_linkedhash_list.c: Likewise.
53707         * lib/gl_rbtreehash_list.c: Likewise.
53708
53709 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53710
53711         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
53712         getaddrinfo.
53713
53714         * lib/__fpending.h: Don't include <stdio_ext.h> unless
53715         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
53716         it causes <stdio_ext.h> to cause a compile-time error.
53717         Problem reported by Nelson H. F. Beebe.
53718         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
53719         of HAVE_DECL___PENDING.
53720
53721         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
53722         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
53723         declaration.
53724
53725 2006-09-27  Jim Meyering  <jim@meyering.net>
53726
53727         This file could end up with a definition for a function
53728         named __strndup, rather than rpl_strndup on a system with
53729         incomplete weak_alias support.
53730         * lib/strndup.c (strndup): Rename from __strndup.
53731         Remove #defines that used to map __strndup to strndup.
53732         Don't use K&R prototypes.
53733         Remove LIBC-related code, since this file is not sync'd with glibc.
53734         * lib/strndup.h: Revamp, accordingly.
53735         * m4/strndup.m4: Modernize.
53736
53737 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53738
53739         * modules/savewd (Depends-on): Add 'raise'.
53740         * lib/savewd.c: Include <signal.h>, for 'raise'.
53741
53742 2006-09-26  Jim Meyering  <jim@meyering.net>
53743
53744         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
53745         when we detect Darwin 8.7.0's acl_get_file bug.
53746         Rearrange to perform the new (below) run-test while $LIBS
53747         contains any acl-related library.  Set USE_ACL at the end.
53748         (gl_ACL_GET_FILE): New function.
53749
53750 2006-09-26  Eric Blake  <ebb9@byu.net>
53751
53752         * lib/verror.c: Include <config.h> unconditionally.
53753
53754 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
53755
53756         * modules/clock-time (Maintainer): Add self.
53757         * modules/getlogin_r (Depends-on): Add extensions.
53758
53759 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53760
53761         * modules/clock-time: New module.
53762         * modules/nanosleep (Depends-on): Add clock-time.
53763         * modules/gethrxtime (Depends-on): Likewise.
53764         * modules/gettime (Depends-on): Likewise.
53765         * modules/settime (Depends-on): Likewise.
53766
53767         * modules/fts-lgpl: Depend on openat.
53768         * modules/mkancesdirs: Depend on savewd.
53769         * modules/mkdir-p: Likewise.
53770
53771 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53772
53773         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
53774
53775         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
53776         `gl_have_arbitrary_file_name_length_limit' to
53777         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
53778         actually works between configure runs.
53779
53780 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53781             Bruno Haible  <bruno@clisp.org>
53782
53783         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
53784
53785 2006-09-25  Jim Meyering  <jim@meyering.net>
53786
53787         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
53788         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
53789
53790 2006-09-25  Eric Blake  <ebb9@byu.net>
53791
53792         * gnulib-tool (func_import, func_create_testdir): Fix typos in
53793         exec's in 2006-09-18 patch when shuffling fds.
53794
53795 2006-09-25  Bruno Haible  <bruno@clisp.org>
53796
53797         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
53798         Reported by Jim Meyering.
53799
53800 2006-09-24  Jim Meyering  <jim@meyering.net>
53801
53802         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
53803         compare a pointer against a literal "0".  That caused failures with
53804         at least HP-UX's hpcc.
53805
53806 2006-09-22  Simon Josefsson  <jas@extundo.com>
53807
53808         * modules/gc-sha1:
53809         * modules/gc-md4:
53810         * modules/gc-hmac-sha1:
53811         * modules/gc-hmac-md5:
53812         * modules/gc-des:
53813         * modules/gc-arcfour: Distribute more files.
53814
53815 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53816
53817         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
53818         (gl_linked_iterator_from_to): Initialize struct completely.
53819         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
53820         (gl_tree_iterator_from_to): Likewise
53821         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
53822         * lib/gl_array_list.c [lint] (gl_array_iterator)
53823         (gl_array_iterator_from_to): Likewise.
53824         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
53825         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
53826         (gl_carray_iterator_from_to): Likewise.
53827
53828         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
53829         * lib/md4.c (md4_process_block): Remove unused variable.
53830         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
53831         parentheses for clarity.
53832
53833 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53834
53835         * modules/bison-i18n (Depends-on): Add gettext.
53836
53837 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53838
53839         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
53840         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
53841         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
53842         also add missing comma that caused broken test.
53843         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
53844         stdlib.h, for `abort'.
53845         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
53846         variables.
53847         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
53848         include unistd.h if present, for `rmdir'.
53849         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
53850         variables.
53851         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
53852         in the process include standard headers for prototypes.
53853         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
53854         gets declared on GNU/Linux.
53855         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
53856         unistd.h, for `rmdir'.
53857         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
53858
53859         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
53860         always true.
53861         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
53862
53863         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
53864
53865 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53866
53867         * gnulib-tool (func_version): Create output all at once.  This
53868         may help avoid triggering unnecessary SIGPIPEs, and at any
53869         rate it doesn't hurt.
53870
53871 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53872             Bruno Haible  <bruno@clisp.org>
53873
53874         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
53875         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53876         * m4/signed.m4 (bh_C_SIGNED): Likewise.
53877
53878         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
53879         (gl_FUNC_VASPRINTF): Invoke it.
53880
53881 2006-09-22  Bruno Haible  <bruno@clisp.org>
53882
53883         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
53884         getloadavg.c as first argument.
53885
53886 2006-09-22  Bruno Haible  <bruno@clisp.org>
53887
53888         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
53889         at the beginning of the gl_INIT macro.
53890         * modules/getloadavg (configure.ac): Pass $gl_source_base to
53891         gl_GETLOADAVG.
53892
53893 2006-09-22  Bruno Haible  <bruno@clisp.org>
53894
53895         * gnulib-tool (func_create_megatestdir): Don't include the config-h
53896         module.
53897         Suggested by Ralf Wildenhues.
53898
53899 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
53900
53901         Import this patch from libc:
53902
53903         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
53904
53905         * lib/regex_internal.c (re_string_reconstruct): Handle
53906         offset < pstr->valid_raw_len && pstr->offsets_needed case.
53907         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
53908         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
53909         re_string_context_at.
53910
53911         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
53912         now requires it.
53913         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
53914         gl_REGEX now does it for us.
53915         (gl_REGEX): Add test taken from
53916         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
53917
53918         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
53919         Check that large offsets work.  Modernize Autoconf usages.
53920         Prefer "yes" to mean a good thing rather than a bad.
53921         Don't put "#define mkstemp" in config.h, as this might interfere
53922         with standard system headers that "#define mkstemp mkstemp64".
53923
53924         * modules/mkstemp (Depends-on): Add extensions, so that
53925         mkstemp is visible on some platforms.
53926         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
53927         (Include): Change to "mkstemp.h" from <stdlib.h>.
53928         (Files): Add mkstemp.h.
53929
53930         * lib/mkstemp.h: New file, since some standard headers
53931         #define mkstemp.
53932         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
53933         Include "mkstemp.h".
53934         Make the _LIBC code resemble glibc original more,
53935         e.g., use K&R style.
53936         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
53937         (mkstemp): Remove, since mkstemp.h does this for us.
53938         * lib/stdlib--.h: Include mkstemp.h.
53939
53940         Import this patch from libc:
53941
53942         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
53943
53944         * lib/tempname.c (__gen_tempname): Change attempts_min
53945         into a macro.  Use preprocessor to decide how to initialize
53946         attempts [Coverity CID 67].
53947
53948 2006-09-20  Bruno Haible  <bruno@clisp.org>
53949
53950         * lib/mkdtemp.c: Import from libc.
53951         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
53952                 * sysdeps/posix/tempname.c (__gen_tempname): Change
53953                 attempts_min into a macro.  Use preprocessor to decide how to
53954                 initialize attempts [Coverity CID 67].
53955         2001-11-27  Paul Eggert  <eggert@twinsun.com>
53956                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
53957                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
53958
53959 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53960
53961         * gnulib-tool (func_exit): New function, to allow to pass the
53962         exit status portably through the trap.  Use everywhere.
53963         (--help, --version): Signal a write error.
53964         (trap): catch SIGPIPE, for write errors.
53965         Exit at the end of the trap, with the correct exit status.
53966
53967 2006-09-19  Karl Berry  <karl@gnu.org>
53968
53969         * doc/gnulib.texi: note about the license texinfo files.
53970
53971 2006-09-19  Eric Blake  <ebb9@byu.net>
53972
53973         * gnulib-tool: Avoid space-tab.
53974
53975 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
53976
53977         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
53978         that prevented coreutils 6.1 from building.  Problem reported
53979         by Petter Reinholdtsen.
53980
53981 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
53982
53983         * gnulib-tool (avoidlist): Fix typo that broke options like
53984         --avoid=lock that are used by coreutils bootstrap.
53985
53986 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
53987
53988         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
53989         more systematically.
53990
53991 2006-09-18  Jim Meyering  <jim@meyering.net>
53992
53993         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
53994
53995 2006-09-18  Bruno Haible  <bruno@clisp.org>
53996
53997         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
53998
53999 2006-09-18  Bruno Haible  <bruno@clisp.org>
54000
54001         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
54002         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
54003         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
54004         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
54005         * m4/gettext.m4: Require autoconf >= 2.52.
54006         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
54007         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
54008         of gl_cv_header_inttypes_h.
54009
54010 2006-09-18  Bruno Haible  <bruno@clisp.org>
54011
54012         * lib/javaversion.c: Include configmake.h.
54013
54014 2006-09-18  Bruno Haible  <bruno@clisp.org>
54015
54016         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
54017         avoid that the while loops be executed in a subshell.
54018
54019 2006-09-18  Bruno Haible  <bruno@clisp.org>
54020
54021         * MODULES.html.sh (func_module): Break long lines.
54022         Suggested by Bruce Korb <bkorb@gnu.org>.
54023
54024 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54025
54026         Speed up by a factor of 1.12.
54027         * gnulib-tool (nl): New variable.
54028         (func_import): Rewrite include directive extraction to only read each
54029         directive once.
54030
54031 2006-09-17  Bruno Haible  <bruno@clisp.org>
54032
54033         * modules/javaversion (Makefile.am): Remove DEFS setting.
54034         (Depends-on): Add configmake, for PKGDATADIR definition.
54035
54036 2006-09-17  Bruno Haible  <bruno@clisp.org>
54037
54038         * gnulib-tool (func_create_testdir): Rewrite all files at once.
54039
54040 2006-09-17  Bruno Haible  <bruno@clisp.org>
54041
54042         * gnulib-tool (func_append): New function, stolen from libtool.m4.
54043         (func_modules_transitive_closure, func_modules_add_dummy,
54044         func_modules_to_filelist, func_import, func_create_testdir,
54045         func_create_megatestdir, ...): Use it wherever possible.
54046         Suggested by Ralf Wildenhues.
54047
54048 2006-09-16  Karl Berry  <karl@gnu.org>
54049
54050         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
54051         to avoid sectioning errors.
54052         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
54053         [ifinfo]: blank line after @center-ed titles.
54054         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
54055         Spell FSF address consistently with others.
54056         (These changes approved by rms.)
54057
54058 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54059
54060         Speed up by a factor of 1.61.
54061         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
54062         already checked module names again.
54063
54064 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54065
54066         Speed up by a factor of 1.13.
54067         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
54068         for new_files, and the input to func_add_or_update.
54069
54070 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54071
54072         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
54073         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
54074
54075 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54076
54077         * modules/mkancesdirs (Depends-on): Add fcntl.
54078         * modules/savewd: New file.
54079         * MODULES.html.sh (File system functions): Add savewd.
54080
54081         * modules/configmake (Makefile.am): Add support for the
54082         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
54083
54084 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54085
54086         * m4/savewd.m4: New file.
54087
54088 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54089
54090         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
54091         (dirchownmod): New arg FD.  All callers changed.
54092         Use FD rather than opening the directory ourself, as opening is
54093         now the caller's responsibility.
54094         * lib/dirchownmod.h: Likewise.
54095         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
54096         hosts that require <sys/types.h> before <sys/stat.h>.  Include
54097         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
54098         (test_dir): Remove.
54099         (mkancesdirs): Return length of prefix of FILE that has already
54100         been made, or -2 if there is a child doing the work.  Redo
54101         algorithm so that it is O(N) rather than O(N**2).  Optimize away
54102         ".", and treat ".." specially since it might stray back into
54103         already-created areas.  Use a subprocess if necessary.  New arg
54104         WD; all users changed.  MAKE_DIR function should now return 1
54105         if it creates a directory that is not readable.  Return -2 if
54106         a child process is spun off.
54107         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
54108         Adjust signature to match code.
54109         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
54110         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
54111         all users changed.
54112         * lib/savewd.c, lib/savewd.h: New files.
54113
54114 2006-09-15  Jim Meyering  <jim@meyering.net>
54115
54116         * modules/rename-dest-slash: New module.
54117         * MODULES.html.sh (posix_compat): Add it here.
54118
54119         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
54120
54121 2006-09-15  Jim Meyering  <jim@meyering.net>
54122
54123         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
54124         file.
54125
54126         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
54127
54128 2006-09-15  Jim Meyering  <jim@meyering.net>
54129
54130         * lib/rename-dest-slash.c (has_trailing_slash): Use
54131         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
54132         (rpl_rename_dest_slash): Perform the cheaper trailing slash
54133         test before testing whether SRC is a directory.
54134         Suggestions from Bruno Haible.
54135
54136         Avoid a warning about an unused variable.
54137         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
54138         into the #ifdef block where it's used.
54139
54140         * lib/rename-dest-slash.c: New file.
54141
54142 2006-09-14  Bruno Haible  <bruno@clisp.org>
54143
54144         * lib/allocsa.c: Include <config.h> unconditionally.
54145         * lib/asnprintf.c: Likewise.
54146         * lib/asprintf.c: Likewise.
54147         * lib/c-strcasecmp.c: Likewise.
54148         * lib/c-strcasestr.c: Likewise.
54149         * lib/c-strncasecmp.c: Likewise.
54150         * lib/c-strstr.c: Likewise.
54151         * lib/classpath.c: Likewise.
54152         * lib/clean-temp.c: Likewise.
54153         * lib/concatpath.c: Likewise.
54154         * lib/copy-file.c: Likewise.
54155         * lib/csharpcomp.c: Likewise.
54156         * lib/csharpexec.c: Likewise.
54157         * lib/execute.c: Likewise.
54158         * lib/fatal-signal.c: Likewise.
54159         * lib/findprog.c: Likewise.
54160         * lib/fwriteerror.c: Likewise.
54161         * lib/gl_array_list.c: Likewise.
54162         * lib/gl_array_oset.c: Likewise.
54163         * lib/gl_avltree_list.c: Likewise.
54164         * lib/gl_avltree_oset.c: Likewise.
54165         * lib/gl_avltreehash_list.c: Likewise.
54166         * lib/gl_carray_list.c: Likewise.
54167         * lib/gl_linked_list.c: Likewise.
54168         * lib/gl_linkedhash_list.c: Likewise.
54169         * lib/gl_list.c: Likewise.
54170         * lib/gl_oset.c: Likewise.
54171         * lib/gl_rbtree_list.c: Likewise.
54172         * lib/gl_rbtree_oset.c: Likewise.
54173         * lib/gl_rbtreehash_list.c: Likewise.
54174         * lib/imaxabs.c: Likewise.
54175         * lib/imaxdiv.c: Likewise.
54176         * lib/javacomp.c: Likewise.
54177         * lib/javaexec.c: Likewise.
54178         * lib/javaversion.c: Likewise.
54179         * lib/linebreak.c: Likewise.
54180         * lib/localcharset.c: Likewise.
54181         * lib/lock.c: Likewise.
54182         * lib/mbchar.c: Likewise.
54183         * lib/mbswidth.c: Likewise.
54184         * lib/mkdtemp.c: Likewise.
54185         * lib/pipe.c: Likewise.
54186         * lib/printf-args.c: Likewise.
54187         * lib/printf-parse.c: Likewise.
54188         * lib/progname.c: Likewise.
54189         * lib/progreloc.c: Likewise.
54190         * lib/readlink.c: Likewise.
54191         * lib/sh-quote.c: Likewise.
54192         * lib/stpcpy.c: Likewise.
54193         * lib/stpncpy.c: Likewise.
54194         * lib/strcasecmp.c: Likewise.
54195         * lib/strcasestr.c: Likewise.
54196         * lib/strcspn.c: Likewise.
54197         * lib/striconv.c: Likewise.
54198         * lib/strncasecmp.c: Likewise.
54199         * lib/strnlen1.c: Likewise.
54200         * lib/strstr.c: Likewise.
54201         * lib/strtok_r.c: Likewise.
54202         * lib/tls.c: Likewise.
54203         * lib/tmpdir.c: Likewise.
54204         * lib/unicodeio.c: Likewise.
54205         * lib/unsetenv.c: Likewise.
54206         * lib/vasnprintf.c: Likewise.
54207         * lib/vasprintf.c: Likewise.
54208         * lib/wait-process.c: Likewise.
54209         * lib/xallocsa.c: Likewise.
54210         * lib/xsetenv.c: Likewise.
54211         * lib/xstriconv.c: Likewise.
54212
54213 2006-09-13  Simon Josefsson  <jas@extundo.com>
54214
54215         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
54216         that internally, suggested by Ralf Wildenhues
54217         <Ralf.Wildenhues@gmx.de>.
54218
54219 2006-09-13  Simon Josefsson  <jas@extundo.com>
54220
54221         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
54222         @LIBOBJS@.
54223         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54224
54225 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
54226
54227         * lib/_fpending.c: Include <config.h> unconditionally, since we no
54228         longer worry about uses that don't define HAVE_CONFIG_H.
54229         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
54230         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
54231         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
54232         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
54233         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
54234         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
54235         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
54236         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
54237         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
54238         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
54239         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
54240         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
54241         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
54242         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
54243         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
54244         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
54245         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
54246         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
54247         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
54248         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
54249         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
54250         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
54251         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
54252         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
54253         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
54254         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
54255         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
54256         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
54257         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
54258         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
54259         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
54260         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
54261         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
54262         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
54263         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
54264         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
54265         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
54266         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
54267         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
54268         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
54269         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
54270         Likewise.
54271
54272 2006-09-13  Eric Blake  <ebb9@byu.net>
54273
54274         * lib/getopt.c: Fix typo in last commit.
54275
54276 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54277
54278         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
54279         dgettext.
54280
54281 2006-09-12  Jim Meyering  <jim@meyering.net>
54282
54283         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
54284         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
54285         Reported by Nelson H. F. Beebe.
54286
54287 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54288
54289         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
54290         program_invocation_name and program_invocation_short_name are
54291         initialized.
54292         * lib/argp-namefrob.h: Move declarations of program_invocation_name
54293         and program_invocation_short_name to argp.h, so they are visible
54294         to user programs.
54295         * lib/argp.h: Likewise
54296
54297 2006-09-10  Bruno Haible  <bruno@clisp.org>
54298
54299         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
54300         m4/inttypes_h.m4, m4/uintmax_t.m4.
54301
54302 2006-09-10  Bruno Haible  <bruno@clisp.org>
54303
54304         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
54305         gl_AC_TYPE_UINTMAX_T.
54306
54307 2006-09-10  Bruno Haible  <bruno@clisp.org>
54308
54309         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
54310
54311 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54312
54313         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
54314         convention.  Text proposed by Bruno Haible.
54315         (struct argp_option): Document the use of N_() wrappers.
54316
54317         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
54318         '\v', and translate the two parts separately, instead of feeding
54319         the whole string to gettext.  This allows to exclude
54320         '\v' from the strings visible to the translator by writing doc
54321         strings as N_("..") "\v" N_("..").
54322
54323 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
54324
54325         * config/srclist.txt: Undo latest change; the bug was fixed.
54326
54327 2006-09-09  Bruno Haible  <bruno@clisp.org>
54328
54329         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
54330         assignments if building a library without libtool.
54331         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
54332         in func_emit_lib_Makefile_am.
54333         (func_import): When building a static library libfoo.a, arrange to
54334         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
54335         (func_create_testdir): Likewise.
54336         * modules/gc (configure.ac, Makefile.am): If building statically,
54337         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
54338         * modules/iconvme (configure.ac, Makefile.am): Likewise.
54339         * modules/striconv (configure.ac, Makefile.am): Likewise.
54340         Based on a suggestion by Ralf Wildenhues.
54341
54342 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54343
54344         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54345         Check for unistd.h too, since Autoconf doesn't assume POSIX.
54346         Also:
54347
54348         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54349         Add year_2050_test to catch glibc bug 2821
54350         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
54351
54352         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54353         Prefer #ifdef to #if.
54354
54355         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
54356         Return from 'main' instead of calling 'exit'.
54357
54358 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54359
54360         * lib/mktime.c (guess_time_tm): Fix bug where mktime
54361         returned the maximum time_t value rather than (time_t) -1.
54362         Problem originally reported by William Bardwell
54363         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
54364
54365         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
54366         Moved to here ...
54367         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
54368         ... from here.
54369
54370 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54371
54372         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
54373         2821 is fixed.
54374
54375 2006-09-08  Jim Meyering  <jim@meyering.net>
54376
54377         Don't make generated files read-only.  That would bother too many
54378         people.  However, do retain the ability to work when targets are
54379         read-only: remove the destination and temporary files before writing
54380         them (when generated via sed or echo), or by using the -f option for
54381         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
54382         * modules/alloca-opt, modules/argz, modules/arpa_inet:
54383         * modules/byteswap, modules/configmake, modules/fcntl:
54384         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
54385         * modules/localcharset, modules/netinet_in, modules/poll:
54386         * modules/stdbool, modules/stdint, modules/sys_select:
54387         * modules/sys_socket, modules/sys_stat, modules/sysexits:
54388
54389 2006-09-08  Jim Meyering  <jim@meyering.net>
54390
54391         Avoid new build failure on FreeBSD 6.0.
54392         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
54393         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
54394         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
54395
54396 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54397
54398         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
54399
54400 2006-09-07  Jim Meyering  <jim@meyering.net>
54401
54402         Fix global typo in last change: use chmod u-w, not chmod u-x.
54403         Spotted by Paul Eggert and Bruce Korb.
54404         * modules/alloca-opt, modules/argz, modules/arpa_inet:
54405         * modules/byteswap, modules/configmake, modules/fcntl:
54406         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
54407         * modules/localcharset, modules/netinet_in, modules/poll:
54408         * modules/stdbool, modules/stdint, modules/sys_select:
54409         * modules/sys_socket, modules/sys_stat, modules/sysexits:
54410
54411 2006-09-06  Jim Meyering  <jim@meyering.net>
54412
54413         Make generated files be read-only.
54414         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
54415         Ensure that each generated file is now read-only.
54416         * modules/argz: Likewise.
54417         * modules/arpa_inet: Likewise.
54418         * modules/byteswap: Likewise.
54419         * modules/configmake: Likewise.
54420         * modules/fcntl: Likewise.
54421         * modules/fnmatch: Likewise.
54422         * modules/getopt: Likewise.
54423         * modules/glob: Likewise.
54424         * modules/inttypes: Likewise.
54425         * modules/netinet_in: Likewise.
54426         * modules/poll: Likewise.
54427         * modules/stdbool: Likewise.
54428         * modules/stdint: Likewise.
54429         * modules/sys_select: Likewise.
54430         * modules/sys_socket: Likewise.
54431         * modules/sys_stat: Likewise.
54432         * modules/sysexits: Likewise.
54433         * modules/localcharset: Same as above, but continue using temporary
54434         file named "t-$@" (why different?) rather than the "$@-t" used
54435         everywhere else.
54436
54437         * modules/sysexits (Makefile.am): Replace literal occurrences
54438         of "sysexit.h" more readable, and more consistent, "$@".
54439
54440 2006-09-06  Bruno Haible  <bruno@clisp.org>
54441
54442         * modules/striconv: New file.
54443         * modules/xstriconv: New file.
54444         * MODULES.html.sh (Internationalization functions): Add striconv,
54445         xstriconv.
54446
54447 2006-09-06  Bruno Haible  <bruno@clisp.org>
54448
54449         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
54450         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
54451         not using libtool correctly.
54452
54453 2006-09-06  Bruno Haible  <bruno@clisp.org>
54454
54455         * lib/striconv.h: New file.
54456         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
54457         iconvstring.c.
54458         * lib/xstriconv.h: New file.
54459         * lib/xstriconv.c: New file.
54460
54461 2006-09-06  Bruno Haible  <bruno@clisp.org>
54462
54463         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54464         lib_..._LDFLAGS.
54465
54466 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54467
54468         * lib/argz_.h: Sync from Libtool.
54469
54470         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
54471                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
54472
54473         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
54474
54475 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
54476
54477         * modules/trim: New file.
54478
54479 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
54480
54481         * lib/trim.h: New file.
54482         * lib/trim.c: New file.
54483
54484 2006-09-05  Bruno Haible  <bruno@clisp.org>
54485
54486         * MODULES.html.sh (String handling): Add trim.
54487
54488 2006-09-04  Karl Berry  <karl@gnu.org>
54489
54490         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
54491         until next release.
54492
54493 2006-09-03  Bruno Haible  <bruno@clisp.org>
54494
54495         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
54496         correctly.
54497
54498 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
54501         not gl_GETLOADAVG.  Omit unneeded semicolons.
54502         Problems reported by Ralf Wildenhues in
54503         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
54504         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
54505         at the end, which is the usual gnulib style.
54506
54507         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
54508         of doing all the work ourselves.
54509         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
54510         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
54511
54512 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54513
54514         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
54515         Problem reported by Ralf Wildenhues in
54516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
54517
54518         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
54519         HAVE_STRUCT_STATFS_F_FSTYPENAME.
54520
54521 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54522
54523         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
54524         yesterday's patch by changing test -n to test -z.
54525
54526 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54527
54528         * modules/getloadavg (Files): Add m4/getloadavg.m4.
54529         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
54530         the former is now obsolescent.
54531
54532         * modules/chdir-long (Depends-on): Add fcntl.
54533
54534 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54535
54536         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
54537         obsolescent, and programs should use gnulib instead.
54538         * m4/getloadavg.m4: New file, with contents taken from Autoconf
54539         but with prefixes changed.
54540
54541 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54542
54543         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
54544         or stdbool.h, because they might not exist while configuring.
54545
54546         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
54547         Don't include unistd.h or limits.h; not needed, since chdir-long.h
54548         does that for us.
54549         (O_DIRECTORY): Remove.
54550
54551 2006-08-31  Eric Blake  <ebb9@byu.net>
54552
54553         * gnulib-tool: Don't let emacs change spaces to TAB.
54554
54555 2006-08-31  Bruno Haible  <bruno@clisp.org>
54556
54557         * gnulib-tool: When calling func_import more than once, do it in a
54558         subshell.
54559         Reported by Eric Blake <ebb9@byu.net>.
54560
54561 2006-08-31  Bruno Haible  <bruno@clisp.org>
54562
54563         * gnulib-tool (nl): Remove variable.
54564         (sed_transform_lib_file): Use more robust test for config-h module.
54565         (func_import): Fix typo in 2006-08-25 patch.
54566
54567 2006-08-31  Bruno Haible  <bruno@clisp.org>
54568
54569         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
54570         specified, augment Makefile.am variables instead of assigning them.
54571
54572 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54573
54574         Work around a bug in both the Linux and SunOS 64-bit kernels:
54575         nanosleep mishandles sleeps for longer than 2**31 seconds.
54576         Problem reported by Frank v Waveren in
54577         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
54578         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
54579         Check for nanosleep bug.
54580         (LIB_NANOSLEEP): Append clock_gettime library if needed.
54581
54582 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54583
54584         Work around a bug in both the Linux and SunOS 64-bit kernels:
54585         nanosleep mishandles sleeps for longer than 2**31 seconds.
54586         Problem reported by Frank v Waveren in
54587         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
54588         * lib/nanosleep.c (BILLION): New constant.
54589         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
54590         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
54591         implementation.
54592
54593 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54594
54595         * modules/nanosleep (Depends-on): Add gettime.
54596
54597 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54598         and Simon Josefsson  <jas@extundo.com>
54599         and Oskar Liljeblad  <oskar@osk.mine.nu>
54600
54601         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
54602         * gnulib-tool (func_import): New license type 'unmodifiable license
54603         text'.
54604         * modules/fdl: Use it.  Longer description.
54605         * module/gpl, module/lgpl: New files.
54606
54607 2006-08-30  Jim Meyering  <jim@meyering.net>
54608
54609         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
54610         shadowing the parameter.
54611
54612 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54613
54614         Sync from Libtool:
54615
54616         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54617
54618         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
54619         sharing with gnulib.  Report by Eric Blake.
54620
54621 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54622
54623         * modules/isapipe: New file.
54624         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
54625
54626 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         * modules/configmake (Makefile.am): Add a comment, and omit
54629         the CONFIGMAKE_ prefix from generated macro names.  Suggested
54630         by Bruno Haible.
54631
54632 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54633
54634         * m4/isapipe.m4: New file.
54635
54636 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54637
54638         * lib/isapipe.c, lib/isapipe.h: New files.
54639
54640 2006-08-29  Jim Meyering  <jim@meyering.net>
54641
54642         * modules/configmake (Makefile.am): Make configmake.h depend on
54643         Makefile.  Otherwise, a stale configmake.h could hang around.
54644
54645 2006-08-29  Eric Blake  <ebb9@byu.net>
54646
54647         * lib/error.c (error_at_line, print_errno_message): Match libc, after
54648         resolution of upstream bug 3044.
54649
54650 2006-08-29  Bruno Haible  <bruno@clisp.org>
54651
54652         * modules/localcharset (Depends-on): Add configmake.
54653         (Makefile.am): Remove setting of LIBDIR through DEFS.
54654
54655 2006-08-29  Bruno Haible  <bruno@clisp.org>
54656
54657         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
54658         defined.
54659
54660 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54661
54662         * modules/fcntl: New file.
54663         * modules/chdir-safer (Depends-on): Add fcntl.
54664         * modules/fts: Likewise.
54665         * modules/mkdir-p: Likewise.
54666
54667         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
54668         This undoes the most recent change, since we're now addressing the
54669         problem in a different way.
54670
54671         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
54672         into output, since the output might be called Makefile.am even
54673         if $makefile_name is something different.
54674         (func_import): Use $makefile_am rather than
54675         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
54676         empty.
54677
54678         * modules/inttypes (Files): Add m4/inttypes-h.m4.
54679
54680 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54681
54682         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
54683         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
54684         recent change to stdint.m4, since we're now addressing the problem in a
54685         different way.
54686
54687 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54688
54689         * m4/fcntl_h.m4: New file.
54690
54691 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54692
54693         * lib/fcntl_.h: New file.
54694         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
54695         the fcntl module.
54696         * lib/dirchownmod.c: Likewise.
54697         * lib/fts.c: Likewise.
54698
54699         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
54700         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
54701         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
54702         just before including <inttypes.h>, to avoid circular inclusion.
54703
54704 2006-08-28  Jim Meyering  <jim@meyering.net>
54705
54706         * doc/visibility.texi: Actually read and correct the grammar of the
54707         sentence affected by yesterday's change.
54708
54709 2006-08-28  Eric Blake  <ebb9@byu.net>
54710
54711         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
54712         needs wrapper.
54713
54714 2006-08-28  Eric Blake  <ebb9@byu.net>
54715
54716         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
54717
54718 2006-08-28  Eric Blake  <ebb9@byu.net>
54719
54720         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
54721
54722 2006-08-28  Bruno Haible  <bruno@clisp.org>
54723
54724         * modules/c-strstr: New file, from GNU gettext.
54725         * MODULES.html.sh (String handling): Add c-strstr.
54726
54727 2006-08-28  Bruno Haible  <bruno@clisp.org>
54728
54729         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
54730         macros.
54731         Reported by Eric Blake.
54732
54733 2006-08-28  Bruno Haible  <bruno@clisp.org>
54734
54735         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
54736         (VASNPRINTF): Return a string of length > INT_MAX without failing.
54737         * lib/vasprintf.c: Include errno.h, limits.h.
54738         (EOVERFLOW): New fallback definition.
54739         (vasprintf): Test here whether the string length is > INT_MAX.
54740         * lib/vsnprintf.c: Include errno.h, limits.h.
54741         (EOVERFLOW): New fallback definition.
54742         (vsnprintf): Fix bug when generated string was too long for the buffer.
54743         Test here whether the string length is > INT_MAX.
54744
54745 2006-08-28  Bruno Haible  <bruno@clisp.org>
54746
54747         * lib/inttypes_.h (SCNX*): Remove definitions.
54748         Reported by Eric Blake.
54749
54750 2006-08-28  Bruno Haible  <bruno@clisp.org>
54751
54752         * lib/c-strstr.h: New file, from GNU gettext.
54753         * lib/c-strstr.c: New file, from GNU gettext.
54754
54755 2006-08-28  Bruno Haible  <bruno@clisp.org>
54756
54757         * gnulib-tool: Reorder some statements.
54758
54759 2006-08-28  Bruno Haible  <bruno@clisp.org>
54760
54761         * gnulib-tool: New option --makefile-name.
54762         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
54763         $makefile_name.
54764         (func_import): Write $makefile_name to the cache file, and read it from
54765         there unless explicitly specified. Use $makefile_name as file name
54766         instead of Makefile.am. Adjust the recommendations accordingly.
54767
54768 2006-08-28  Bruno Haible  <bruno@clisp.org>
54769
54770         * gnulib-tool (func_verify_module): Check against misapplying patch.
54771
54772 2006-08-28  Bruno Haible  <bruno@clisp.org>
54773
54774         * gnulib-tool (func_relativize, func_relconcat): New functions.
54775         Give an error if --local-dir is given with --update.
54776         Remove trailing slashes from $local_gnulib_dir.
54777         (func_import): Store the relativized $local_gnulib_dir in
54778         gnulib-cache.m4, and read it from there if not specified explicitly.
54779
54780 2006-08-28  Bruno Haible  <bruno@clisp.org>
54781
54782         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
54783         is the current directory. Respect also $local_gnulib_dir.
54784
54785 2006-08-28  Bruno Haible  <bruno@clisp.org>
54786             Simon Josefsson  <jas@extundo.com>
54787
54788         BeOS portability.
54789         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
54790
54791 2006-08-27  Jim Meyering  <jim@meyering.net>
54792
54793         * doc/visibility.texi: Remove duplicate word: "pointer".
54794
54795 2006-08-26  Bruno Haible  <bruno@clisp.org>
54796
54797         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
54798         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
54799         (Makefile.am): Create inttypes.h from inttypes_.h.
54800         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
54801
54802         * modules/imaxabs: New file.
54803
54804         * modules/imaxdiv: New file.
54805
54806 2006-08-26  Bruno Haible  <bruno@clisp.org>
54807
54808         * m4/inttypes.m4: New file.
54809         * m4/_inttypes_h.m4: Remove file.
54810         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
54811         PRI_MACROS_BROKEN.
54812         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
54813
54814         * m4/imaxabs.m4: New file.
54815
54816         * m4/imaxdiv.m4: New file.
54817
54818 2006-08-26  Bruno Haible  <bruno@clisp.org>
54819
54820         * lib/inttypes_.h: New file.
54821         * lib/inttypes.h: Remove file.
54822         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
54823
54824         * lib/imaxabs.c: New file.
54825
54826         * lib/imaxdiv.c: New file.
54827
54828 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54829
54830         New config-h module, so that "make" output needn't be cluttered
54831         by -DHAVE_CONFIG_H.
54832         * MODULES.html.sh (Support for building libraries and executables):
54833         Add config-h.
54834         * modules/config-h: New file.
54835         * gnulib-tool (nl, sed_transform_lib_file): New vars.
54836         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
54837         the config-h module is used.
54838
54839         New configmake module, so that "make" output needn't be cluttered
54840         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
54841         * MODULES.html.sh (Support for building libraries and executables):
54842         Add configmake.
54843         * modules/configmake: New file.
54844
54845 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54846
54847         * m4/config-h.m4: New file.
54848
54849 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54850
54851         * config/srclist.txt: Add elisp-comp.
54852
54853 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54854
54855         * MODULES.html.sh (Support for building libraries and executables):
54856         Add elisp-comp.
54857         * build-aux/elisp-comp: New file.
54858         * modules/elisp-comp: New file.
54859
54860 2006-08-24  Bruno Haible  <bruno@clisp.org>
54861
54862         * gnulib-tool (func_create_testdir): Use non-default values of
54863         sourcebase and m4base.
54864
54865 2006-08-24  Bruno Haible  <bruno@clisp.org>
54866
54867         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
54868         HTML structure.
54869
54870 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54871
54872         * modules/openat (Depends-on): Add lchown.
54873
54874 2006-08-23  Bruno Haible  <bruno@clisp.org>
54875
54876         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
54877         of gl_LOCK_EARLY instead of gl_LOCK.
54878
54879 2006-08-23  Bruno Haible  <bruno@clisp.org>
54880
54881         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
54882         on OSF/1 to no.
54883         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
54884
54885 2006-08-23  Bruno Haible  <bruno@clisp.org>
54886
54887         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
54888         as unusable.
54889
54890         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
54891         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
54892         (gl_LOCK): New macro.
54893
54894 2006-08-22  Simon Josefsson  <jas@extundo.com>
54895
54896         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
54897         to md5 module.
54898
54899 2006-08-22  Simon Josefsson  <jas@extundo.com>
54900
54901         * MODULES.html.sh: Add "Support for maintaining and release
54902         projects".
54903
54904         * build-aux/gnupload: New file, from coreutils.
54905
54906 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54907
54908         Avoid the need for AC_LIBSOURCES in m4 macros.
54909         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
54910         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
54911         * modules/check-version (EXTRA_DIST): Add check-version.h.
54912         * modules/crc (EXTRA_DIST): Add crc.h.
54913         * modules/des (EXTRA_DIST): Add des.h.
54914         * modules/gc (EXTRA_DIST): Add gc.h.
54915         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
54916         * modules/getline (EXTRA_DIST): Add getline.h.
54917         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
54918         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
54919         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
54920         * modules/md2 (EXTRA_DIST): Add md2.h.
54921         * modules/md4 (EXTRA_DIST): Add md4.h.
54922         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
54923         * modules/read-file (EXTRA_DIST): Add read-file.h.
54924         * modules/readline (EXTRA_DIST): Add readline.h.
54925         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
54926         rijndael-api-fst.h.
54927
54928 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54929
54930         * m4/rijndael.m4 (gl_ARCFOUR):
54931         * m4/arctwo.m4 (gl_ARCTWO):
54932         * m4/check-version.m4 (gl_CHECK_VERSION):
54933         * m4/crc.m4 (gl_CRC):
54934         * m4/des.m4 (gl_DES):
54935         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
54936         * m4/gc.m4 (gl_GC):
54937         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
54938         * m4/getline.m4 (gl_FUNC_GETLINE):
54939         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
54940         * m4/hmac-md5.m4 (gl_HMAC_MD5):
54941         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
54942         * m4/md2.m4 (gl_MD2):
54943         * m4/md4.m4 (gl_MD4):
54944         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
54945         * m4/read-file.m4 (gl_FUNC_READ_FILE):
54946         * m4/readline.m4 (gl_FUNC_READLINE):
54947         * m4/rijndael.m4 (gl_RIJNDAEL):
54948         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
54949         to get the necessary .h files and whatnot.
54950
54951 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54952
54953         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
54954         gnulib rather than the other way around.
54955         * config/srclistvars.sh (COREUTILS): Remove.
54956
54957 2006-08-22  Jim Meyering  <jim@meyering.net>
54958
54959         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
54960
54961         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
54962
54963 2006-08-22  Eric Blake  <ebb9@byu.net>
54964
54965         * modules/regexprops-generic: New file.
54966         * MODULES.html.sh (Support for building documentation): List it.
54967
54968 2006-08-22  Eric Blake  <ebb9@byu.net>
54969
54970         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
54971         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
54972         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
54973         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
54974
54975 2006-08-22  Bruno Haible  <bruno@clisp.org>
54976
54977         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
54978         and lib_LTLIBRARIES like the other lib_* variables.
54979
54980 2006-08-22  Bruno Haible  <bruno@clisp.org>
54981
54982         * build-aux/x-to-1.in: New file, from GNU gettext.
54983
54984 2006-08-22  Bruno Haible  <bruno@clisp.org>
54985
54986         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
54987         <utmpx.h> exists.
54988
54989 2006-08-22  Bruno Haible  <bruno@clisp.org>
54990
54991         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
54992         <utmpx.h> exists.
54993
54994 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
54995
54996         BeOS portability.
54997         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
54998         exist.
54999         Problem reported by Bruno Haible.
55000
55001 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
55002
55003         Avoid the need for AC_LIBSOURCES in m4 macros.
55004         * modules/acl (EXTRA_DIST): Add acl.h.
55005         * modules/argmatch (Files): Add m4/argmatch.m4.
55006         (configure.ac): Add gl_ARGMATCH.
55007         (EXTRA_DIST): Renamed from lib_SOURCES, for
55008         consistency with the other modules.  Remove argmatch.c.
55009         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
55010         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
55011         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
55012         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
55013         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
55014         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
55015         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
55016         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
55017         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
55018         * modules/closeout (EXTRA_DIST): Add closeout.h.
55019         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
55020         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
55021         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
55022         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
55023         dirname.h; remove basename.c and stripslash.c.
55024         * modules/exclude (EXTRA_DIST): Add exclude.h.
55025         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
55026         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
55027         * modules/file-type (EXTRA_DIST): Add file-type.h.
55028         * modules/filemode (EXTRA_DIST): Add filemode.h.
55029         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
55030         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
55031         * modules/fpending (EXTRA_DIST): Add __fpending.h.
55032         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
55033         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
55034         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
55035         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
55036         * modules/getdate (EXTRA_DIST): Add getdate.c.
55037         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
55038         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
55039         * modules/getpass (EXTRA_DIST): Add getpass.h.
55040         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
55041         * modules/group-member (EXTRA_DIST): Add group-member.h.
55042         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
55043         * modules/hash (EXTRA_DIST): Add hash.h.
55044         * modules/human (EXTRA_DIST): Add human.h.
55045         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
55046         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
55047         * modules/lchown (EXTRA_DIST): Add lchown.h.
55048         * modules/long-options (EXTRA_DIST): Add long-options.h.
55049         * modules/lstat (EXTRA_DIST): Add lstat.h.
55050         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
55051         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
55052         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
55053         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
55054         * modules/memxor (EXTRA_DIST): Add memxor.h.
55055         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
55056         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
55057         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
55058         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
55059         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
55060         * modules/physmem (EXTRA_DIST): Add physmem.h.
55061         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
55062         * modules/posixver (EXTRA_DIST): Add posixver.h.
55063         * modules/quote (EXTRA_DIST): Add quote.h.
55064         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
55065         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
55066         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
55067         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
55068         regex_internal.h regexec.c.
55069         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
55070         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
55071         * modules/same (EXTRA_DIST): Add same.h.
55072         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
55073         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
55074         * modules/savedir (EXTRA_DIST): Add savedir.h.
55075         * modules/sha1 (EXTRA_DIST): Add sha1.h.
55076         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
55077         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
55078         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
55079         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
55080         * modules/strdup (EXTRA_DIST): Add strdup.h.
55081         * modules/strftime (EXTRA_DIST): Add strftime.h.
55082         * modules/strndup (EXTRA_DIST): Add strndup.h.
55083         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
55084         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
55085         * modules/time_r (EXTRA_DIST): Add time_r.h.
55086         * modules/timespec (EXTRA_DIST): Add timespec.h.
55087         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
55088         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
55089         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
55090         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
55091         * modules/userspec (EXTRA_DIST): Add userspec.h.
55092         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
55093         * modules/utimens (EXTRA_DIST): Add utimens.h.
55094         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
55095         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
55096         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
55097         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
55098         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
55099         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
55100         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
55101         * modules/yesno (EXTRA_DIST): Add yesno.h.
55102
55103 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
55104
55105         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
55106
55107         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
55108         * m4/dev-ino.m4, same-inode.m4: Remove.
55109
55110         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
55111         * m4/acl.m4 (AC_FUNC_ACL):
55112         * m4/backupfile.m4 (gl_BACKUPFILE):
55113         * m4/c-strtod.m4 (gl_C99_STRTOLD):
55114         * m4/canon-host.m4 (gl_CANON_HOST):
55115         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55116         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
55117         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
55118         * m4/cloexec.m4 (gl_CLOEXEC):
55119         * m4/close-stream.m4 (gl_CLOSE_STREAM):
55120         * m4/closeout.m4 (gl_CLOSEOUT):
55121         * m4/dirfd.m4 (gl_FUNC_DIRFD):
55122         * m4/dirname.m4 (gl_DIRNAME):
55123         * m4/exclude.m4 (gl_EXCLUDE):
55124         * m4/exitfail.m4 (gl_EXITFAIL):
55125         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
55126         * m4/file-type.m4 (gl_FILE_TYPE):
55127         * m4/filemode.m4 (gl_FILEMODE):
55128         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
55129         * m4/fpending.m4 (gl_FUNC_FPENDING):
55130         * m4/fprintftime.m4 (gl_FPRINTFTIME):
55131         * m4/fts.m4 (gl_FUNC_FTS):
55132         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
55133         * m4/getdate.m4 (gl_GETDATE):
55134         * m4/gethrxtime.m4 (gl_GETHRXTIME):
55135         * m4/getpagesize.m4 (gl_GETPAGESIZE):
55136         * m4/getpass.m4 (gl_FUNC_GETPASS):
55137         * m4/gettime.m4 (gl_GETTIME):
55138         * m4/getugroups.m4 (gl_GETUGROUPS):
55139         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
55140         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
55141         * m4/hard-locale.m4 (gl_HARD_LOCALE):
55142         * m4/hash.m4 (gl_HASH):
55143         * m4/idcache.m4 (gl_IDCACHE):
55144         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
55145         * m4/lchown.m4 (gl_FUNC_LCHOWN):
55146         * m4/long-options.m4 (gl_LONG_OPTIONS):
55147         * m4/lstat.m4 (gl_FUNC_LSTAT):
55148         * m4/md5.m4 (gl_MD5):
55149         * m4/memcasecmp.m4 (gl_MEMCASECMP):
55150         * m4/memcoll.m4 (gl_MEMCOLL):
55151         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
55152         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
55153         * m4/memxor.m4 (gl_MEMXOR):
55154         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
55155         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
55156         * m4/modechange.m4 (gl_MODECHANGE):
55157         * m4/mountlist.m4 (gl_MOUNTLIST):
55158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55159         * m4/openat.m4 (gl_FUNC_OPENAT):
55160         * m4/pathmax.m4 (gl_PATHMAX):
55161         * m4/physmem.m4 (gl_PHYSMEM):
55162         * m4/posixtm.m4 (gl_POSIXTM):
55163         * m4/posixver.m4 (gl_POSIXVER):
55164         * m4/quote.m4 (gl_QUOTE):
55165         * m4/quotearg.m4 (gl_QUOTEARG):
55166         * m4/readtokens.m4 (gl_READTOKENS):
55167         * m4/readutmp.m4 (gl_READUTMP):
55168         * m4/regex.m4 (gl_REGEX):
55169         * m4/safe-read.m4 (gl_SAFE_READ):
55170         * m4/safe-write.m4 (gl_SAFE_WRITE):
55171         * m4/same.m4 (gl_SAME):
55172         * m4/save-cwd.m4 (gl_SAVE_CWD):
55173         * m4/savedir.m4 (gl_SAVEDIR):
55174         * m4/settime.m4 (gl_SETTIME):
55175         * m4/sha1.m4 (gl_SHA1):
55176         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
55177         * m4/stat-macros.m4 (gl_STAT_MACROS):
55178         * m4/stat-time.m4 (gl_STAT_TIME):
55179         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
55180         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
55181         * m4/strdup.m4 (gl_FUNC_STRDUP):
55182         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
55183         * m4/strndup.m4 (gl_FUNC_STRNDUP):
55184         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
55185         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
55186         * m4/time_r.m4 (gl_TIME_R):
55187         * m4/timespec.m4 (gl_TIMESPEC):
55188         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
55189         * m4/unlinkdir.m4 (gl_UNLINKDIR):
55190         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
55191         * m4/userspec.m4 (gl_USERSPEC):
55192         * m4/utimecmp.m4 (gl_UTIMECMP):
55193         * m4/utimens.m4 (gl_UTIMENS):
55194         * m4/xalloc.m4 (gl_XALLOC):
55195         * m4/xgetcwd.m4 (gl_XGETCWD):
55196         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
55197         * m4/xreadlink.m4 (gl_XREADLINK):
55198         * m4/xstrtod.m4 (gl_XSTRTOD):
55199         * m4/yesno.m4 (gl_YESNO):
55200         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
55201         to get the necessary .h files and whatnot.
55202
55203 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
55204             Bruno Haible  <bruno@clisp.org>
55205
55206         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
55207         /bin/sh understanding of '!' conditional negation.
55208
55209 2006-08-21  Jim Meyering  <jim@meyering.net>
55210
55211         * modules/openat (Depends-on): Really alphabetize.
55212
55213         * modules/acl (Depends-on): Add error and quote.
55214
55215         * check-module (find_included_lib_files): Add at-func.c to the
55216         ok-to-include-more-than-once white list.
55217
55218         * modules/openat (Depends-on): Add lstat.  Alphabetize.
55219
55220 2006-08-21  Bruno Haible  <bruno@clisp.org>
55221
55222         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55223         Emit a pkgdata_DATA variable only if some snippets add contents to it.
55224         Reported by Martin Lambers <marlam@marlam.de>.
55225
55226 2006-08-21  Bruno Haible  <bruno@clisp.org>
55227
55228         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
55229         specify an installation location, don't emit a noinst_LIBRARIES or
55230         noinst_LTLIBRARIES assignment.
55231
55232 2006-08-21  Bruno Haible  <bruno@clisp.org>
55233
55234         BeOS portability.
55235         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
55236         BeOS has mbrtowc() but no <wctype.h>.
55237
55238 2006-08-21  Bruno Haible  <bruno@clisp.org>
55239
55240         BeOS portability.
55241         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
55242         exist.
55243
55244 2006-08-21  Bruno Haible  <bruno@clisp.org>
55245
55246         BeOS portability.
55247         * lib/mbchar.h: Include <wctype.h> only if it exists.
55248
55249 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55250
55251         Remove files that are no longer needed by their respective modules.
55252         * m4/obstack.m4: Remove.
55253         * m4/strerror_r.m4: Remove.
55254         * m4/uint32_t.m4: Remove.
55255         * m4/uintptr_t.m4: Remove.
55256         * m4/ullong_max.m4: Remove.
55257         * m4/xstrtoimax.m4: Remove.
55258         * m4/xstrtoumax.m4: Remove.
55259
55260         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
55261         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
55262         dependencies now capture this.
55263
55264         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
55265         Do not use AC_LIBSOURCES, since gnulib modules now do this.
55266         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
55267         * m4/human.m4 (gl_HUMAN): Likewise.
55268         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
55269         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
55270
55271         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
55272
55273         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
55274         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
55275         stdint.
55276         * m4/human.m4 (gl_HUMAN): Likewise.
55277         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
55278         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
55279         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
55280         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
55281         * m4/xstrtol (gl_XSTRTOL): Likewise.
55282
55283         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
55284         AC_TYPE_LONG_LONG_INT.
55285         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
55286         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
55287         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
55288         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
55289
55290         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
55291         on stdbool.
55292
55293         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
55294         (gl_PREREQ_XSTRTOUL): Remove.
55295
55296         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
55297
55298         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
55299         mode.
55300
55301 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55302
55303         Add and change modules to make it easier for coreutils to use
55304         gnulib-tool.
55305         * modules/backupfile (Files): Remove m4/d-ino.m4.
55306         (Depends-on): Add d-ino.
55307         * modules/cycle-check (Depends-on): Add stdint.
55308         (lib_SOURCES): Add cycle-check.h.
55309         * modules/d-ino: New module.
55310         * modules/d-type: New module.
55311         * modules/error (Files): Remove m4/strerror_r.m4.
55312         * modules/filemode (Files): Add m4/st_dm_mode.m4.
55313         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
55314         m4/inttypes_h.m4, m4/uintmax_t.m4.
55315         (Depends-on): Add stdint.
55316         (lib_SOURCES): Add fsusage.h.
55317         * modules/getcwd (Files): Remove d-ino.m4.
55318         (Depends-on): Add d-ino.
55319         * modules/getndelim2 (Depends-on): Add stdint.
55320         * modules/glob (Files): Remove m4/d-type.m4.
55321         (Depends-on): Add d-type.
55322         * modules/host-os: New module.
55323         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
55324         m4/inttypes_h.m4, m4/uintmax_t.m4.
55325         * Depends-on: Add stdint.
55326         (lib_SOURCES): Add human.h.
55327         * modules/inttostr (Files): Remove m4/intmax_t.m4,
55328         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
55329         m4/uintmax_t.m4, m4/ulonglong.m4.
55330         (Depends-on): Add stdint.
55331         (EXTRA_DIST): Add inttostr.h.
55332         * modules/lchmod: New module.
55333         * modules/link-follow: New module.
55334         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
55335         (Depends-on): Add lchmod.
55336         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
55337         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
55338         (Depends-on): Add stdint.
55339         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
55340         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
55341         (Depends-on): Add stdint.
55342         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
55343         * modules/perl: New module.
55344         * modules/regex (Depends-on): Add stdint.
55345         * modules/rmdir-errno: New module.
55346         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
55347         m4/intmax_t.m4.
55348         (Depends-on): Add stdint.
55349         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
55350         m4/uintmax_t.m4.
55351         (Depends-on): Add stdint.
55352         * modules/unlink-busy: New module.
55353         * modules/utimecmp (Depends-on): Add stdint.
55354         * modules/uptime: New module.
55355         * modules/winsz-ioctl: New module.
55356         * modules/winsz-termios: New module.
55357         * modules/xnanosleep (Depends-on): Add nanosleep.
55358         * modules/ullong_max: Remove.
55359         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
55360         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
55361         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
55362         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
55363         (Depends-on): Add inttypes.
55364         (lib_SOURCES): Add xstrtol.h.
55365         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
55366         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
55367         * MODULES.html.sh: Move 'assert' into the assert section.
55368         Move 'dummy' into the linking section.
55369         Remove ullong_max.
55370         Add section for compatibility checks for POSIX:2001 functions,
55371         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
55372         winsz-ioctl, and winsz-termios into it.
55373         Add lchmod.
55374         Add top-level Misc section and put host-os, perl, and uptime
55375         into it.
55376
55377 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55378
55379         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
55380         now assume the stdint module.  Do not include inttypes.h.
55381         * lib/fsusage.h: Likewise.
55382         * lib/getndelim2.c: Likewise.
55383         * lib/human.h: Likewise.
55384         * lib/inttostr.h: Likewise.
55385         * lib/obstack.c: Likewise.
55386         * lib/regex_internal.h: Likewise.
55387         * lib/tempname.c: Likewise.
55388         * lib/utimecmp.c: Likewise.
55389         * lib/xstrtol.h: Likewise.
55390
55391         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
55392
55393         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
55394         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
55395         * lib/xtime.h: Likewise.
55396
55397 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55398
55399         * modules/openat (Files): Add lib/fchmodat.c.
55400         Fixes problem reported by Jay Youngman.
55401
55402 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
55405         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
55406
55407 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
55408             Bruno Haible  <bruno@clisp.org>
55409
55410         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
55411         and is a script that invokes bison. Tighten the code. Add comments.
55412
55413 2006-08-18  Jim Meyering  <jim@meyering.net>
55414
55415         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
55416         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
55417         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
55418         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
55419
55420 2006-08-18  Bruno Haible  <bruno@clisp.org>
55421
55422         * modules/bison-i18n: New file.
55423         * MODULES.html.sh (Internationalization functions): Add it.
55424
55425 2006-08-18  Bruno Haible  <bruno@clisp.org>
55426
55427         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
55428         sys/statvfs.h. When getmntinfo was found, check its declaration and
55429         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
55430
55431 2006-08-18  Bruno Haible  <bruno@clisp.org>
55432
55433         * m4/bison-i18n.m4: New file, from bison.
55434
55435 2006-08-18  Bruno Haible  <bruno@clisp.org>
55436
55437         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
55438         (ME_DUMMY): Treat "kernfs" as a dummy.
55439         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
55440
55441 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55442
55443         Update from coreutils.
55444
55445         2006-08-15  Jim Meyering  <jim@meyering.net>
55446
55447         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
55448
55449         2006-01-17  Jim Meyering  <jim@meyering.net>
55450
55451         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
55452
55453         2006-01-11  Jim Meyering  <jim@meyering.net>
55454
55455         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
55456         Check for the lchmod function.
55457
55458 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55459
55460         Update from coreutils.
55461
55462         * lib/__fpending.h: Add copyright notice.
55463         * lib/fprintftime.h: Likewise.
55464         * lib/savedir.c: Use (C) in copyright notice.
55465         * lib/savedir.h: Likewise.
55466
55467         2006-08-15  Jim Meyering  <jim@meyering.net>
55468
55469         * lib/at-func.c: New file, with the logic of all emulated at-functions.
55470         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
55471         in support of the EXPECTED_ERRNO macro.
55472         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
55473         definitions.  Instead, define the appropriate symbols and include
55474         "at-func.c".
55475         * lib/mkdirat.c (mkdirat): Likewise.
55476         * lib/fchmodat.c (fchmodat): Likewise.
55477         (ENOSYS): Remove definition.
55478         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
55479         it.  Don't include "unistd--.h" -- it wasn't ever used.
55480
55481         2006-01-17  Jim Meyering  <jim@meyering.net>
55482
55483         Rewrite fts.c not to change the current working directory,
55484         by using openat, fstatat, fdopendir, etc..
55485
55486         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
55487         (HAVE_OPENAT_SUPPORT): Define.
55488         [_LIBC] (fchdir): Don't undef or define; no longer used.
55489         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
55490         Now, this `function' always succeeds, and consumes its file descriptor
55491         parameter -- so callers must not close such FDs.  Update callers.
55492         (diropen_fd, opendirat, cwd_advance_fd): New functions.
55493         (diropen): Add parameter, SP.  Adjust all callers.
55494         Implement using diropen_fd, rather than open.
55495         (fts_open): Initialize new member, fts_cwd_fd.
55496         Remove fts_rft-setting code.
55497         (fts_close): Close fts_cwd_fd, if necessary.
55498         (__opendir2): Define in terms of opendir or opendirat,
55499         depending on whether the FST_NOCHDIR flag is set.
55500         (fts_build): Since fts_safe_changedir consumes its FD, and since
55501         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
55502         and close the dup'd file descriptor upon failure.
55503         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
55504         (fts_safe_changedir): Tweak semantics to reflect that this function
55505         now calls cwd_advance_fd and hence consumes its FD argument.
55506         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
55507         [struct FTS] (fts_rft): Remove now-unused member.
55508         [struct FTS] (fts_cycle.state): Improve comment.
55509
55510         * lib/openat.c (openat_needs_fchdir): New function.
55511         * lib/openat.h (openat_needs_fchdir): Declare it.
55512
55513 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
55514
55515         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
55516         Problem and fix reported by Pádraig Brady in
55517         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
55518
55519 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55520
55521         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
55522
55523 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55524
55525         * lib/memcoll.c (memcoll): Optimize for the common case where the
55526         arguments are bytewise equal.
55527
55528 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55529
55530         * doc/regexprops-generic.texi: Add a copyright notice.
55531
55532 2006-08-15  Bruno Haible  <bruno@clisp.org>
55533
55534         * modules/tmpdir (License): Change to LGPL.
55535
55536 2006-08-15  Bruno Haible  <bruno@clisp.org>
55537
55538         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
55539         module.
55540
55541 2006-08-14  Simon Josefsson  <jas@extundo.com>
55542
55543         * config/srclist.txt: Add gnupload.
55544
55545 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55546
55547         Change copyright notice from LGPL 2 to GPL 2, since that's the
55548         standard form used in the gnulib repository.
55549         * tests/test-lock.c: Likewise.
55550         * tests/test-stdint.c: Likewise.
55551         * tests/test-tls.c: Likewise.
55552
55553         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
55554         prelude-manager.  User shorter URLs for GNU projects, without '?'.
55555         Add copyright notice.
55556
55557         * check-module: Add copyright notice.  Output a copyright
55558         notice if "--version" is specified.
55559         * modules/COPYING: New file.
55560         * tests/test-getaddrinfo.c: Add copyright notice.
55561         * tests/test-verify.c: Likewise.
55562
55563 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55564
55565         Change copyright notice from LGPL 2 to GPL 2, since that's the
55566         standard form used in the gnulib repository.
55567         * lib/lock.c: LGPL -> GPL.
55568         * lib/lock.h: Likewise.
55569         * lib/strnlen1.c: Likewise.
55570         * lib/strnlen1.h: Likewise.
55571         * lib/tls.c: Likewise.
55572         * lib/tls.h: Likewise.
55573         * lib/tmpdir.c: Likewise.
55574
55575         * lib/TODO: Remove; this belongs only in coreutils.
55576
55577 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55578
55579         Add copyright notices to long-enough files that lack them, since
55580         otherwise the files aren't clearly free.  Use the same notice that
55581         getdate.texi already uses.
55582         * doc/alloca-opt.texi: Add copyright notice.
55583         * doc/alloca.texi: Likewise.
55584         * doc/ctime.texi: Likewise.
55585         * doc/functions.texi: Likewise.
55586         * doc/gcd.texi: Likewise.
55587         * doc/gnulib-tool.texi: Likewise.
55588         * doc/inet_ntoa.texi: Likewise.
55589         * doc/visibility.texi: Likewise.
55590
55591         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
55592         * doc/quote.texi: Add copyright notice.
55593
55594         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
55595         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
55596         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
55597         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
55598         is now obsolete, and give a pointer to the Sun list.
55599         Add copyright notice.
55600
55601 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55602
55603         * config/srclistvars.sh: Add copyright notice.
55604
55605 2006-08-14  Eric Blake  <ebb9@byu.net>
55606
55607         Import the following change from libc:
55608
55609         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
55610
55611         Upstream bug 2997.
55612         * lib/misc/error.c: Add space between program name and message if file
55613         name is missing.
55614
55615 2006-08-12  Karl Berry  <karl@gnu.org>
55616
55617         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
55618         remove, these originate in gnulib now.
55619
55620 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55621
55622         * doc/Makefile (standards.info standards.html standards.dvi):
55623         Also depend on make-stds.texi.
55624
55625 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55626
55627         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
55628         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
55629
55630         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
55631         in wchar_t.  Problem reported by Eric Blake.
55632
55633         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
55634         LEN is smaller than SIZE.  Suggested by Bruno Haible.
55635         Also, help the compiler to keep LEN in a register.
55636
55637 2006-08-11  Eric Blake  <ebb9@byu.net>
55638
55639         * users.txt: Sort.  Add tar.
55640
55641 2006-08-11  Bruno Haible  <bruno@clisp.org>
55642
55643         * users.txt: New file.
55644
55645 2006-08-11  Bruno Haible  <bruno@clisp.org>
55646
55647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
55648         before <wchar.h>. Needed for OSF/1 and BSD/OS.
55649
55650 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
55651
55652         * modules/snprintf (Depends-on): Remove minmax.
55653         (Maintainer): Add self and Bruno.
55654
55655 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
55656
55657         * lib/.cppi-disable: Add snprintf.h, socket_.h.
55658         * lib/snprintf.c: Include <errno.h> and <limits.h>.
55659         (EOVERFLOW): Define if the system does not.
55660         Do not include "minmax.h"; it wasn't used.
55661         (snprintf): Don't assume size_t promotes to an unsigned type.
55662         Fix bug when generated string was too long for the buffer: the
55663         buffer's contents are supposed to be the initial prefix of the
55664         output.  Don't assume vasnprintf returns EOVERFLOW if the size
55665         exceeds INT_MAX; do the check ourselves.
55666
55667         Import the following changes from libc:
55668
55669         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
55670
55671         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
55672         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
55673         set wc to the byte which couldn't be converted.
55674         (re_string_reconstruct): Don't clear valid_raw_len before calling
55675         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
55676         tip_context using re_string_context_at.
55677
55678         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
55679
55680         * lib/posix/regex.h: g++ still cannot handled [restrict].
55681
55682         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
55683
55684         * lib/posix/regex.h: Remove special handling for VMS.
55685
55686 2006-08-10  Jim Meyering  <jim@meyering.net>
55687
55688         * modules/same-inode: New module.
55689         * modules/dev-ino: New module.
55690         * modules/cycle-check: Depend on these modules, rather than simply
55691         including their .h files.
55692         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
55693         required via m4/cycle-check.m4.
55694         * modules/same: Depend on new same-inode module, rather than
55695         including same-inode.h.
55696         * modules/chdir-safer: New file.
55697
55698         * modules/chown (Depends-on): Add stat-macros.
55699
55700 2006-08-10  Jim Meyering  <jim@meyering.net>
55701
55702         * m4/cycle-check.m4: New file.
55703         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
55704         * m4/dev-ino.m4, m4/same-inode.m4: New files.
55705
55706 2006-08-10  Eric Blake  <ebb9@byu.net>
55707
55708         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
55709         in from original proposal.
55710
55711 2006-08-10  Eric Blake  <ebb9@byu.net>
55712         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
55713
55714         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
55715         namespace.
55716
55717 2006-08-10  Bruno Haible  <bruno@clisp.org>
55718
55719         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
55720         as well.
55721
55722 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55723
55724         Sync from coreutils.
55725
55726         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
55727
55728         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
55729         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
55730
55731 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55732
55733         * modules/restrict: Remove; no longer needed now that we assume
55734         Autoconf 2.59 or later.
55735         * MODULES.html.sh: Remove 'restrict'.
55736         * modules/argp (Depends-on): Remove 'restrict'.
55737         * modules/base64 (Depends-on): Likewise.
55738         * modules/gc (Depends-on): Likewise.
55739         * modules/getaddrinfo (Depends-on): Likewise.
55740         * modules/glob (Depends-on): Likewise.
55741         * modules/inet_ntop (Depends-on): Likewise.
55742         * modules/inet_pton (Depends-on): Likewise.
55743         * modules/memxor (Depends-on): Likewise.
55744         * modules/regex (Depends-on): Likewise.
55745         * modules/strtok_r (Depends-on): Likewise.
55746         * modules/time_r (Depends-on): Likewise.
55747
55748 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55749
55750         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
55751         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
55752         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
55753         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
55754         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
55755         * m4/memxor.m4 (gl_MEMXOR): Likewise.
55756         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
55757         gl_C_RESTRICT replaced by AC_C_RESTRICT.
55758
55759         Merge from coreutils.
55760         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
55761         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
55762         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55763         * m4/time_r.m4 (gl_TIME_R): Likewise.
55764
55765 2006-08-09  Karl Berry  <karl@gnu.org>
55766
55767         * config/srclist.txt: no more gettext-tools, per Bruno.
55768
55769 2006-08-08  Eric Blake  <ebb9@byu.net>
55770
55771         * modules/verror: New module.
55772         * MODULES.html.sh: Document it.
55773
55774 2006-08-08  Eric Blake  <ebb9@byu.net>
55775
55776         * lib/verror.h, lib/verror.c: New files.
55777
55778 2006-08-08  Eric Blake  <ebb9@byu.net>
55779
55780         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
55781         verror_at_line output complies with GNU Coding Standards even when
55782         file is NULL.
55783
55784 2006-08-07  Bruno Haible  <bruno@clisp.org>
55785
55786         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
55787         versions of AIX.
55788         Reported by Ralf Wildenhues.
55789
55790 2006-08-07  Bruno Haible  <bruno@clisp.org>
55791
55792         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
55793         in an AC_DEFUN. Needed so that the autoconf snippets can use
55794         AC_REQUIRE.
55795
55796 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55797
55798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55799         Initialize pkgdata_DATA.
55800         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
55801         overriding it.
55802
55803 2006-08-06  Eric Blake  <ebb9@byu.net>
55804
55805         * lib/error.h: Fold in some upstream changes from glibc.
55806         * lib/error.c: Likewise.
55807
55808 2006-08-04  Bruno Haible  <bruno@clisp.org>
55809
55810         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55811         Make the mostlyclean-local rule depend on mostlyclean-generic.
55812         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
55813
55814 2006-07-31  Bruno Haible  <bruno@clisp.org>
55815
55816         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
55817         <stdlib.h>, <string.h>.
55818
55819 2006-07-30  Bruno Haible  <bruno@clisp.org>
55820
55821         * modules/readlink (License): Change to LGPL.
55822
55823 2006-07-30  Bruno Haible  <bruno@clisp.org>
55824
55825         * modules/javaversion (Makefile.am): Distribute javaversion.java and
55826         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
55827         set PKGDATADIR to point to it.
55828
55829 2006-07-30  Bruno Haible  <bruno@clisp.org>
55830
55831         * modules/csharpexec (configure.ac): Comment out macro invocation.
55832         * modules/javaexec (configure.ac): Likewise.
55833         * modules/javacomp-script (configure.ac): Likewise.
55834
55835         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
55836
55837 2006-07-30  Bruno Haible  <bruno@clisp.org>
55838
55839         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
55840         linked-list.
55841
55842 2006-07-30  Bruno Haible  <bruno@clisp.org>
55843
55844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
55845
55846 2006-07-30  Bruno Haible  <bruno@clisp.org>
55847
55848         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55849         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
55850         get removed.
55851
55852 2006-07-29  Bruno Haible  <bruno@clisp.org>
55853
55854         Make it possible for gnulib-tool to work with locally modified or
55855         augmented gnulib repositories.
55856         * gnulib-tool (func_usage): Document --local-dir option.
55857         (local_gnulib_dir): New variable.
55858         Handle --local-dir option.
55859         (func_lookup_file): New function.
55860         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
55861         (func_get_description, func_get_filelist, func_get_description,
55862         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
55863         func_get_automake_snippet, func_get_include_directive,
55864         func_get_license, func_get_maintainer): Use func_lookup_file.
55865         (func_import, func_create_testdir): Use func_lookup_file.
55866
55867 2006-07-29  Bruno Haible  <bruno@clisp.org>
55868
55869         * modules/setenv (Depends-on): Add unistd.
55870
55871 2006-07-29  Bruno Haible  <bruno@clisp.org>
55872
55873         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
55874
55875 2006-07-29  Bruno Haible  <bruno@clisp.org>
55876
55877         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
55878
55879 2006-07-29  Bruno Haible  <bruno@clisp.org>
55880
55881         * gnulib-tool (import, update): If there is no Makefile.am, look at
55882         aclocal.m4, instead of bailing out.
55883
55884 2006-07-29  Bruno Haible  <bruno@clisp.org>
55885
55886         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
55887         Categorize the options by when they are useful.
55888
55889 2006-07-29  Bruno Haible  <bruno@clisp.org>
55890
55891         * gnulib-tool (func_usage): Document option --no-libtool.
55892         Handle option --no-libtool.
55893         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
55894         for changed semantics of $libtool variable.
55895         (func_import): Likewise. If libtool is not used, show this through
55896         an option --no-libtool.
55897         (func_create_testdir): Update.
55898
55899 2006-07-29  Bruno Haible  <bruno@clisp.org>
55900
55901         * gnulib-tool (func_import): Extend error message about missing
55902         --doc-base.
55903
55904 2006-07-29  Bruno Haible  <bruno@clisp.org>
55905
55906         * gnulib-tool (func_import): Don't create the $docbase directory if
55907         there is no file to store there.
55908
55909 2006-07-29  Bruno Haible  <bruno@clisp.org>
55910
55911         * gnulib-tool (autoconf_minversion): If a --dir option is given and
55912         relevant, look for configure.ac there, not in the current directory.
55913         Also use a simple search for AC_PREREQ, not "autoconf --trace".
55914
55915 2006-07-29  Bruno Haible  <bruno@clisp.org>
55916
55917         * gnulib-tool (SORT): New variable.
55918         (func_usage): Undocument --assume-autoconf option.
55919         Remove --assume-autoconf option handling.
55920         (autoconf_minversion): Determine from the contents of configure.ac.
55921         (func_import): Remove autoconf_minversion handling.
55922         Suggested by Eric Blake.
55923
55924 2006-07-29  Bruno Haible  <bruno@clisp.org>
55925
55926         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
55927
55928 2006-07-29  Bruno Haible  <bruno@clisp.org>
55929
55930         * config/srclist.txt (*setenv.[ch]): Remove rules.
55931
55932 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55933
55934         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
55935
55936 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55937
55938         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
55939         arpa/inet.h.
55940
55941 2006-07-28  Simon Josefsson  <jas@extundo.com>
55942
55943         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
55944         * modules/inet_pton (Depends-on): Likewise.
55945
55946 2006-07-28  Simon Josefsson  <jas@extundo.com>
55947
55948         * m4/netinet_in_h.m4: New file.
55949
55950 2006-07-28  Simon Josefsson  <jas@extundo.com>
55951
55952         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
55953         #include's.
55954
55955 2006-07-28  Simon Josefsson  <jas@extundo.com>
55956
55957         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
55958         #include's.
55959
55960 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
55961
55962         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
55963         setgid on directories only if they set these bits.
55964         * lib/modechange.h: Remove obsolete comment about masks.
55965
55966 2006-07-28  Eric Blake  <ebb9@byu.net>
55967
55968         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
55969         macro expansion.
55970
55971 2006-07-28  Bruno Haible  <bruno@clisp.org>
55972
55973         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
55974
55975 2006-07-28  Bruno Haible  <bruno@clisp.org>
55976
55977         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
55978
55979 2006-07-28  Bruno Haible  <bruno@clisp.org>
55980
55981         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55982         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55983         Define fallbacks.
55984         Avoids link error on FreeBSD 4.x.
55985         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55986
55987         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
55988         encoding.
55989         * lib/mbswidth.c (iswcntrl): Likewise.
55990
55991 2006-07-27  Bruno Haible  <bruno@clisp.org>
55992
55993         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
55994         test.
55995
55996 2006-07-27  Bruno Haible  <bruno@clisp.org>
55997
55998         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
55999         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
56000         defined.
56001
56002 2006-07-26  Eric Blake  <ebb9@byu.net>
56003
56004         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
56005
56006 2006-07-26  Eric Blake  <ebb9@byu.net>
56007
56008         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
56009         like mingw that lack mkstemp.
56010         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
56011         avoid compilation warning on mingw.
56012
56013 2006-07-26  Bruno Haible  <bruno@clisp.org>
56014
56015         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
56016         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
56017         INT_FAST*_MIN, INTPTR_MIN.
56018
56019 2006-07-25  Bruno Haible  <bruno@clisp.org>
56020
56021         * modules/version-etc (Depends-on): Add stdarg.
56022
56023 2006-07-25  Bruno Haible  <bruno@clisp.org>
56024
56025         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
56026         complex commands.
56027
56028 2006-07-25  Bruno Haible  <bruno@clisp.org>
56029
56030         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
56031         defined in <stdarg.h> or config.h.
56032
56033 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
56034
56035         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
56036         (gl_STDIO_SAFER): Remove.
56037
56038 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
56039
56040         * MODULES.html.sh (File stream based Input/Output):
56041         Add fopen-safer, tmpfile-safer; remove stdio-safer.
56042         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
56043         * modules/fopen-safer, modules/tmpfile-safer: New files.
56044         * modules/stdio-safer: Remove.
56045
56046 2006-07-24  Bruno Haible  <bruno@clisp.org>
56047
56048         * modules/tmpdir: New file.
56049         * MODULES.html.sh (File system functions): Add it.
56050
56051 2006-07-24  Bruno Haible  <bruno@clisp.org>
56052
56053         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
56054         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
56055
56056 2006-07-24  Bruno Haible  <bruno@clisp.org>
56057
56058         * modules/clean-temp: New file.
56059
56060 2006-07-24  Bruno Haible  <bruno@clisp.org>
56061
56062         * m4/tmpdir.m4: New file, from GNU gettext.
56063
56064 2006-07-24  Bruno Haible  <bruno@clisp.org>
56065
56066         * lib/tmpdir.h: New file, from GNU gettext.
56067         * lib/tmpdir.c: New file, from GNU gettext.
56068
56069 2006-07-24  Bruno Haible  <bruno@clisp.org>
56070
56071         * lib/clean-temp.h: New file, from GNU gettext.
56072         * lib/clean-temp.c: New file, from GNU gettext.
56073
56074 2006-07-23  Eric Blake  <ebb9@byu.net>
56075
56076         * modules/stdio-safer (Files): Add tmpfile-safer.c.
56077         (Depends-on): Add binary-io.
56078
56079 2006-07-23  Eric Blake  <ebb9@byu.net>
56080
56081         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
56082
56083 2006-07-23  Eric Blake  <ebb9@byu.net>
56084
56085         * lib/tmpfile-safer.c: New file.
56086         * lib/stdio-safer.h (fopen_safer): Add prototype.
56087         * lib/stdio--.h (tmpfile): Make safer.
56088
56089 2006-07-23  Bruno Haible  <bruno@clisp.org>
56090
56091         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
56092         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
56093         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
56094         gl_linked_remove_at): Use it.
56095
56096 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56097         and Simon Josefsson <jas@extundo.com>
56098
56099         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
56100
56101         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
56102
56103 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56104
56105         * modules/close-stream: New file.
56106         * modules/closeout (Description): Make it clear that it exits
56107         with a diagnostic on error.
56108         (Depends-on): Add close-stream.  Remove fpending, stdbool.
56109         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
56110
56111 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56112
56113         * m4/close-stream.m4: New file.
56114
56115 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56116
56117         * lib/close-stream.c, lib/close-stream.h: New files.
56118
56119 2006-07-22  Bruno Haible  <bruno@clisp.org>
56120
56121         Merge from GNU gettext 0.15.
56122
56123         2006-05-01  Bruno Haible  <bruno@clisp.org>
56124
56125                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
56126
56127         2006-07-22  Bruno Haible  <bruno@clisp.org>
56128
56129                 * modules/javaversion: New file.
56130                 * MODULES.html.sh (Java): Add javaversion.
56131
56132         2006-03-12  Bruno Haible  <bruno@clisp.org>
56133
56134                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
56135
56136         2005-12-04  Bruno Haible  <bruno@clisp.org>
56137
56138                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
56139                 (untested).
56140
56141         2006-06-21  Bruno Haible  <bruno@clisp.org>
56142
56143                 Avoid warnings from recent versions of mcs.
56144                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
56145                 -o, -L, -r any more. Use options documented since mcs-1.0
56146                 instead. Similarly for -g.
56147
56148         2005-12-04  Bruno Haible  <bruno@clisp.org>
56149
56150                 * build-aux/csharpcomp.sh.in: Suffix for resources is
56151                 .resources, not .resource.
56152
56153         2005-07-09  Bruno Haible  <bruno@clisp.org>
56154
56155                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
56156                 add a .dll suffix.
56157                 Reported by Mark Junker <mjscod@gmx.de>.
56158
56159         2006-07-22  Bruno Haible  <bruno@clisp.org>
56160
56161                 * modules/gettext: Upgrade to gettext-0.15.
56162                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
56163                 m4/visibility.m4.
56164                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
56165
56166 2006-07-22  Bruno Haible  <bruno@clisp.org>
56167
56168         Merge from GNU gettext 0.15.
56169
56170         2006-03-25  Bruno Haible  <bruno@clisp.org>
56171
56172                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
56173
56174         2006-07-21  Bruno Haible  <bruno@clisp.org>
56175
56176                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
56177                 "1.1".
56178
56179         2006-05-09  Bruno Haible  <bruno@clisp.org>
56180
56181                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
56182                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
56183                 for the conftestver execution.
56184
56185         2006-05-01  Bruno Haible  <bruno@clisp.org>
56186
56187                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
56188                 optional target-version argument. Verify that the compiler
56189                 groks source of the specified source-version, or add -source
56190                 option as necessary. Verify that the compiler produces
56191                 bytecode in the specified target-version, or add -target and
56192                 -source options as necessary. Make the result of the test
56193                 available as variable CONF_JAVAC. Also log error output in
56194                 config.log.
56195
56196         2006-03-11  Bruno Haible  <bruno@clisp.org>
56197
56198                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
56199
56200         2006-05-09  Bruno Haible  <bruno@clisp.org>
56201
56202                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
56203                 CLASSPATH_SEPARATOR to a semicolon.
56204
56205         2006-03-12  Bruno Haible  <bruno@clisp.org>
56206
56207                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
56208                 available as variable CONF_JAVA, for subsequent autoconf
56209                 tests. Also log error output in config.log.
56210
56211         2006-07-19  Bruno Haible  <bruno@clisp.org>
56212
56213                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
56214                 that getline works on glibc2 systems. Needed to avoid trouble
56215                 in relocatable.c.
56216                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
56217
56218         2005-12-04  Bruno Haible  <bruno@clisp.org>
56219
56220                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
56221                 launcher (untested).
56222
56223         2005-12-04  Bruno Haible  <bruno@clisp.org>
56224
56225                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
56226
56227         2006-07-22  Bruno Haible  <bruno@clisp.org>
56228
56229                 * gettext.m4: Update from GNU gettext-0.15.
56230                 * nls.m4: Likewise.
56231                 * po.m4: Likewise.
56232                 * inttypes-pri.m4: Likewise.
56233                 * inttypes-h.m4: Renamed from inttypes.m4.
56234                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
56235
56236 2006-07-22  Bruno Haible  <bruno@clisp.org>
56237
56238         Merge from GNU gettext 0.15.
56239
56240         2005-07-05  Bruno Haible  <bruno@clisp.org>
56241
56242                 * printf-args.c (printf_fetchargs): Work around broken
56243                 definition of wint_t on mingw.
56244
56245         2005-02-12  Bruno Haible  <bruno@clisp.org>
56246
56247                 * xallocsa.h: Add extern "C" for C++.
56248
56249         2006-05-17  Bruno Haible  <bruno@clisp.org>
56250
56251                 Cygwin portability.
56252                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
56253
56254         2006-04-30  Bruno Haible  <bruno@clisp.org>
56255
56256                 * progreloc.c: Include <mach-o/dyld.h> if available.
56257                 (find_executable): Use _NSGetExecutablePath when possible.
56258
56259         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56260
56261                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
56262                 function.
56263
56264         2005-12-29  Bruno Haible  <bruno@clisp.org>
56265
56266                 * progreloc.c (set_program_name_and_installdir): Fix
56267                 compilation error.
56268
56269         2005-12-04  Bruno Haible  <bruno@clisp.org>
56270
56271                 Cygwin portability.
56272                 * progreloc.c: Include <windows.h> also on Cygwin.
56273                 (find_executable): Add support for Cygwin.
56274                 (set_program_name_and_installdir): Handle also platforms with
56275                 nonempty EXEEXT.
56276
56277         2006-07-11  Bruno Haible  <bruno@clisp.org>
56278
56279                 * javacomp.c: Fix a comment.
56280                 Reported by Jim Meyering.
56281
56282         2006-04-30  Bruno Haible  <bruno@clisp.org>
56283
56284                 * javacomp.h (compile_java_class): Add source_version,
56285                 target_version arguments.
56286                 * javacomp.c: Rewritten to choose only a compiler that
56287                 respects the specified source_version and target_version.
56288
56289         2006-06-27  Bruno Haible  <bruno@clisp.org>
56290
56291                 Assume correct S_ISDIR macro.
56292                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
56293
56294         2006-07-22  Bruno Haible  <bruno@clisp.org>
56295
56296                 * javaversion.h: New file, from GNU gettext.
56297                 * javaversion.c: New file, from GNU gettext.
56298                 * javaversion.java: New file, from GNU gettext.
56299                 * javaversion.class: New file, from GNU gettext.
56300
56301         2006-05-17  Bruno Haible  <bruno@clisp.org>
56302
56303                 Cygwin portability.
56304                 * javaexec.c (execute_java_class): Test for jview program
56305                 also on Cygwin.
56306
56307         2006-04-09  Bruno Haible  <bruno@clisp.org>
56308
56309                 * fatal-signal.c: Don't include string.h.
56310                 (at_fatal_signal): Use a copying loop instead of memcpy.
56311
56312         2005-12-04  Bruno Haible  <bruno@clisp.org>
56313
56314                 * csharpexec.c: Add support for 'clix' launcher (untested).
56315                 (execute_csharp_using_sscli): New function.
56316                 (execute_csharp_program): Call it.
56317
56318         2006-06-21  Bruno Haible  <bruno@clisp.org>
56319
56320                 Avoid warnings from recent versions of mcs.
56321                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
56322                 -o, -L, -r any more. Use options documented since mcs-1.0
56323                 instead. Similarly for -g.
56324
56325         2005-07-09  Bruno Haible  <bruno@clisp.org>
56326
56327                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
56328                 add a .dll suffix.
56329                 Reported by Mark Junker <mjscod@gmx.de>.
56330
56331         2006-06-17  Bruno Haible  <bruno@clisp.org>
56332
56333                 * config.charset: Update for NetBSD 3.0.
56334
56335         2006-05-17  Bruno Haible  <bruno@clisp.org>
56336
56337                 Cygwin portability.
56338                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
56339
56340         2006-05-16  Bruno Haible  <bruno@clisp.org>
56341
56342                 * localcharset.c [CYGWIN]: Include <windows.h>.
56343                 (get_charset_aliases): For Cygwin, return the same CPxxx
56344                 aliases list as under WIN32.
56345                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
56346                 the environment variables. Fall back to GetACP().
56347
56348         2006-04-05  Bruno Haible  <bruno@clisp.org>
56349
56350                 * config.charset: Update Juan Manuel Guerrero's address.
56351
56352         2005-02-12  Bruno Haible  <bruno@clisp.org>
56353
56354                 * allocsa.h: Add extern "C" for C++.
56355
56356         2005-02-10  Bruno Haible  <bruno@clisp.org>
56357
56358                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
56359                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
56360
56361         2006-07-22  Bruno Haible  <bruno@clisp.org>
56362
56363                 * gettext.h: Update to GNU gettext-0.15.
56364
56365 2006-07-22  Bruno Haible  <bruno@clisp.org>
56366
56367         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
56368         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
56369         lib-prefix.m4, longdouble.m4, ssize_t.m4.
56370
56371 2006-07-21  Eric Blake  <ebb9@byu.net>
56372
56373         * modules/stdlib-safer: New file.
56374         * MODULES.html.sh (File stream based Input/Output): Add
56375         stdlib-safer.
56376
56377 2006-07-21  Eric Blake  <ebb9@byu.net>
56378
56379         * lib/stdlib-safer.h: New file from coreutils, required by
56380         stdlib--.h.
56381
56382 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
56383
56384         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
56385
56386 2006-07-20  Bruno Haible  <bruno@clisp.org>
56387
56388         * gnulib-tool: Recognize new option --assume-autoconf.
56389         (autoconf_minversion): New variable.
56390         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
56391
56392 2006-07-20  Bruno Haible  <bruno@clisp.org>
56393
56394         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
56395
56396 2006-07-19  Derek R. Price  <derek@ximbiot.com>
56397
56398         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
56399         Reindent and repaginate.
56400
56401 2006-07-19  Derek Price  <derek@ximbiot.com>
56402
56403         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
56404         Correct grammar.
56405
56406 2006-07-17  Bruno Haible  <bruno@clisp.org>
56407
56408         * modules/list: New file.
56409         * modules/array-list: New file.
56410         * modules/carray-list, modules/carray-list-tests: New files.
56411         * modules/linked-list, modules/linked-list-tests: New files.
56412         * modules/avltree-list, modules/avltree-list-tests: New files.
56413         * modules/rbtree-list, modules/rbtree-list-tests: New files.
56414         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
56415         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
56416         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
56417         * modules/oset: New file.
56418         * modules/array-oset: New file.
56419         * modules/avltree-oset, modules/avltree-oset-tests: New files.
56420         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
56421         * tests/test-carray_list.c: New file.
56422         * tests/test-linked_list.c: New file.
56423         * tests/test-avltree_list.c: New file.
56424         * tests/test-rbtree_list.c: New file.
56425         * tests/test-linkedhash_list.c: New file.
56426         * tests/test-avltreehash_list.c: New file.
56427         * tests/test-rbtreehash_list.c: New file.
56428         * tests/test-avltree_oset.c: New file.
56429         * tests/test-rbtree_oset.c: New file.
56430         * MODULES.html.sh (Container data structures): New section.
56431
56432 2006-07-17  Bruno Haible  <bruno@clisp.org>
56433
56434         * m4/gl_list.m4: New file.
56435
56436 2006-07-17  Bruno Haible  <bruno@clisp.org>
56437
56438         * lib/gl_list.h: New file.
56439         * lib/gl_list.c: New file.
56440         * lib/gl_array_list.h: New file.
56441         * lib/gl_array_list.c: New file.
56442         * lib/gl_carray_list.h: New file.
56443         * lib/gl_carray_list.c: New file.
56444         * lib/gl_linked_list.h: New file.
56445         * lib/gl_linked_list.c: New file.
56446         * lib/gl_anylinked_list1.h: New file.
56447         * lib/gl_anylinked_list2.h: New file.
56448         * lib/gl_avltree_list.h: New file.
56449         * lib/gl_avltree_list.c: New file.
56450         * lib/gl_anyavltree_list1.h: New file.
56451         * lib/gl_anyavltree_list2.h: New file.
56452         * lib/gl_rbtree_list.h: New file.
56453         * lib/gl_rbtree_list.c: New file.
56454         * lib/gl_anyrbtree_list1.h: New file.
56455         * lib/gl_anyrbtree_list2.h: New file.
56456         * lib/gl_anytree_list1.h: New file.
56457         * lib/gl_anytree_list2.h: New file.
56458         * lib/gl_linkedhash_list.h: New file.
56459         * lib/gl_linkedhash_list.c: New file.
56460         * lib/gl_anyhash_list1.h: New file.
56461         * lib/gl_anyhash_list2.h: New file.
56462         * lib/gl_avltreehash_list.h: New file.
56463         * lib/gl_avltreehash_list.c: New file.
56464         * lib/gl_rbtreehash_list.h: New file.
56465         * lib/gl_rbtreehash_list.c: New file.
56466         * lib/gl_anytreehash_list1.h: New file.
56467         * lib/gl_anytreehash_list2.h: New file.
56468
56469         * lib/gl_oset.h: New file.
56470         * lib/gl_oset.c: New file.
56471         * lib/gl_array_oset.h: New file.
56472         * lib/gl_array_oset.c: New file.
56473         * lib/gl_avltree_oset.h: New file.
56474         * lib/gl_avltree_oset.c: New file.
56475         * lib/gl_rbtree_oset.h: New file.
56476         * lib/gl_rbtree_oset.c: New file.
56477         * lib/gl_anytree_oset.h: New file.
56478
56479 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56480
56481         * m4/mkancesdirs.m4: New file.
56482         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
56483         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
56484         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
56485         it.
56486
56487 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56488
56489         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
56490         * lib/mkancesdirs.h: New files.
56491         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
56492         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
56493         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
56494         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
56495         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
56496         callers changed.  Revamp internals significantly, by not
56497         attempting to create directories that are temporarily more
56498         permissive than the final results.  Do not attempt to use
56499         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
56500         This removes some race conditions, fixes some bugs, and simplifies
56501         things.  Use new dirchownmod function to do owner and mode changes.
56502         * lib/mkdir-p.h: Likewise.
56503         * lib/modechange.c (octal_to_mode): New function.
56504         (struct mode_change): New member mentioned.
56505         (make_node_op_equals): New arg mentioned.  All callers changed.
56506         (mode_compile): Keep track of which mode bits the user has explicitly
56507         mentioned.
56508         (mode_adjust): New arg DIR, so that we implement the X op correctly.
56509         New arg PMODE_BITS, to keep track of which mode bits the user
56510         mentioned; it treats S_ISUID and S_ISGID speciall.
56511         All callers changed.
56512         * lib/modechange.h: Likewise.
56513
56514 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56515
56516         * MODULES.html.sh: Add mkancestors.
56517         * modules/mkancesdirs: New module.
56518         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
56519         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
56520         The chdir-safer and afs files are now orphans; I'll remove them
56521         unless someone speaks up.
56522         Add lib/dirchownmod.c, lib/dirchownmod.h.
56523         (Depends-on): Remove alloca, chown, save-cwd, dirname.
56524         Add lchown, mkancesdirs.
56525         (Maintainer): Add self.
56526
56527 2006-07-15  Karl Berry  <karl@gnu.org>
56528
56529         * gnulib-tool: help message wording/arrangement.
56530
56531 2006-07-14  Simon Josefsson  <jas@extundo.com>
56532
56533         * doc/gnulib.texi (Libtool and Windows): New section.
56534
56535 2006-07-12  Simon Josefsson  <jas@extundo.com>
56536
56537         * modules/gendocs (License): Fix license, approved by Karl.
56538
56539 2006-07-12  Eric Blake  <ebb9@byu.net>
56540
56541         * MODULES.html.sh: Add gendocs.
56542
56543 2006-07-11  Eric Blake  <ebb9@byu.net>
56544
56545         * modules/fdl: New module, to install doc/fdl.texi.
56546         * MODULES.html.sh: Add new section for documentation modules.
56547         * gnulib-tool: Avoid space-tab.
56548         (--doc-base): New option, to manage files from doc.
56549
56550 2006-07-11  Eric Blake  <ebb9@byu.net>
56551
56552         * m4/absolute-header.m4: Fix comments to match recent change.
56553
56554 2006-07-11  Eric Blake  <ebb9@byu.net>
56555
56556         * gnulib-tool: List --doc-base before --tests-base.
56557
56558 2006-07-11  Derek R. Price  <derek@ximbiot.com>
56559
56560         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
56561
56562 2006-07-11  Bruno Haible  <bruno@clisp.org>
56563
56564         * README: Mention where to put documentation.
56565
56566 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56567
56568         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
56569
56570 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
56571
56572         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
56573         to stdint.m4.
56574
56575 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
56576
56577         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
56578         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
56579         "no/such/file/stdint.h" when there is no such file, so that
56580         the resulting C code can be parsed by dodgy compilers.
56581         Problems reported by Bob Proulx.
56582
56583 2006-07-10  Derek R. Price  <derek@ximbiot.com>
56584
56585         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
56586         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
56587         macros into the GNU _D_EXACT_NAMLEN.
56588         * lib/savedir.c:  Likewise.
56589         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
56590
56591 2006-07-10  Derek R. Price  <derek@ximbiot.com>
56592         and Paul Eggert  <eggert@cs.ucla.edu>
56593
56594         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
56595         * m4/savedir.m4:
56596         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
56597         macros into the GNU _D_EXACT_NAMLEN.
56598
56599 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56600
56601         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
56602         around the absolute name, to work around a problem with the HP-UX
56603         11.23 native C compiler, reported by Bob Proulx.
56604
56605 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56606
56607         * doc/maintain.texi, make-stds.texi: Sync from
56608         <http://savannah.gnu.org/projects/gnustandards>.
56609
56610 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56611
56612         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
56613
56614 2006-07-09  Jim Meyering  <jim@meyering.net>
56615
56616         * m4/glob.m4: Remove a doubled word in a comment.
56617
56618 2006-07-09  Jim Meyering  <jim@meyering.net>
56619
56620         * lib/argp-pv.c: Remove a doubled word in a comment.
56621         * lib/check-version.c (check_version): Likewise.
56622         * lib/javacomp.c (compile_java_class): Likewise.
56623
56624 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
56625
56626         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
56627         for the benefit of people using Autoconf 2.60.  If you want to
56628         support older Autoconf versions you can copy m4/onceonly_2_57.m4
56629         (or m4/onceonly.m4, if pre-2.57) manually.
56630
56631 2006-07-08  Jim Meyering  <jim@meyering.net>
56632
56633         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
56634         comment.
56635         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
56636         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
56637         comment.
56638
56639 2006-07-08  Jim Meyering  <jim@meyering.net>
56640
56641         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
56642
56643 2006-07-07  Simon Josefsson  <jas@extundo.com>
56644
56645         * tests/test-crc.c: Change expected crc value, the test vector
56646         were probably computed using the old broken crc.c?
56647
56648 2006-07-06  Simon Josefsson  <jas@extundo.com>
56649
56650         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
56651         now the canonical place for the M4 file).
56652
56653         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
56654         from the sys_socket dependency now.
56655
56656         * modules/inet_pton (Files): Ditto.
56657
56658         * modules/inet_ntop (Files): Ditto.
56659
56660 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
56661
56662         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
56663         not gl_PREREQ_GETUSERSHELL.
56664
56665 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56666
56667         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
56668         with only one argument, for Autoconf 2.60.
56669         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
56670         expand to nothing, so add a shell command to avoid syntax error.
56671         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
56672
56673 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56674
56675         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
56676
56677 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56678
56679         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
56680         no longer needed.  Check for isblank decl.
56681         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
56682         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
56683         of existence.
56684
56685 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56686
56687         * lib/getloadavg.c: Use __VMS, not VMS.
56688         * lib/getopt.c: Likewise.
56689         * lib/getpagesize.h: Likewise.
56690         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
56691         and probably does not work.
56692
56693 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56694
56695         * lib/.cppi-disable: Add wcwidth.
56696         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
56697         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
56698         (ISGRAPH): Remove.  All uses changed to isgraph.
56699         (FOLD) [!defined _LIBC]: Remove special case.
56700         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
56701         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
56702         HAVE_ISBLANK.
56703         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
56704         case.
56705
56706 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
56707
56708         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
56709         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
56710         brackets.  Other minor changes to suppress some compiler
56711         warnings.
56712
56713 2006-07-06  Derek R. Price  <derek@ximbiot.com>
56714         and Paul Eggert  <eggert@cs.ucla.edu>
56715
56716         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
56717         of invoking obsolescent AC_HEADER_DIRENT macro.
56718         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
56719         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
56720         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
56721         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
56722         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
56723         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56724         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
56725         * m4/readdir.m4: Remove; no longer needed.
56726
56727 2006-07-06  Derek R. Price  <derek@ximbiot.com>
56728         and Paul Eggert  <eggert@cs.ucla.edu>
56729
56730         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
56731         Don't worry about this obsolete case any more.
56732         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
56733         directories.
56734         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
56735         worry about this obsolete case any more.
56736         * lib/fts.c: Likewise.
56737         * lib/getcwd.c: Likewise.
56738         * lib/glob.h: Likewise.
56739         * lib/savedir.c: Likewise.
56740
56741 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
56742
56743         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
56744         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
56745         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
56746         needed.
56747         All uses removed.
56748         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56749         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
56750         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
56751         needed.
56752         * m4/getdate.m4 (gl_GETDATE): Likewise.
56753         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
56754         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
56755         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
56756         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56757         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
56758         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56759         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
56760         needed.
56761
56762 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
56763
56764         * lib/memcasecmp.c: Include <limits.h>.
56765         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
56766         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
56767         Don't assume isdigit succeeds only on '0' through '9'.
56768
56769 2006-07-05  Eric Blake  <ebb9@byu.net>
56770
56771         * modules/getaddrinfo (Depends-on): Add snprintf.
56772
56773 2006-07-05  Eric Blake  <ebb9@byu.net>
56774
56775         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
56776         to avoid 'header present but could not be compiled' on cygwin.
56777
56778 2006-07-05  Eric Blake  <ebb9@byu.net>
56779
56780         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
56781         missing from netdb.h.
56782         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
56783
56784 2006-07-05  Derek R. Price  <derek@ximbiot.com>
56785
56786         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
56787         no longer needed.
56788         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
56789         * m4/getdate.m4 (gl_GETDATE): Likewise.
56790         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
56791         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
56792         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
56793         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56794         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56795
56796 2006-07-05  Derek R. Price  <derek@ximbiot.com>
56797
56798         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
56799         All uses of is_space replaced by isspace.
56800         * lib/exit.h: Don't talk about STDC_HEADERS.
56801         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
56802         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
56803         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
56804         replaced by isprint etc.
56805         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
56806         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
56807         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
56808         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
56809         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
56810         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
56811
56812 2006-07-05  Bruno Haible  <bruno@clisp.org>
56813
56814         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
56815         the function exists, before testing against AIX.
56816         Reported by Martin Lambers <marlam@marlam.de>.
56817
56818 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
56819
56820         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
56821         From Mark D. Baushke.
56822
56823 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
56824
56825         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
56826         to the absolute name, not just one, to bypass Sun C 5.8's
56827         "warning: #include of /usr/include/... may be non-portable".
56828
56829 2006-07-04  Eric Blake  <ebb9@byu.net>
56830
56831         * modules/dirname-tests: New test module.
56832         * tests/test-dirname.c: New file, replacing dirname.c
56833         TEST_DIRNAME section that was recently deleted.
56834
56835 2006-07-04  Bruno Haible  <bruno@clisp.org>
56836
56837         Assume ANSI C header files and <ctype.h> functions.
56838         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
56839         (mbsnwidth): Use isprint, iscntrl instead.
56840
56841 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56842
56843         Merge from coreutils.
56844         * MODULES.html.sh: Add xstrtold.
56845         * modules/xstrtold: New file.
56846         * modules/cycle-check (Files): Add lib/same-inode.h.
56847         * modules/dirname (Files): Add m4/double-slash-root.m4.
56848         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
56849         * modules/mkdir-p (Files): Add lib/same-inode.h.
56850         * modules/same (Files): Add lib/same-inode.h.
56851
56852 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56853
56854         * m4/absolute-header.m4: Renamed from full-header-path.m4.
56855         This is to keep the terminology clean; POSIX talks about
56856         "absolute pathnames", not "full pathnames", but the GNU
56857         Coding Standards say to use "path" for something else;
56858         so use "absolute" to keep both sides happy.
56859         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
56860         Set gl_absolute_header, not gl_full_header_path.
56861         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
56862         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
56863         All uses changed.
56864
56865         Merge from coreutils.
56866
56867         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
56868
56869         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
56870         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
56871         want to require the building of c-strtod.o.
56872         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
56873         needs -lm directly.
56874         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
56875
56876         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
56877
56878         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
56879         --as-needed option if available.  Problem reported by Albert Chin in
56880         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
56881         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
56882         cc merely issues a bunch of annoying warnings for --as-needed
56883         (this problem was reported by Bob Proulx).  Also, try linking with
56884         -lm to detect a bug in binutils 2.16 (this problem was reported
56885         by Ralf Wildenhues).
56886
56887         2006-06-18  Jim Meyering  <jim@meyering.net>
56888
56889         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
56890         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
56891         macro.
56892         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
56893         also check for glibc-2.4's abort-inducing bug.
56894
56895         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
56896         Low-probability clean-up should be to use rmdir to get rid of
56897         the just-created directory, not unlink.
56898
56899         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
56900         configure fail, and request a bug report to inform us about it.
56901         Add a comment that, barring reports to the contrary, in 2007 we'll
56902         assume ftruncate is universally available.
56903
56904         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
56907
56908         2006-03-12  Jim Meyering  <jim@meyering.net>
56909
56910         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
56911         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
56912         * m4/same.m4 (gl_SAME): Likewise.
56913         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
56914
56915         2006-03-11  Eric Blake  <ebb9@byu.net>
56916
56917         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
56918         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
56919         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
56920         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
56921
56922 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56923
56924         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
56925         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
56926         reported by Mark D. Baushke, one in
56927         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
56928
56929         Merge from coreutils.
56930
56931         * lib/.cppi-disable: Add stdint_.h.
56932         * lib/.cvsignore: Add stdint.h.
56933
56934         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
56935
56936         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
56937         both double and long double versions.
56938         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
56939         * lib/xstrtold.c: New file.
56940         * lib/xstrtod.h (xstrtold): New decl.
56941
56942         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56943
56944         * lib/filemode.c (setst): Remove.
56945         (strmode): Rewrite to avoid setst.  This makes the code shorter,
56946         (arguably) clearer, and the generated code is a bit smaller on my
56947         Debian GNU/Linux stable x86 host.
56948
56949         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
56950
56951         * lib/filemode.c: Include "filemode.h" first, to test the interface.
56952         Assume that filemode.h includes sys/types.h and sys/stat.h.
56953         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
56954         (ftypelet): Reorder to put common cases first, for efficiency.
56955         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
56956         to do 'M'.
56957         (strmode): Renamed from mode_string, and now stores 12 bytes instead
56958         of 10, for compatibility with FreeBSD.  All callers changed.
56959         (filemodestring): Now stores 12 bytes instead of 10, and sets file
56960         types that can't be deduced solely from st_mode.  First arg is now a
56961         const pointer.
56962         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
56963         (strmode): Renamed from mode_string.
56964         (filemodestring): New decl.
56965         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
56966         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
56967         needed.
56968         (S_ISPORT, S_ISWHT): New macros, if not already defined.
56969
56970         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56971
56972         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
56973         fsusage.h now does that.  Include fsusage.h first, to test interface.
56974         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
56975         at most one method (the old code could have generated decls that
56976         didn't conform to C89, not that this was ever exercised).
56977         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
56978
56979         2006-03-19  Jim Meyering  <jim@meyering.net>
56980
56981         Work even in a chroot where d_ino values for entries in "/"
56982         don't match the stat.st_ino values for the same names.
56983         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
56984         number, iterate through all entries again, using lstat instead.
56985         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
56986         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
56987
56988         * lib/getcwd.c (__getcwd): Clarify a comment.
56989         Use memcpy in place of a call to strcpy.
56990
56991         2006-03-12  Jim Meyering  <jim@meyering.net>
56992
56993         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
56994         matches that of the current directory (which we're about to chdir ".."
56995         out of), then save the dev-ino of the parent, instead.
56996
56997         * lib/same-inode.h (SAME_INODE): New file/macro.
56998         * lib/chdir-safer.c (SAME_INODE): Remove definition.
56999         Include "same-inode.h", instead.
57000         * lib/same.c: Likewise.
57001         * lib/cycle-check.h: Include "same-inode.h".
57002         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
57003         * lib/cycle-check.c (SAME_INODE): Remove definition.
57004         * lib/root-dev-ino.h: Include "same-inode.h".
57005
57006         2006-03-11  Eric Blake  <ebb9@byu.net>
57007
57008         * lib/same.c (same_name): s/base_name/last_component/
57009         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
57010         * lib/filenamecat.c (file_name_concat): Likewise.
57011
57012         2006-03-11  Eric Blake  <ebb9@byu.net>,
57013                     Paul Eggert  <eggert@cs.ucla.edu>
57014
57015         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
57016         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
57017         drive prefix.
57018         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
57019         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
57020         (last_component): New method.
57021         * lib/dirname.c (dir_len): Determine when drive letters need a
57022         subsequent slash.  Preserve // when it is special.
57023         (dir_name): Don't append dot when drive letter is absolute.
57024         [TEST_DIRNAME]: Move into a full-blown gnulib test.
57025         * lib/basename.c (base_name): New semantics - malloc the result.
57026         Preserve // when it is special.  Preserve relative files that look
57027         like drive letters.
57028         (base_len): Preserve // when it is special.
57029         (last_component): New method, similar to old base_name semantics.
57030         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
57031         base_name.  Strip redundant slashes from ///.
57032
57033 2006-07-03  Jim Meyering  <jim@meyering.net>
57034
57035         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
57036         macro is used before the first cycle_check call.
57037
57038 2006-07-03  Eric Blake  <ebb9@byu.net>
57039
57040         * modules/dirname (Depends-on): Add xstrndup.
57041
57042 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57043
57044         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
57045         test cases, so that config.log is a bit easier to follow.
57046
57047 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57048
57049         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
57050         both are 64 bits, since this seems to be the tradition, and this
57051         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
57052         we ever run into a host that prefers long long to long in this
57053         case, we'll need another configure-time test.  Problem reported by
57054         Jim Meyering.
57055
57056 2006-07-02  Eric Blake  <ebb9@byu.net>
57057
57058         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
57059
57060 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57061
57062         * modules/inttypes (Depends-on): No longer depends on stdint.
57063         * modules/stdint (Description): Say more about assumptions.
57064         Say that the fast types might differ.  Say macros are used.
57065         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
57066         (Makefile.am): Revise list of substituted symbols to match
57067         new stdint.m4.
57068         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
57069         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
57070         * tests/test-stdint.c (verify_same_types)
57071         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
57072         the code conforms to C99/C89.
57073         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
57074         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
57075
57076 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57077
57078         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
57079         but fix a bug, by requiring at least 64 bits.
57080         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57081         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
57082         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
57083         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
57084
57085         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
57086         changes.  Make 2.59 a prerequisite.  Check and substitute for
57087         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
57088         inttypes.h.  Do not use special include files; just use the
57089         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
57090         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
57091         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
57092         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
57093         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
57094         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
57095         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
57096         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
57097         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
57098         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
57099         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
57100         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
57101         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
57102         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
57103         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
57104         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
57105         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
57106         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
57107         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
57108         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
57109         WINT_MAX.  Check for C99 conformance more strictly, by detecting
57110         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
57111         not check for things that C99 does not require, e.g., int8_t.  If
57112         a test isn't needed unless <stdint.h> isn't working, and is
57113         unlikely to be needed for any other reason, then don't do it
57114         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
57115         size_t, since we assume C89 freestanding at least.  Do not check
57116         for sig_atomic_t, wchar_t, or wint_t, since the code now does
57117         the right thing even if the types are not defined.  Instead use:
57118         (gl_STDINT_TYPE_PROPERTIES): New macro.
57119         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
57120         testing whether <sys/types.h> clashes, as Autoconf does this for
57121         us now.  All uses removed.
57122         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
57123         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
57124         (gl_CHECK_TYPE_SAME):
57125         Remove; no longer needed.
57126         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
57127         exists, since we'll return 0 anyway in that case.
57128         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
57129
57130 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57131
57132         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
57133         possible collision with system files.
57134         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
57135         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
57136         WCHAR_MIN and WCHAR_MAX in this case.
57137         (<stddef.h>): Do not include; no longer needed.
57138         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
57139         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
57140         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
57141         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
57142         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
57143         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
57144         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
57145         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
57146         !defined(__c99))]: Include in this case too, since it's harmless
57147         now.
57148         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
57149         dangerous to do so.
57150         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
57151         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
57152         (_STDINT_MIN, _STDINT_MAX): New macros.
57153         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
57154         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
57155         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
57156         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
57157         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
57158         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
57159         macros, not typedefs; this simplifies things quite a bit.
57160         Use long int for all types narrower than int64_t.
57161         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
57162         Define in terms of long long int or int64_t or long int,
57163         not int64_t or int32_t.  This saves some compile-time testing.
57164         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
57165         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
57166         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
57167         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
57168         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
57169         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
57170         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
57171         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
57172         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
57173         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
57174         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
57175         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
57176         undef any previous version and define our own version, for
57177         simplicity and consistency with the new macros for types.
57178         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
57179         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
57180         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
57181         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
57182         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
57183         @WINT_T_SUFFIX@ to keep things simple here.
57184         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
57185         Simplify by assuming typical 8/16/32/64 host, since we're
57186         already doing that elsewhere anyway.
57187         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
57188         and assume long long int is 64 bits if available.  This
57189         speeds up 'configure'.
57190
57191 2006-07-01  Eric Blake  <ebb9@byu.net>
57192
57193         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
57194         Reported by Andreas Buening.
57195
57196 2006-07-01  Eric Blake  <ebb9@byu.net>
57197
57198         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
57199
57200 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
57201
57202         * lib/getaddrinfo.c: fixed typo
57203
57204 2006-06-29  Jim Meyering  <jim@meyering.net>
57205
57206         * modules/strftime (Maintainer): Add my name, since with the
57207         FPRINTFTIME changes strftime.c has forked from glibc.
57208
57209 2006-06-29  Eric Blake  <ebb9@byu.net>
57210
57211         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
57212
57213 2006-06-29  Eric Blake  <ebb9@byu.net>
57214
57215         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
57216
57217 2006-06-29  Eric Blake  <ebb9@byu.net>
57218
57219         * lib/stat_.h: New file.
57220
57221 2006-06-29  Eric Blake  <ebb9@byu.net>
57222
57223         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
57224         unused static function.
57225
57226 2006-06-29  Eric Blake  <ebb9@byu.net>
57227
57228         * doc/functions.texi (Function Portability): Document missing lstat
57229         on mingw.
57230
57231 2006-06-29  Eric Blake  <ebb9@byu.net>
57232
57233         * MODULES.html.sh: Add sys_stat.
57234         * modules/sys_stat: New module.
57235         * modules/mkstemp (Depends-on): Add sys_stat.
57236
57237 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57238
57239         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
57240
57241 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57242
57243         * m4/c-bs-a.m4: Removed.
57244
57245 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57246
57247         * lib/strftime.c: Assume strftime() exists.
57248
57249 2006-06-29  Derek Price  <derek@ximbiot.com>
57250
57251         * modules/c-bs-a: Removed - \a is C89.
57252         * MODULES.html.sh: Remove c-bs-a.
57253
57254 2006-06-29  Bruno Haible  <bruno@clisp.org>
57255
57256         * modules/wcwidth (License): Change to LGPL.
57257
57258 2006-06-28  Simon Josefsson  <jas@extundo.com>
57259
57260         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
57261         on _WIN32.
57262
57263         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
57264         getnameinfo.
57265
57266 2006-06-28  Simon Josefsson  <jas@extundo.com>
57267
57268         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
57269
57270 2006-06-28  Simon Josefsson  <jas@extundo.com>
57271
57272         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
57273         functions there.  It will succeed on Windows XP, but on Windows
57274         2000 and (presumably) earlier, it will fail, and use the internal
57275         re-implementation.
57276         (use_win32_p): New function.
57277         (getaddrinfo): Use strtoul on servname, to support numeric ports.
57278         Support AI_NUMERICSERV to disable getservbyname.
57279         (getnameinfo): New function, only supports
57280         NI_NUMERICHOST|NI_NUMERICSERV for now.
57281
57282         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
57283         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
57284         getnameinfo.
57285
57286 2006-06-28  Eric Blake  <ebb9@byu.net>
57287
57288         * modules/wcwidth: New file.
57289         * modules/mbchar (Depends-on): Add wcwidth.
57290         * modules/mbswidth (Depends-on): Add wcwidth.
57291         * MODULES.html.sh: Add wcwidth.
57292
57293 2006-06-28  Eric Blake  <ebb9@byu.net>
57294
57295         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
57296         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
57297
57298 2006-06-28  Eric Blake  <ebb9@byu.net>
57299
57300         * lib/xvasprintf.h: Fix comments.
57301
57302 2006-06-28  Eric Blake  <ebb9@byu.net>
57303
57304         * lib/mbchar.h (wcwidth): Include wcwidth.h.
57305         * lib/mbswidth.c (wcwidth): Move from here...
57306         * lib/wcwidth.h: ...to this new file.
57307
57308 2006-06-28  Derek R. Price  <derek@ximbiot.com>
57309
57310         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
57311
57312         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
57313         it's obsolete.
57314         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
57315
57316 2006-06-28  Derek R. Price  <derek@ximbiot.com>
57317
57318         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
57319         Autoconf 2.60 says this stuff was obsolete.
57320
57321 2006-06-28  Bruno Haible  <bruno@clisp.org>
57322
57323         * modules/wcwidth (Files): Add m4/wchar_t.m4.
57324
57325 2006-06-28  Bruno Haible  <bruno@clisp.org>
57326
57327         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
57328         gt_TYPE_WCHAR_T.
57329
57330 2006-06-28  Bruno Haible  <bruno@clisp.org>
57331
57332         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
57333         declaration for wcwidth.
57334         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
57335
57336 2006-06-28  Bruno Haible  <bruno@clisp.org>
57337
57338         * lib/mkdtemp.c [MINGW]: Include <io.h>.
57339         (mkdir): Define using _mkdir.
57340
57341 2006-06-28  Bruno Haible  <bruno@clisp.org>
57342
57343         * lib/getaddrinfo.h: Fix POSIX URL.
57344         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
57345         _WIN32.
57346         (use_win32_p): Make static.
57347         (getaddrinfo): Reject service name if it is empty or does not consist
57348         solely of decimal digits, or if its value is > 65535.
57349         (getnameinfo): Remove useless casts.
57350
57351 2006-06-27  Simon Josefsson  <jas@extundo.com>
57352
57353         * modules/sys_select: New file, suggested by Bruno Haible, Paul
57354         Eggert and Martin Lambers.
57355
57356 2006-06-27  Simon Josefsson  <jas@extundo.com>
57357
57358         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
57359         Eggert and Martin Lambers.
57360
57361 2006-06-27  Bruno Haible  <bruno@clisp.org>
57362
57363         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
57364         result to 0, not to empty.
57365         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
57366
57367 2006-06-27  Bruno Haible  <bruno@clisp.org>
57368
57369         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
57370
57371 2006-06-26  Simon Josefsson  <jas@extundo.com>
57372
57373         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
57374         present.
57375
57376 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
57377
57378         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
57379         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
57380         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
57381
57382 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
57383
57384         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
57385
57386 2006-06-26  Bruno Haible  <bruno@clisp.org>
57387
57388         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
57389
57390 2006-06-26  Bruno Haible  <bruno@clisp.org>
57391
57392         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
57393
57394 2006-06-26  Bruno Haible  <bruno@clisp.org>
57395
57396         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
57397         SGI C compiler in pre-C99 mode.
57398         Suggested by Mark D. Baushke and Larry Jones.
57399
57400 2006-06-26  Bruno Haible  <bruno@clisp.org>
57401
57402         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
57403         WCHAR_MAX.
57404         Reported by Mark D. Baushke and Larry Jones.
57405
57406 2006-06-26  Bruno Haible  <bruno@clisp.org>
57407
57408         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
57409         in pre-C99 mode.
57410         Suggested by Mark D. Baushke and Larry Jones.
57411
57412 2006-06-23  Simon Josefsson  <jas@extundo.com>
57413             Bruno Haible  <bruno@clisp.org>
57414
57415         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
57416         Emit mostlyclean-local rule.
57417         (func_emit_tests_Makefile_am): Likewise.
57418         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
57419
57420 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
57421
57422         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
57423
57424 2006-06-23  Bruno Haible  <bruno@clisp.org>
57425
57426         * tests/test-stdint.c: Update to match ISO C 99 Technical
57427         Corrigendum 1.
57428
57429 2006-06-23  Bruno Haible  <bruno@clisp.org>
57430
57431         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
57432
57433 2006-06-23  Bruno Haible  <bruno@clisp.org>
57434
57435         * lib/stdint_.h: Treat IRIX like OpenBSD.
57436
57437 2006-06-23  Bruno Haible  <bruno@clisp.org>
57438
57439         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
57440         ISO C 99 Technical Corrigendum 1.
57441
57442 2006-06-22  Simon Josefsson  <jas@extundo.com>
57443
57444         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
57445         MinGW.
57446
57447 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57448
57449         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
57450         needed.  Some compiler complained about some of them.  Problem reported
57451         by Larry Jones in
57452         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
57453
57454 2006-06-21  Simon Josefsson  <jas@extundo.com>
57455
57456         * tests/test-getaddrinfo.c: New file.
57457
57458         * modules/getaddrinfo-tests: New file.
57459
57460         * MODULES.html.sh: Add inet_pton.
57461
57462         * modules/inet_pton: New file.
57463
57464 2006-06-21  Simon Josefsson  <jas@extundo.com>
57465
57466         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
57467         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
57468         of using the (limited) gnulib implementation on Windows XP.
57469
57470         * m4/inet_pton.m4: New file.
57471
57472 2006-06-21  Simon Josefsson  <jas@extundo.com>
57473
57474         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
57475         variable.
57476
57477         * lib/socket_.h: Don't define WINVER.
57478
57479         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
57480         slightly modified to work in gnulib.
57481
57482 2006-06-21  Simon Josefsson  <jas@extundo.com>
57483
57484         * doc/gnulib.texi (Windows sockets): Add.
57485
57486 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57487
57488         * lib/read-file.c (fread_file): Start with buffer allocation of
57489         0 bytes rather than 1 byte; this simplifies the code.
57490         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
57491         code to free buffer and save/restore errno.
57492         (internal_read_file): Remove unused local.
57493
57494 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57495
57496         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
57497         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
57498         Problem reported by Denis Excoffier in
57499         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
57500
57501 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57502
57503         * modules/sys_socket, modules/socklen: Include sys/types since
57504         FreeBSD 4.x's sys/socket.h needs it.
57505
57506 2006-06-19  Simon Josefsson  <jas@extundo.com>
57507
57508         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
57509
57510 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
57513
57514 2006-06-19  Bruno Haible  <bruno@clisp.org>
57515
57516         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
57517         and FULL_PATH_INTTYPES_H in angle brackets.
57518         Reported by Mark D. Baushke <mdb@gnu.org>.
57519
57520 2006-06-17  Eric Blake  <ebb9@byu.net>
57521
57522         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
57523         errno.
57524
57525 2006-06-17  Bruno Haible  <bruno@clisp.org>
57526
57527         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
57528         <sys/inttypes.h>.
57529
57530 2006-06-17  Bruno Haible  <bruno@clisp.org>
57531
57532         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
57533         whether errno is declared. Assume <errno.h> declares errno.
57534
57535 2006-06-17  Bruno Haible  <bruno@clisp.org>
57536
57537         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
57538
57539 2006-06-17  Bruno Haible  <bruno@clisp.org>
57540
57541         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
57542         problem on Solaris 2.5.1.
57543
57544 2006-06-16  Eric Blake  <ebb9@byu.net>
57545
57546         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
57547         * lib/unicodeio.c [!defined errno]: Likewise.
57548         * lib/strtol.c [!defined errno]: Likewise.
57549         * lib/strtod.c [!defined errno]: Likewise.
57550
57551 2006-06-15  Eric Blake  <ebb9@byu.net>
57552
57553         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
57554
57555 2006-06-15  Eric Blake  <ebb9@byu.net>
57556
57557         * config/srclist.txt (ssize_t.m4): Lose sync.
57558
57559 2006-06-15  Bruno Haible  <bruno@clisp.org>
57560
57561         * modules/stdint (Files): Include m4/full-header-path.m4,
57562         m4/size_max.m4, m4/wchar_t.m4.
57563         (Makefile.am): Many more substitutions.
57564         * modules/stdint-tests: New file.
57565         * tests/test-stdint.c: New file.
57566
57567 2006-06-15  Bruno Haible  <bruno@clisp.org>
57568
57569         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
57570         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
57571         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
57572         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
57573         gl_CHECK_TYPE_SAME): New macros.
57574
57575 2006-06-15  Bruno Haible  <bruno@clisp.org>
57576
57577         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
57578
57579 2006-06-15  Bruno Haible  <bruno@clisp.org>
57580
57581         * lib/stdint_.h: Rewritten to be fully auto-configured.
57582         Fixes bug on HP-UX/IA64.
57583
57584 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
57585
57586         * lib/getdate.y (__attribute__): Don't define if already defined.
57587         Problem reported by Larry Jones.
57588         * lib/utimens.c (__attribute__): Likewise.
57589
57590 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
57591
57592         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
57593         reported by Andreas Schwab.
57594
57595 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57596             Bruno Haible  <bruno@clisp.org>
57597
57598         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
57599         check for the declaration of strnlen and a run test that exposes the
57600         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
57601         rpl_strndup.
57602
57603 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57604             Bruno Haible  <bruno@clisp.org>
57605
57606         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
57607
57608 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57609
57610         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
57611         compile test, for Tru64 4.0D.
57612
57613 2006-05-28  Karl Berry  <karl@gnu.org>
57614
57615         * config/srclist.txt (printf-args.c): lose sync.
57616
57617 2006-05-26  Martin Lambers  <marlam@marlam.de>
57618
57619         * lib/getpass.c: Updates the test for the native W32 API, and adds
57620         missing includes, thus fixing compilation warnings.
57621
57622 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
57623
57624         * lib/exclude.c (exclude_fnmatch): New function.
57625         (excluded_file_name): Call exclude_fnmatch.
57626         * lib/exclude.h (excluded_file_name): New prototype
57627
57628 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
57629
57630         * lib/tempname.c (small_open, large_open): New macros.
57631         (__open, __open64) [!_LIBC]: Remove.
57632         (__gen_tempname): Use small_open and large_open instead of __open
57633         and __open64.  This fixes a portability bug on HP-UX 11.11i
57634         reported by Simon Wing-Tang in
57635         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
57636
57637 2006-05-24  Bruno Haible  <bruno@clisp.org>
57638
57639         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
57640         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
57641         Reported by Thorsten Maerz <torte@netztorte.de> via
57642         Aaron Stone <aaron@serendipity.cx>.
57643
57644 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
57645
57646         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
57647         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
57648         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
57649         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
57650         not really conditional on the cache.
57651         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
57652
57653 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
57654
57655         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
57656         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
57657         (my_usleep): Don't mishandle maximum value.
57658
57659 2006-05-19  Jim Meyering  <jim@meyering.net>
57660
57661         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
57662
57663 2006-05-17  Bruno Haible  <bruno@clisp.org>
57664
57665         Cygwin portability.
57666         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
57667
57668 2006-05-17  Bruno Haible  <bruno@clisp.org>
57669
57670         * lib/stdint_.h: Fix recognition of Cygwin.
57671
57672 2006-05-15  Bruno Haible  <bruno@clisp.org>
57673
57674         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
57675         on libtool patch by Ralf Wildenhues.
57676
57677 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
57678
57679         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
57680         test for C99 conformance; (bool) 0.5 is an integer constant
57681         expression, but (bool) -0.5 is not.  Problem reported by Fedor
57682         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
57683
57684 2006-05-11  Simon Josefsson  <jas@extundo.com>
57685
57686         * m4/xvasprintf.m4: Fix obvious typo.
57687
57688 2006-05-11  Jim Meyering  <jim@meyering.net>
57689
57690         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
57691         James Lemley.
57692
57693 2006-05-10  Simon Josefsson  <jas@extundo.com>
57694
57695         * lib/md4.c: Typo fix, update copyright years.
57696         (K1, K2): Don't use L because it turn computations into 64-bit on
57697         64-bit platforms.
57698
57699 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
57700
57701         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
57702         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
57703         unwanted sign propagation, e.g., on hosts with 64-bit int.
57704         There still are some problems with reeelly weird theoretical hosts
57705         (e.g., 33-bit int) but it's not worth worrying about now.
57706         * lib/sha1.c (rol): Likewise.
57707         (K1, K2, K3, K4): Remove unnecessary L suffix.
57708
57709 2006-05-10  Bruno Haible  <bruno@clisp.org>
57710
57711         * lib/des.c: Cast to avoid warnings.
57712
57713 2006-05-09  Bruno Haible  <bruno@clisp.org>
57714
57715         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
57716         (Depends-on): Depend also on xsize, stdarg.
57717         (configure.ac): Add gl_XVASPRINTF.
57718
57719 2006-05-09  Bruno Haible  <bruno@clisp.org>
57720
57721         * m4/xvasprintf.m4: New file.
57722
57723 2006-05-09  Bruno Haible  <bruno@clisp.org>
57724
57725         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
57726         (EOVERFLOW): Define fallback value.
57727         (xstrcat): New function.
57728         (xvasprintf): Recognize the special case of a string concatenation.
57729
57730 2006-05-08  Eric Blake  <ebb9@byu.net>
57731
57732         * gnulib-tool (func_version): Base copyright year on CVS date.
57733         (func_emit_copyright_notice): New function.
57734         (func_emit_lib_Makefile_am): Use it.
57735         (func_emit_tests_Makefile_am): Likewise.
57736         (func_import): Likewise.
57737
57738 2006-05-08  Bruno Haible  <bruno@clisp.org>
57739
57740         * modules/stdarg: New file.
57741         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
57742
57743 2006-05-08  Bruno Haible  <bruno@clisp.org>
57744
57745         * m4/stdarg.m4: New file, from GNU gettext.
57746
57747 2006-05-08  Bruno Haible  <bruno@clisp.org>
57748
57749         * config/srclist.txt (build-aux/config.rpath): different from latest
57750         release.
57751
57752 2006-05-08  Bruno Haible  <bruno@clisp.org>
57753
57754         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
57755
57756 2006-05-05  Jim Meyering  <jim@meyering.net>
57757
57758         * m4/warning.m4: New file, derived from bison's file by the same name.
57759
57760 2006-05-03  Bruno Haible  <bruno@clisp.org>
57761
57762         * lib/stdint_.h: Shorter URL.
57763         * lib/inttypes.h: Likewise.
57764
57765 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57766
57767         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
57768
57769 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57770
57771         * lib/verify.h: Document the internals better.  Most of this change
57772         was written by Bruno Haible.
57773
57774 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57775
57776         * doc/verify.texi: New file, partly based on a proposal by
57777         Bruno Haible.
57778
57779 2006-05-02  Bruno Haible  <bruno@clisp.org>
57780
57781         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
57782         test from here...
57783         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
57784
57785 2006-04-29  Bruno Haible  <bruno@clisp.org>
57786
57787         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
57788         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
57789
57790 2006-04-29  Bruno Haible  <bruno@clisp.org>
57791
57792         * gnulib-tool: Make --update option actually work.
57793
57794 2006-04-29  Bruno Haible  <bruno@clisp.org>
57795
57796         * doc/gcd.texi: New file.
57797         * doc/gnulib.texi: Include it.
57798
57799 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57800
57801         * lib/getdate.y (get_date): When adding relative date, start with the
57802         initial time, not with the result of the first mktime call.
57803
57804 2006-04-25  Bruno Haible  <bruno@clisp.org>
57805
57806         * gnulib-tool (func_import): Output the include directives in three
57807         blocks, sorted separately.
57808         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57809
57810 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57811
57812         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
57813         to define main with arguments, for C++.  Reported by Eric Blake.
57814         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
57815         Prefer 'int main ()' to 'int main (void)', for C++.
57816         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
57817         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
57818         for 'main', for C99 and C++.
57819
57820 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57821
57822         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
57823         Don't assume that exit status -1 is valid.
57824         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57825         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57826         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
57827         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
57828         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
57829         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
57830         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
57831         functions can be used without declaring them, or that you can
57832         exit with status -1.
57833         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
57834
57835 2006-04-24  Karl Berry  <karl@gnu.org>
57836
57837         * config/srclist.txt (longdouble.m4): sync lost.
57838
57839 2006-04-24  Eric Blake  <ebb9@byu.net>
57840
57841         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
57842
57843 2006-04-24  Bruno Haible  <bruno@clisp.org>
57844
57845         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
57846         poll() implementation in AIX.
57847         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57848
57849 2006-04-24  Bruno Haible  <bruno@clisp.org>
57850
57851         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
57852         assigned exactly once.
57853
57854 2006-04-23  Claudio Fontana  <claudio@gnu.org>
57855             Bruno Haible  <bruno@clisp.org>
57856
57857         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
57858         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
57859         for AM_CPPFLAGS.
57860
57861 2006-04-23  Bruno Haible  <bruno@clisp.org>
57862
57863         * modules/copy-file: Depend on unistd.
57864         * modules/execute: Likewise.
57865         * modules/fatal-signal: Likewise.
57866         * modules/findprog: Likewise.
57867         * modules/mkdtemp : Likewise.
57868         * modules/pipe: Likewise.
57869         * modules/wait-process: Likewise.
57870
57871 2006-04-23  Bruno Haible  <bruno@clisp.org>
57872
57873         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
57874         condition was already detected.
57875         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57876
57877 2006-04-23  Bruno Haible  <bruno@clisp.org>
57878
57879         * lib/copy-file.c: Include <unistd.h> unconditionally.
57880         * lib/execute.c: Likewise.
57881         * lib/fatal-signal.c: Likewise.
57882         * lib/findprog.c: Likewise.
57883         * lib/mkdtemp.c: Likewise.
57884         * lib/pipe.h: Likewise.
57885         * lib/pipe.c: Likewise.
57886         * lib/wait-process.h: Likewise.
57887
57888 2006-04-23  Bruno Haible  <bruno@clisp.org>
57889
57890         * gnulib-tool (func_usage): Fix --import description. Document
57891         --update.
57892         (func_import): Create temporary file in a temporary directory, if
57893         --dry-run is specified. Silence errors from 'grep' when there are no
57894         m4 files in $m4dir.
57895         (func_create_testdir): Silence errors from 'grep' when there are no
57896         m4 files in $m4dir.
57897         Reported by Karl Berry <karl@freefriends.org>.
57898
57899 2006-04-20  Bruno Haible  <bruno@clisp.org>
57900
57901         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
57902         one argument, so that the code will be portable to Autoconf 2.60.
57903         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
57904         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
57905         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
57906
57907 2006-04-19  Derek Price  <derek@ximbiot.com>
57908             Eric Blake  <ebb9@byu.net>
57909
57910         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
57911         rather than "/full/path.h".  Update comment to match.  Shorten &
57912         generalize m4_translit call via AS_TR_CPP.
57913
57914 2006-04-19  Derek Price  <derek@ximbiot.com>
57915             Eric Blake  <ebb9@byu.net>
57916
57917         * lib/inttypes.h: Correct grammar in comment.
57918
57919 2006-04-18  Derek Price  <derek@ximbiot.com>
57920             Paul Eggert  <eggert@cs.ucla.edu>
57921
57922         * modules/inttypes: New file.
57923         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
57924
57925 2006-04-18  Derek Price  <derek@ximbiot.com>
57926             Paul Eggert  <eggert@cs.ucla.edu>
57927
57928         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
57929         New files.
57930
57931 2006-04-18  Derek Price  <derek@ximbiot.com>
57932             Paul Eggert  <eggert@cs.ucla.edu>
57933
57934         * lib/inttypes.h: New file.
57935         * lib/strtoimax.c: Assume <inttypes.h>.
57936
57937 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
57938
57939         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
57940         isn't mounted.  Problem reported by Kir Kolyshkin.
57941
57942 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57943
57944         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
57945         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
57946         Derek R. Price.
57947         * lib/regex.h (RE_DUP_MAX): Update comment to match current
57948         implementation.
57949
57950 2006-04-12  Eric Blake  <ebb9@byu.net>
57951
57952         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
57953         is now done automatically by the corresponding Autoconf macro.
57954
57955 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
57956
57957         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
57958         time_r.h.
57959
57960 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57961
57962         Merge regex changes from libc, removing some of our
57963         POSIX-conformance changes that were rejected and redoing them in a
57964         less-intrusive way.
57965
57966         * lib/regcomp.c (re_compile_internal, init_dfa):
57967         Length arg is now size_t, not Idx.  All uses changed.
57968         (peek_token): Forward decl now says internal_function.
57969         (__re_error_msgid, __re_error_msgid_idx):
57970         Now static rather than extern with attribute_hidden.
57971         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
57972         For some reason libc prefers K&R style defns for external functions.
57973         (regerror) [!defined _LIBC]: Likewise.
57974         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
57975         (seek_collating_symbol_entry, lookup_collation_sequence_value):
57976         (build_range_exp, build_collating_symbol):
57977         Use K&R-style defn.
57978         (re_compile_fastmap): Use '\0' to memset, not 0.
57979         (utf8_sb_map): Make the calculations more obvious.
57980         (init_dfa, parse_bracket_exp, build_charclass_op):
57981         Call calloc and cast result, as glibc does.
57982         (init_word_char, fetch_token, peek_token, peek_token_bracket):
57983         (build_range_exp, build_collating_symbol):
57984         Now internal functions.
57985
57986         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
57987
57988         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
57989         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
57990         Don't depend on VMS; depend on __VMS instead, for POSIX
57991         namespace cleanness.
57992         (regoff_t): Define to ssize_t, not long int.
57993
57994         Remove the REG_ macros named below.  Instead, make the old names
57995         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
57996         __USE_GNU_REGEX.
57997         (REG_BACKSLASH_ESCAPE_IN_LISTS):
57998         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
57999         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
58000         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
58001         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
58002         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
58003         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
58004         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
58005         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
58006         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
58007         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
58008         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
58009         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
58010         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
58011         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
58012         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
58013         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
58014         (REG_NREGS):
58015         Remove.  All uses replaced by the old RE_* names.
58016         (RE_BACKSLASH_ESCAPE_IN_LISTS):
58017         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
58018         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
58019         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
58020         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
58021         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
58022         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
58023         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
58024         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
58025         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
58026         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
58027         Don't bother having these macros be independent of each others'
58028         values, since they no longer exist in the POSIX name space.
58029
58030         Rename the following member names back to their old names,
58031         unless !__USE_GNU_REGEX.  All uses changed back.
58032         (buffer): Renamed from re_buffer.
58033         (allocated): Renamed from re_allocated.
58034         (used): Renamed from re_used.
58035         (syntax): Renamed from re_syntax.
58036         (fastmap): Renamed from re_fastmap.
58037         (translate): Renamed from re_translate.
58038         (can_be_null): Renamed from re_can_be_null.
58039         (regs_allocated): Renamed from re_regs_allocated.
58040         (fastmap_accurate): Renamed from re_fastmap_accurate.
58041         (no_sub): Renamed from re_no_sub.
58042         (not_bol): Renamed from re_not_bol.
58043         (not_eol): Renamed from re_not_eol.
58044         (newline_anchor): Renamed from re_newline_anchor.
58045         (num_regs): Renamed from rm_num_regs.
58046         (start): Renamed from rm_start.
58047         (end): Renamed from rm_end.
58048
58049         (free_state): Move up a bit.
58050
58051         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
58052         #define to be empty.
58053         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
58054         when that is what is intended.
58055         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
58056         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
58057         (MAX): New macro.
58058         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
58059         All uses changed back to re_malloc, etc.  It's now the caller's
58060         responsibility to check for overflow; all callers changed.
58061         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
58062         (re_x2nrealloc): Remove.
58063         (free_state): Remove decl.
58064
58065         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
58066         (re_set_registers, re_exec):
58067         Use K&R-style defn.
58068
58069         2006-01-31  Roland McGrath  <roland@redhat.com>
58070
58071         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
58072         Reported by Mike Frysinger <vapier@gentoo.org>.
58073
58074         2006-01-15  Andreas Jaeger  <aj@suse.de>
58075
58076         [BZ #1950]
58077         * lib/regex_internal.c (re_string_reconstruct): Adjust for
58078         build_wcs_upper_buffer change.
58079         (build_wcs_upper_buffer): Change return type.
58080
58081         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
58082
58083         * lib/regex_internal.h: Include <stdint.h> if available.
58084
58085         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
58086
58087         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
58088
58089         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
58090
58091         * lib/regcomp.c: Adjust for changed secondary hash function.
58092
58093         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
58094
58095         * lib/regex.h: Pretty printing.
58096         Clean up namespace a bit.
58097
58098         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
58099
58100         * lib/regexec.c (update_cur_sifted_state, check_arrival,
58101         check_arrival_add_next_nodes): Avoid using uninitialized variable.
58102
58103         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58104                     Ulrich Drepper  <drepper@redhat.com>
58105
58106         [BZ #1302]
58107         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
58108         changed.
58109         (bitset_word_t): Renamed from bitset_word.  All uses changed.
58110
58111         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
58112
58113         [BZ #281]
58114         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
58115         * lib/regcomp.c: Remove unnecessary uses of
58116         unsigned RE_TRANSLATE_TYPE.
58117         * lib/regex_internal.h: Likewise.
58118         * lib/regex_internal.c: Likewise.
58119         * lib/regexec.c: Likewise.
58120         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
58121
58122         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
58123
58124         * lib/regexec.c (find_recover_state): Remove unnecessary
58125         initialization.
58126         (transit_state_bkref): Make DFA a const pointer.
58127         (get_subexp): Likewise.
58128         (check_arrival): Likewise.
58129         (update_cur_sifted_state): Likewise.
58130         (re_search_internal): Likewise.
58131         (prune_impossible_nodes): Likewise.
58132         (acquire_init_state_context): Likewise.
58133         (proceed_next_node): Likewise.
58134         (set_regs): Likewise.
58135         (free_fail_stack_return): Likewise.
58136         (check_arrival_expand_ecl): Mark DFA parameter as const.
58137         (check_arrival_expand_ecl_sub): Likewise.
58138         (check_subexp_limits): Likewise.
58139         (sub_epsilon_src_nodes):  Likewise.
58140         (add_epsilon_src_nodes):  Likewise.
58141         (merge_state_array): Likewise.
58142         (update_regs): Likewise.
58143         (build_trtable): Likewise.
58144         (sift_states_backward): Mark MCTX parameter as const.
58145         (build_sifted_states): Likewise.
58146         (update_cur_sifted_state): Likewise.
58147         (sift_states_mkref): Likewise.
58148         (check_arrival_expand_ecl): Mark eclosure as const.
58149         (check_dst_limits_calc_pos_1): Likewise.
58150         * lib/regex_internal.h (re_match_context_t): Make dfa a const
58151         pointer.
58152
58153         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
58154
58155         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
58156         (transit_state_sb): Likewise.
58157         (transit_state_mb): Likewise.
58158         (sift_states_iter_mb): Likewise.
58159         (check_arrival_add_next_nodes): Likewise.
58160         (check_node_accept_bytes): Change first parameter to pointer-to-const.
58161         [_LIBC] (re_search_2_stub): Use mempcpy.
58162
58163         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
58164         mbrtowc for very simple UTF-8 case.
58165
58166         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
58167         a pointer-to-const.
58168         (re_acquire_state_context): Likewise.
58169         * lib/regex_internal.h: Adjust prototypes.
58170
58171         * lib/regex.c: Prevent using C++ compilers.
58172
58173         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
58174         (re_acquire_state_context): Likewise.
58175
58176 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58177
58178         * modules/regex (Depends-on): Add ssize_t.
58179
58180 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58181
58182         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
58183         translation table.
58184
58185 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58186
58187         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
58188
58189 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
58190             Bruno Haible  <bruno@clisp.org>
58191
58192         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
58193         <sys/types.h> and <inttypes.h>.
58194
58195 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58196
58197         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
58198         `__error_t_defined', so argp.h will not typedef the former.
58199
58200 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
58201
58202         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
58203         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
58204         glibc names.  Even if glibc is changed to conform to POSIX, the
58205         traditional names will be available anyway, since regex depends on
58206         the extensions module.  Also, fix a longstanding typo in the
58207         implementation of Spencer ERE test #75 from grep 2.3.  Problems
58208         reported by Emanuele Giaquinta.  Also, change sense of cached
58209         variable, so that the message makes sense.
58210
58211 2006-03-24  Simon Josefsson  <jas@extundo.com>
58212
58213         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
58214         including some doc fixes.
58215         (base64_encode_alloc): Fix +1 bug on allocation failures.
58216
58217 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58218
58219         * lib/base64.c (base64_encode): Do not read past end of array with
58220         unsanitized input on systems with CHAR_BIT > 8.
58221
58222 2006-03-24  Eric Blake  <ebb9@byu.net>
58223
58224         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
58225
58226 2006-03-22  Karl Berry  <karl@gnu.org>
58227
58228         * config/srclist.txt (*setenv.[ch]): get from coreutils.
58229         * config/srclistvars.sh (COREUTILS): new var.
58230
58231 2006-03-17  Jim Meyering  <jim@meyering.net>
58232
58233         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
58234         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
58235
58236 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
58237
58238         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
58239         no longer needs it.  Instead, check that regoff_t is as least
58240         as wide as ptrdiff_t.
58241
58242         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
58243         so that our regex.h stays compatible with the installed regex.
58244         This is helpful for installers who configure --without-included-regex.
58245         Problem reported by Emanuele Giaquinta.
58246
58247 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
58248
58249         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
58250         Typedef to long int, not to off_, as POSIX will likely change
58251         in that direction.
58252
58253 2006-03-15  Eric Blake  <ebb9@byu.net>
58254
58255         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
58256
58257 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
58258
58259         * lib/argp-help.c (validate_uparams): Fix typo
58260         * lib/argp-parse.c (argp_default_options): Consistently begin help
58261         messages with a lowercase letter.
58262
58263 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
58264
58265         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
58266         overrun buffers and shouldn't be used (much as gets shouldn't be
58267         used).
58268         * lib/time_r.c (asctime_r, ctime_r): Likewise.
58269
58270 2006-03-08  Simon Josefsson  <jas@extundo.com>
58271
58272         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
58273         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58274
58275 2006-03-08  Simon Josefsson  <jas@extundo.com>
58276
58277         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
58278         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58279
58280 2006-03-08  Simon Josefsson  <jas@extundo.com>
58281
58282         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
58283         signal that configure disabled the device.
58284
58285 2006-03-08  Simon Josefsson  <jas@extundo.com>
58286
58287         * build-aux/maint.mk: Fix refresh-po, to handle no translated
58288         languages.
58289
58290 2006-03-07  Simon Josefsson  <jas@extundo.com>
58291
58292         * modules/getopt (Depends-on): Add unistd.
58293
58294         * modules/unistd: New file.
58295
58296 2006-03-07  Simon Josefsson  <jas@extundo.com>
58297
58298         * modules/gc-random: New file.
58299
58300 2006-03-07  Simon Josefsson  <jas@extundo.com>
58301
58302         * m4/unistd_h.m4: New file.
58303
58304 2006-03-07  Simon Josefsson  <jas@extundo.com>
58305
58306         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
58307         test to be side-effect free by storing the result in the cache
58308         variable gl_cv_lib_readline, and moving the assignment of
58309         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
58310         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58311
58312 2006-03-07  Simon Josefsson  <jas@extundo.com>
58313
58314         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
58315         error on missing devices (the functions will return an error).
58316
58317         * m4/gc.m4: Move random stuff to gc-random.m4
58318
58319 2006-03-07  Simon Josefsson  <jas@extundo.com>
58320
58321         * lib/unistd_.h: New file.
58322
58323 2006-03-07  Simon Josefsson  <jas@extundo.com>
58324
58325         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
58326
58327 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58328
58329         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
58330         Problem reported by Juan Manuel Guerrero.
58331
58332 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58333
58334         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
58335         the unistd module.
58336         * lib/getlogin_r.c: Likewise.
58337         * lib/getlogin_r.h: Likewise.
58338         * lib/glob.c: Likewise.
58339         * lib/pagealign_alloc.c: Likewise.
58340         * lib/unistd_.h: Remove; no longer needed.
58341
58342 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58343
58344         * MODULES.html.sh (Support for systems lacking POSIX:2001):
58345         Add unistd.
58346         * modules/c-stack (Depends-on): Add unistd.
58347         * modules/getlogin_r: Likewise.
58348         * modules/glob: Likewise.
58349         * modules/pagealign_alloc: Likewise.
58350         * modules/unistd (Files): Remove lib/unistd_.h.
58351         (EXTRA_DIST): Remove.
58352         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
58353         need unistd_.h.
58354         (MOSTLYCLEANFILES): Remove unistd.h-t.
58355
58356 2006-03-03  Simon Josefsson  <jas@extundo.com>
58357
58358         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
58359
58360 2006-03-03  Simon Josefsson  <jas@extundo.com>
58361
58362         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
58363         libidn and bison.
58364
58365 2006-03-03  Simon Josefsson  <jas@extundo.com>
58366
58367         * build-aux/maint.mk: Add indent target.
58368
58369 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
58370
58371         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
58372         our replacement poll.h in any case, to avoid a differing
58373         declaration from a system header.  Seen on AIX.
58374
58375 2006-03-01  Simon Josefsson  <jas@extundo.com>
58376
58377         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
58378         <kasal@ucw.cz>.
58379
58380 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58381
58382         * modules/gettime (Depends-on): Add extensions module.
58383         * modules/nanosleep (Depends-on): Likewise.
58384         * modules/settime (Depends-on): Likewise.
58385
58386 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58387
58388         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
58389         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
58390         pedantically.
58391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
58392         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
58393
58394         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
58395         not "==".  Reported by Ralf Wildenhues.
58396
58397 2006-03-01  Karl Berry  <karl@gnu.org>
58398
58399         * doc/Copyright/request-*: new files, synced from gnuorg.
58400
58401 2006-03-01  Karl Berry  <karl@gnu.org>
58402
58403         * config/srclist.txt (Copyright/*): new entries.
58404
58405 2006-02-28  Simon Josefsson  <jas@extundo.com>
58406
58407         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
58408
58409 2006-02-27  Simon Josefsson  <jas@extundo.com>
58410
58411         * lib/base64.h: Indent #define's.  From Jim Meyering
58412         <jim@meyering.net>.
58413
58414 2006-02-27  Jim Meyering  <jim@meyering.net>
58415
58416         Revert the change of 2006-02-24, so these files can continue
58417         to be sync'd from gettext.
58418         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
58419         of `config.h'.
58420
58421 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
58422
58423         * modules/intprops: New file.
58424         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
58425         Add intprops.
58426         * modules/getloadavg (Files): Remove lib/intprops.h.
58427         (Depends-on): Add intprops.
58428         * modules/human: Likewise.
58429         * modules/inttostr: Likewise.
58430         * modules/openat: Likewise.
58431         * modules/sig2str: Likewise.
58432         * modules/userspec: Likewise.
58433         * modules/utimecmp: Likewise.
58434         * modules/xnanosleep: Likewise.
58435         * modules/xstrtol: Likewise.
58436
58437 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
58438
58439         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
58440         * modules/lock-tests (TESTS): Use $(EXEEXT).
58441         * modules/tls-tests: Likewise.
58442         * modules/argp-tests: Likewise.
58443         (check_PROGRAMS): New var, replacing...
58444         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
58445
58446 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58447
58448         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
58449         `config.h'.
58450
58451 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58452
58453         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
58454
58455 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58456
58457         Sync from coreutils.
58458         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
58459         gl_CHDIR_SAFER.
58460
58461 2006-02-22  Jim Meyering  <jim@meyering.net>
58462
58463         Sync from coreutils.
58464         * m4/chdir-safer.m4: New file.
58465
58466 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
58467
58468         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
58469         AT_FDCWD exceeds INT_MAX.
58470         * lib/openat.h (AT_FDCWD): Likewise.
58471
58472 2006-02-17  Eric Blake  <address@hidden>
58473
58474         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
58475
58476 2006-02-16  Simon Josefsson  <jas@extundo.com>
58477
58478         * modules/getaddrinfo (Depends-on): Add sys_socket.
58479
58480 2006-02-15  Simon Josefsson  <jas@extundo.com>
58481
58482         * build-aux/maint.mk: Add dsyntax-check rule.
58483
58484 2006-02-15  Eric Blake  <ebb9@byu.net>
58485
58486         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
58487         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
58488         'present but cannot compile' warnings on cygwin.
58489         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
58490         use ws2tcpip.h if sys/socket.h works.
58491         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
58492         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
58493
58494 2006-02-14  Simon Josefsson  <jas@extundo.com>
58495
58496         * modules/maintainer-makefile (Files): Rename.
58497
58498         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
58499         and (the local) Makefile.cfg to maint-cfg.mk.
58500
58501         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
58502         to the latter.
58503
58504         * modules/maintainer-makefile: New module.
58505
58506         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
58507         severaly stripped to make it possible to build it up from scratch
58508         with reliable tests.
58509
58510         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
58511         fixes to permit overriding the default actions when configure and
58512         makefile are not available.
58513
58514 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58515
58516         Sync from coreutils.
58517         * modules/lstat (Depends-on): Don't depend on xalloc.
58518         (License): Change from GPL to LGPL, since this is now simply a
58519         replacement for a libc function.
58520
58521 2006-02-14  Jim Meyering  <jim@meyering.net>
58522
58523         Sync from coreutils.
58524
58525         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
58526         failure on deficient systems, and simplify gnulib lgpl dependencies.
58527         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
58528         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
58529
58530         * lib/xalloc-die.c: Remove unused definition of N_.
58531
58532 2006-02-14  Jim Meyering  <jim@meyering.net>
58533
58534         Sync from coreutils.
58535         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
58536         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
58537         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
58538         double-quote uses of that variable, to accommodate the rare case in
58539         which getmntent is available in none of the libraries checked.  This
58540         happens at least on FreeBSD 5.0.
58541
58542 2006-02-13  Simon Josefsson  <jas@extundo.com>
58543
58544         * gnulib-tool (Usage): Fix --import, from
58545         karl@freefriends.org (Karl Berry).
58546
58547 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
58548
58549         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
58550
58551 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
58552
58553         * lib/argp-namefrob.h: Restore changes accidentally lost during the
58554         "autoupdate" on 2005-12-12.
58555
58556 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
58557
58558         * modules/closeout (Depends-on): Remove atexit.
58559
58560 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
58561
58562         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
58563         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
58564
58565 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58566
58567         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
58568         __EXTENSIONS__ if this causes compilation to fail.  Problem
58569         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
58570         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
58571
58572 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
58573
58574         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
58575         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
58576         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
58577         All uses changed.
58578
58579 2006-01-26  Simon Josefsson  <jas@extundo.com>
58580
58581         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
58582         prototype is visible on mingw32.
58583
58584         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
58585         for mingw32.
58586
58587         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
58588         mingw32).
58589
58590 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
58591
58592         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
58593         attempt to open for write; this always fails, at least on POSIX
58594         hosts.  This reinstates the 2006-01-09 change, which was
58595         inadvertently removed.
58596
58597 2006-01-26  Bruno Haible  <bruno@clisp.org>
58598
58599         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
58600         Reported by Paul Eggert.
58601
58602 2006-01-26  Bruno Haible  <bruno@clisp.org>
58603             Paul Eggert  <eggert@cs.ucla.edu>
58604
58605         * lib/stdbool_.h (_Bool)
58606         [(! (defined __cplusplus || defined __BEOS__)
58607           && !defined __GNUC__
58608           && !(defined __HP_cc || defined __xlc__
58609                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
58610                || defined __sgi))]:
58611         #define to signed char in these cases too; this simplifies
58612         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
58613         etc., separately) and makes it more conservative.
58614
58615 2006-01-25  Simon Josefsson  <jas@extundo.com>
58616
58617         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
58618         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
58619         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
58620
58621 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
58622
58623         * lib/argp-namefrob.h: Bugfix. Remove stray #
58624
58625 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58626
58627         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
58628         so that we test the test.
58629         Check for yet another HP-UX cc bug involving *bool |= bool.
58630
58631 2006-01-25  Karl Berry  <karl@gnu.org>
58632
58633         * config/srclist.txt (vasnprintf.c): sync lost.
58634
58635 2006-01-25  Jim Meyering  <jim@meyering.net>
58636
58637         Sync from the stable (b5) branch of coreutils:
58638
58639         * lib/fts.c (fts_children): Don't let close() clobber errno from
58640         failed fchdir().
58641
58642         * lib/fts.c (fts_stat): When following a symlink-to-directory,
58643         don't necessarily interpret stat-fails+lstat-succeeds as indicating
58644         a dangling symlink.  That can also happen at least for ELOOP.
58645         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
58646         FYI, this bug predates the inclusion of fts.c in coreutils.
58647
58648         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
58649         in their own block, so pre-c99 compilers don't object.
58650
58651         Avoid the double-free (first in fts_read, second in fts_close) that
58652         would occur when an `active' directory is made inaccessible (e.g.,
58653         via chmod a-x) during a traversal.
58654         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
58655         before returning.  Reproduce this failure by
58656         mkdir -p a/b; cd a; chmod a-x . b
58657         Reported by Stavros Passas.
58658
58659 2006-01-25  Jim Meyering  <jim@meyering.net>
58660
58661         * lib/fileblocks.c: Remove more useless parentheses.
58662         * lib/readutmp.h: Likewise.
58663
58664 2006-01-25  Bruno Haible  <bruno@clisp.org>
58665
58666         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
58667         warnings.
58668         Reported by Paul Eggert.
58669
58670 2006-01-25  Bruno Haible  <bruno@clisp.org>
58671
58672         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
58673         rid of a trap command. For Solaris sh.
58674         Reported by Mark D. Baushke <mdb@gnu.org>.
58675
58676 2006-01-24  Simon Josefsson  <jas@extundo.com>
58677
58678         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
58679         Bruno.
58680
58681 2006-01-24  Karl Berry  <karl@gnu.org>
58682
58683         * config/srclist.txt (argp-namefrob.h): sync lost.
58684
58685 2006-01-24  Jim Meyering  <jim@meyering.net>
58686
58687         * modules/openat (Files): Add lib/intprops.h.
58688         From Mark D. Baushke.
58689
58690 2006-01-24  Jim Meyering  <jim@meyering.net>
58691
58692         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
58693         Reported by Mark D. Baushke.
58694
58695 2006-01-24  Jim Meyering  <jim@meyering.net>
58696
58697         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
58698
58699 2006-01-24  Bruno Haible  <bruno@clisp.org>
58700
58701         * modules/strnlen (Maintainer): Change from glibc to all.
58702
58703 2006-01-24  Bruno Haible  <bruno@clisp.org>
58704
58705         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
58706         Patch by Paul Eggert.
58707
58708 2006-01-24  Bruno Haible  <bruno@clisp.org>
58709
58710         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
58711         already has it.
58712         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
58713         2005-11-26.
58714
58715         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
58716         'signed char' to avoid problems with the built-in _Bool type.
58717         Reported by Paul Eggert on 2005-11-26.
58718
58719 2006-01-24  Bruno Haible  <bruno@clisp.org>
58720
58721         * gnulib-tool (func_import): Avoid constructing complicated sed
58722         expressions inside backquote.
58723         Report and solution by Mark D. Baushke <mdb@gnu.org>.
58724
58725 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
58726
58727         These changes imported from libc.
58728         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
58729         test and two separate function calls.
58730         * lib/strndup.c (__strndup): Add libc_hidden_def.
58731
58732 2006-01-23  Simon Josefsson  <jas@extundo.com>
58733
58734         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
58735         Remove the test_*_SOURCES variable: automake infers it by default.
58736         * modules/tls-tests: Likewise.
58737
58738 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58739
58740         Work around porting bugs reported by Dieter in
58741         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
58742         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
58743         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
58744         Include "getopt.h" first, to check interface.
58745         (getenv): Declare only if defined HAVE_DECL_GETENV &&
58746         !HAVE_DECL_GETENV.
58747         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
58748         (__strndup): Revert to K&R-style function dfns, the glibc style.
58749         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
58750         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
58751         Include strnlen.h first, to get prototype properly.
58752         (strnlen): Renamed from __strnlen.
58753         Remove weak alias.
58754
58755 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58756
58757         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
58758
58759 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58760
58761         * config/srclist.txt: Adjust to reflect glibc reorganization.
58762         This affects only comments.
58763
58764 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58765
58766          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
58767          Reported by Bruce Korb <bkorb@gnu.org>.
58768
58769 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
58770
58771         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
58772         to pacify gcc -Wswitch-default.
58773
58774 2006-01-22  Bruno Haible  <bruno@clisp.org>
58775
58776         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
58777         temporary buffer for sprintf, take into account the precision also
58778         for 'd', 'i', 'u', 'o', 'x', 'X'.
58779
58780 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
58781
58782         * modules/argp-tests: New module
58783         * tests/test-argp.c: New file
58784         * tests/test-argp-2.sh: New file
58785
58786 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
58787
58788         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
58789         (__argp_base_name): Removed
58790         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
58791         typo.
58792         (__argp_base_name): Provide macro definition or extern declaration
58793         depending on the configuration
58794
58795 2006-01-20  Simon Josefsson  <jas@extundo.com>
58796
58797         * modules/inet_ntop (Depends-on): Depend on sys_socket.
58798
58799 2006-01-20  Simon Josefsson  <jas@extundo.com>
58800
58801         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
58802
58803 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
58804
58805         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
58806         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
58807         Suggested by Bruno Haible.
58808
58809 2006-01-20  Karl Berry  <karl@gnu.org>
58810
58811         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
58812         until changes propagate, I guess.
58813
58814 2006-01-19  Simon Josefsson  <jas@extundo.com>
58815
58816         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
58817
58818 2006-01-19  Simon Josefsson  <jas@extundo.com>
58819
58820         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
58821
58822 2006-01-19  Simon Josefsson  <jas@extundo.com>
58823
58824         * gnulib-tool: Set check_PROGRAMS.
58825
58826         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
58827         modules/des-tests, modules/gc-arcfour-tests,
58828         modules/gc-arctwo-tests, modules/gc-des-tests,
58829         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
58830         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
58831         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
58832         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
58833         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
58834         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
58835         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
58836         test_*_SOURCES.
58837
58838 2006-01-18  Simon Josefsson  <jas@extundo.com>
58839
58840         * modules/socklen (Depends-on): Depend on sys_socket.
58841
58842 2006-01-18  Simon Josefsson  <jas@extundo.com>
58843
58844         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
58845         modules/des-tests, modules/gc-arcfour-tests,
58846         modules/gc-arctwo-tests, modules/gc-des-tests,
58847         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
58848         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
58849         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
58850         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
58851         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
58852         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
58853         $(EXEEXT) to automake TESTS variable, for mingw32.
58854
58855 2006-01-17  Simon Josefsson  <jas@extundo.com>
58856
58857         * modules/socklen (Include): Need sys/socket.h.
58858
58859 2006-01-17  Bruno Haible  <bruno@clisp.org>
58860
58861         * modules/ssize_t (Include): Add <sys/types.h>.
58862
58863 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
58864
58865         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
58866         it's not portable and it doesn't work with cross-compiles.
58867         Problem reported by Bruno Haible.  Fix missing-$ typo in
58868         'test "gl_cv_ignore_unused_libraries" ...' that prevented
58869         -zignore from being used with Sun's C compiler.
58870
58871 2006-01-12  Simon Josefsson  <jas@extundo.com>
58872
58873         * lib/base64.c: Fix warning, reported by Bruno Haible
58874         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
58875
58876 2006-01-12  Bruno Haible  <bruno@clisp.org>
58877
58878         * modules/ldd: New file.
58879         * build-aux/ldd.sh.in: New file.
58880         * MODULES.html.sh (Support for building libraries and executables): Add
58881         ldd.
58882
58883 2006-01-12  Bruno Haible  <bruno@clisp.org>
58884
58885         * m4/ldd.m4: New file.
58886
58887 2006-01-12  Bruno Haible  <bruno@clisp.org>
58888
58889         * gnulib-tool (func_import, func_create_testdir): Don't go into an
58890         endless loop while replacing $auxdir with build-aux.
58891
58892 2006-01-11  Simon Josefsson  <jas@extundo.com>
58893
58894         * lib/stdint_.h (SIZE_MAX): Add missing (.
58895
58896 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
58897
58898         Sync from coreutils.
58899         * lib/md5.c: Fix commentary typos.
58900         (alignof, UNALIGNED_P): No need for a GCC-specific version.
58901         * lib/md5.h (__attribute__): Remove; unused.
58902         * lib/sha1.c: Fix commentary to match md5 better.
58903         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
58904         so that we don't need to worry about alignment.  All uses changed.
58905         This merges the 2005-10-28 md5 change into sha1.
58906
58907 2006-01-11  Jim Meyering  <jim@meyering.net>
58908
58909         Sync from coreutils.
58910         * lib/md5.c (OP): Fix spacing.
58911
58912 2006-01-11  Bruno Haible  <bruno@clisp.org>
58913
58914         Ensure automatic ordering between gl_LOCK and gl_ARGP.
58915         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
58916         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
58917
58918 2006-01-11  Bruno Haible  <bruno@clisp.org>
58919
58920         Ensure automatic ordering between gl_LOCK and gl_ARGP.
58921         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
58922         the "early" section as well.
58923
58924 2006-01-11  Bruno Haible  <bruno@clisp.org>
58925
58926         Avoid "ar: no archive members specified" error on MacOS X.
58927         * gnulib-tool (func_modules_add_dummy): New function.
58928         (func_import, func_create_testdir): Invoke it.
58929
58930 2006-01-11  Bruno Haible  <bruno@clisp.org>
58931
58932         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
58933         with $auxdir in AC_CONFIG_FILES statements.
58934
58935 2006-01-11  Bruno Haible  <bruno@clisp.org>
58936
58937         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58938         Initialize also noinst_HEADERS to empty.
58939
58940 2006-01-11  Bruno Haible  <bruno@clisp.org>
58941
58942         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
58943         variables.
58944         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
58945         autoreconf.
58946
58947 2006-01-11  Bruno Haible  <bruno@clisp.org>
58948
58949         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
58950         overridable by the user.
58951         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58952
58953 2006-01-10  Simon Josefsson  <jas@extundo.com>
58954
58955         * modules/sys_socket: New file.
58956
58957 2006-01-10  Simon Josefsson  <jas@extundo.com>
58958
58959         * m4/sys_socket_h.m4: New file.
58960
58961 2006-01-10  Simon Josefsson  <jas@extundo.com>
58962
58963         * lib/socket_.h: New file.
58964
58965 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58966
58967         * modules/readutmp (Maintainer): Add myself.
58968
58969 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58970
58971         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
58972         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
58973         People who are still concerned with buggy memcmp implementations
58974         can invoke gl_FUNC_MEMCMP themselves.
58975
58976 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58977
58978         * lib/regex_internal.h (BITSET_WORD_BITS):
58979         Work around a bug in 64-bit PGC (before version 6.1-2), where the
58980         preprocessor mishandles large unsigned values as if they were signed.
58981         Problem reported by Claudio Fontana in
58982         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
58983
58984 2006-01-10  Jim Meyering  <jim@meyering.net>
58985
58986         Avoid the double-free (first in fts_read, second in fts_close) that
58987         would occur when an `active' directory is made inaccessible (e.g.,
58988         via chmod a-x) during a traversal.
58989         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
58990         before returning.  Reproduce this failure by
58991         mkdir -p a/b; cd a; chmod a-x . b
58992         Reported by Stavros Passas.
58993
58994         Sync from coreutils.
58995         * lib/sha1.c: Tweak grammar in a comment.
58996
58997 2006-01-10  Jim Meyering  <jim@meyering.net>
58998
58999         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
59000         Patch by Joerg Sonnenberger.
59001
59002 2006-01-10  Bruno Haible  <bruno@clisp.org>
59003
59004         * modules/readutmp: Depend on module free.
59005         * modules/strtok_r: Depend on module restrict.
59006
59007 2006-01-10  Bruno Haible  <bruno@clisp.org>
59008
59009         * modules/gettext (configure.ac): Add an invocation of
59010         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
59011
59012 2006-01-10  Bruno Haible  <bruno@clisp.org>
59013
59014         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
59015         Reported by Werner Lemberg <wl@gnu.org>.
59016
59017 2006-01-10  Bruno Haible  <bruno@clisp.org>
59018
59019         * lib/localcharset.c: Update from GNU gettext.
59020
59021 2006-01-10  Bruno Haible  <bruno@clisp.org>
59022
59023         * lib/argp.h (__const): Remove macro. Use const instead.
59024         * lib/argp-fmtstream.h (__const): Likewise.
59025         * lib/glob_.h (__const): Remove macro.
59026         * lib/glob-libc.h: Use const instead of __const.
59027
59028 2006-01-10  Bruno Haible  <bruno@clisp.org>
59029
59030         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
59031         variable.
59032         Needed to avoid an automake error regarding the 'gettext' module.
59033
59034 2006-01-09  Simon Josefsson  <jas@extundo.com>
59035
59036         * modules/inet_ntop (Depends-on): Add restrict.
59037
59038 2006-01-09  Simon Josefsson  <jas@extundo.com>
59039
59040         * modules/gc-rijndael-tests (License): Put under LGPL.
59041
59042         * modules/gc-des-tests (License): Likewise.
59043
59044         * modules/gc-arcfour-tests (License): Likewise.
59045
59046         * modules/gc-arctwo-tests (License): Likewise.
59047
59048         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
59049
59050         * modules/gc-hmac-sha1-tests (Files): Likewise.
59051
59052         * modules/gc-hmac-md5-tests (License): Likewise.
59053
59054         * modules/gc-sha1-tests (License): Likewise.
59055
59056         * modules/gc-md5-tests (License): Likewise.
59057
59058         * modules/gc-md4-tests (License): Likewise.
59059
59060         * modules/gc-md2-tests (License): Likewise.
59061
59062         * modules/gc-tests (License): Likewise.
59063
59064         * modules/des-tests (License): Likewise.
59065
59066         * modules/md4-tests (License): Likewise.
59067
59068         * modules/md2-tests (License): Likewise.
59069
59070 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59071
59072         Sync from coreutils:
59073
59074         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
59075         * modules/lib-ignore: New file.
59076         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
59077         chdir-safer.m4, lchmod.m4.
59078         * modules/openat: Add mkdirat.c, openat-priv.h.
59079
59080 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59081
59082         Sync from coreutils.
59083         * m4/lib-ignore.m4: New file.
59084         * m4/lchmod.m4: New file.
59085
59086 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59087
59088         Sync from coreutils.
59089         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
59090         for write access: POSIX says that must fail.
59091         * lib/fts.c (diropen): Likewise.
59092         * lib/save-cwd.c (save_cwd): Likewise.
59093         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
59094         well, for minor improvements on hosts that lack O_DIRECTORY.
59095         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
59096         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
59097         Fall back on chown if open failed with EACCES.
59098
59099         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
59100         Report an error at compile-time if only a 1-second nominal clock
59101         resolution is found.
59102
59103         * lib/lchmod.h: New file.
59104         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
59105         (make_dir_parents): Use lchown rather than chown, and
59106         lchmod rather than chmod.
59107
59108         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
59109         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
59110         "proc" reported by n0dalus.
59111
59112         * lib/mountlist.c: Include <limits.h>.
59113         (dev_from_mount_options)
59114         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
59115         New function.  It no longer assumes "dev=" has the System V meaning
59116         on Linux (since it doesn't).  It also parses "dev=" more carefully.
59117         (read_file_system_list)
59118         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
59119         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
59120         dev= in that case.
59121
59122         * lib/posixtm.h (PDS_PRE_2000): New macro.
59123         * lib/posixtm.c (year): Arg is now syntax_bits rather than
59124         allow_century.  All usages changed.  Reject dates outside the range
59125         1969-1999 if PDS_PRE_2000 is used.
59126
59127 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59128
59129         Sync from coreutils.
59130         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
59131         (Time of day items): Mention the possibility of leap seconds.
59132         Problem reported by Dr. David Alan Gilbert.
59133
59134 2006-01-09  Jim Meyering  <jim@meyering.net>
59135
59136         Sync from coreutils.
59137
59138         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
59139
59140         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
59141
59142         * lib/modechange.c (mode_compile): Reject an invalid mode string
59143         that starts with an octal digit.  From Andreas Gruenbacher.
59144
59145         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
59146         and dup to open_safer and dup_safer, respectively.
59147         (openat_permissive): Fix typo in comment.
59148
59149         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
59150         "gettext.h"; either no longer needed or are guaranteed by openat.h.
59151         (_): Remove; no longer needed.
59152         (openat): Renamed from rpl_openat; no need for rpl_openat
59153         since openat.h renames openat for us.
59154         Replace most of the body with a call to openat_permissive,
59155         to avoid duplicate code.
59156         Port to (probably hypothetical) environments were mode_t is
59157         wider than int.
59158         (openat_permissive): Require mode arg, so that we can check
59159         types better.  Put it just after flags.  Change cwd failure
59160         indicator from pointer-to-bool to pointer-to-errno-value.
59161         All callers changed.
59162         Invoke openat_save_fail and/or openat_restore_fail if
59163         cwd_errno is null, so that openat can call us.
59164         (openat_permissive, fdopendir, fstatat, unlinkat):
59165         Simplify errno handling to avoid some duplicate code,
59166         as it's OK to set errno on success.
59167         * lib/openat.h: Revamp code so that function macros depend on
59168         __OPENAT_PREFIX only, not also on AT_FDCWD.
59169         (openat_ro): Remove.  Caller changed to use openat_permissive.
59170         (openat_permissive): Now a macro, if not a function.
59171         (openat_restore_fail, openat_save_fail): Now always functions,
59172         since mkdirat needs them even if __OPENAT_PREFIX is defined.
59173
59174         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
59175         and openat.c.
59176         * lib/mkdirat.c: Include openat-priv.h.
59177         Remove definitions of macros defined therein.
59178         * lib/openat.c: Likewise.
59179
59180         * lib/mkdirat.c (mkdirat): New file and function.
59181         * lib/openat.h (mkdirat): Declare.
59182
59183         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
59184
59185         * lib/openat.h (openat_permissive): Declare.
59186         (openat_ro): Define.
59187
59188         * lib/openat.c (EXPECTED_ERRNO): New macro.
59189         (openat_permissive): New function -- used in remove.c rewrite.
59190         (all functions): Set errno just before returning, only if there
59191         was an actual failure.
59192         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
59193
59194         Emulate openat-family functions using Linux's procfs, if possible.
59195         Idea and some code based on Ulrich Drepper's glibc changes.
59196
59197         * lib/openat.c: (BUILD_PROC_NAME): New macro.
59198         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
59199         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
59200         before falling back on save_cwd and restore_cwd.
59201         (fdopendir, fstatat, unlinkat): Likewise.
59202
59203         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
59204         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
59205
59206         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
59207         as second argument to va_arg.  Otherwise, some versions of gcc
59208         warn that `if this code is reached, the program will abort'.
59209
59210 2006-01-09  Jim Meyering  <jim@meyering.net>
59211
59212         Sync from coreutils.
59213         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
59214         Require openat-priv.h.
59215
59216 2006-01-09  Bruno Haible  <bruno@clisp.org>
59217
59218         * modules/strnlen (Include): Use strnlen.h.
59219
59220 2006-01-09  Bruno Haible  <bruno@clisp.org>
59221
59222         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
59223
59224 2006-01-09  Bruno Haible  <bruno@clisp.org>
59225
59226         * lib/sysexit_.h (EX_OK): New macro.
59227         Suggested by Martin Lambers <marlam@marlam.de>.
59228
59229 2006-01-09  Bruno Haible  <bruno@clisp.org>
59230
59231         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
59232         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
59233
59234 2006-01-09  Bruno Haible  <bruno@clisp.org>
59235
59236         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
59237         numbers.
59238
59239 2006-01-09  Bruno Haible  <bruno@clisp.org>
59240
59241         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
59242         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
59243         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
59244         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
59245
59246 2006-01-09  Bruno Haible  <bruno@clisp.org>
59247
59248         * build-aux/javacomp.sh.in: New file, moved from lib/.
59249         * modules/javacomp-script (Files): Update.
59250         (configure.ac): Add AC_CONFIG_FILES invocation.
59251         (EXTRA_DIST): Remove variable.
59252
59253         * build-aux/javaexec.sh.in: New file, moved from lib/.
59254         * modules/javaexec (Files): Update.
59255         (configure.ac): Add AC_CONFIG_FILES invocation.
59256         (EXTRA_DIST): Remove javaexec.sh.in.
59257
59258         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
59259         * modules/csharpcomp-script (Files): Update.
59260         (configure.ac): Add AC_CONFIG_FILES invocation.
59261         (EXTRA_DIST): Remove variable.
59262
59263         * build-aux/csharpexec.sh.in: New file, moved from lib/.
59264         * modules/csharpexec (Files): Update.
59265         (configure.ac): Add AC_CONFIG_FILES invocation.
59266         (EXTRA_DIST): Remove csharpexec.sh.in.
59267
59268 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
59269
59270         Sync from coreutils.
59271
59272         Add POSIX ACL support
59273         * lib/acl.h (copy_acl, set_acl): Add declarations.
59274         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
59275         systems other than Linux.
59276         (chmod_or_fchmod): New function: use fchmod when possible,
59277         and chmod otherwise.
59278         (file_has_acl): Add a POSIX ACL implementation, with a
59279         Linux-specific subcase.
59280         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
59281         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
59282         acls are unsupported.
59283         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
59284         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
59285         are unsupported.
59286
59287 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
59288
59289         Sync from coreutils.
59290         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
59291
59292 2006-01-07  Bruno Haible  <bruno@clisp.org>
59293
59294         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
59295         gl_EARLY.
59296
59297 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59298
59299         * lib/strftime.c (tzname): Don't declare if it is already #defined.
59300         Problem reported for Mingw by Mark Junker.
59301
59302 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59303
59304         * README: Gnulib normally doesn't generate a tarball.
59305
59306 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
59307
59308         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
59309         long int, not int, for nanosecond counts, so that people who are
59310         used to POSIX struct timespec won't be surprised.  Reported by Jim
59311         Meyering.
59312
59313 2005-12-28  Bruno Haible  <bruno@clisp.org>
59314
59315         * build-aux/config.rpath: Update from GNU gettext.
59316
59317 2005-12-16  Jim Meyering  <jim@meyering.net>
59318
59319         * modules/fprintftime: New module.
59320         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
59321
59322 2005-12-16  Jim Meyering  <jim@meyering.net>
59323
59324         * m4/fprintftime.m4: New file.
59325
59326 2005-12-16  Jim Meyering  <jim@meyering.net>
59327
59328         * lib/fprintftime.c, lib/fprintftime.h: New files.
59329
59330 2005-12-15  Simon Josefsson  <jas@extundo.com>
59331
59332         * modules/socklen (configure.ac): Fix M4 macro name, to align with
59333         new m4/socklen.m4.
59334
59335 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59336
59337         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
59338         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
59339
59340 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59341
59342         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
59343         * lib/argp-help.c (fill_in_uparams): Check if the constructed
59344         struct uparams is valid. Fall back to the default values if it is
59345         not.
59346
59347 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59348
59349         * modules/argp (Files): Add argp-pin.c
59350         (Depends-on): dirname
59351         (lib_SOURCES): Add argp-pin.c
59352
59353 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59354
59355         * m4/argp.m4:  Check if program_invocation_name and
59356         program_invocation_short_name are declared and define appropriate
59357         macros if they are not.
59358
59359 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59360
59361         * lib/argp-help.c (__argp_base_name): New function
59362         (__argp_short_program_name): Rewrite using __argp_base_name
59363         * lib/argp-namefrob.h: Define program_invocation_name and
59364         program_invocation_short_name if requested
59365         (__argp_base_name): Add prototype
59366         * lib/argp-parse.c (argp_def): Use gettext wrappers
59367         (argp_default_parser): Use __argp_base_name
59368         * lib/argp-pin.c: New file. Defines program_invocation_name and
59369         program_invocation_short_name on systems that lack them.
59370
59371 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59372
59373         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
59374         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
59375         porting problem reported by Georg Schwarz in
59376         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
59377
59378 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59379
59380         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
59381         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
59382         porting problem reported by Georg Schwarz in
59383         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
59384
59385 2005-12-05  Bruno Haible  <bruno@clisp.org>
59386
59387         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
59388         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
59389         Reported by Mark Junker <mjscod@gmx.de>.
59390
59391 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
59392
59393         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
59394         Use implementation from Albert Chin, with some
59395         comments/corrections by Stepan Kasal and myself.
59396
59397 2005-12-02  Bruno Haible  <bruno@clisp.org>
59398
59399         * gnulib-tool (func_import): Accept GPLed build tool modules when
59400         --lgpl is given.
59401         * modules/csharpcomp-script: New file.
59402         * modules/csharpcomp: Depend on it.
59403         * modules/javacomp-script: New file.
59404         * modules/javacomp: Depend on it.
59405         Suggested by Simon Josefsson.
59406
59407 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
59408
59409         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
59410         statement, to work around an HP-UX 10.20 compiler bug reported by
59411         Peter O'Gorman.
59412
59413 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
59414
59415         * modules/savedir (Depends-on): Add openat.
59416
59417 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
59418
59419         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
59420         (uintmax_t) [defined uintmax_t]: Do not declare.
59421         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
59422         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
59423         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
59424         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
59425         sake of portability to weird hosts that C allows (though we don't
59426         know of any practical examples).
59427
59428         * lib/savedir.h (fdsavedir): New decl.
59429         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
59430         contains most of the former guts of savedir.
59431         (savedir): Use savedirstream.
59432         Include "openat.h".
59433
59434 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59435
59436         * modules/obstack (Files): Add m4/ulonglong.m4.
59437         Problem reported by Davide Angelocola.
59438
59439 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59440
59441         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
59442         coreutils no longer futzes with rounding modes.
59443
59444 2005-11-14  Jim Meyering  <jim@meyering.net>
59445
59446         * lib/mkstemp-safer.c: Include <config.h>, required for possible
59447         replacement of mkstemp.
59448
59449 2005-11-10  Simon Josefsson  <jas@extundo.com>
59450
59451         * lib/readline.c: Remove EOL.
59452
59453 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59454
59455         * modules/gethrxtime (Depends-on): Add gettime.
59456
59457 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59458
59459         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
59460         or gettimeofday; no longer needed.
59461
59462 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59463
59464         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
59465         time business.
59466         (gethrxtime) [! (HAVE_NANOUPTIME
59467         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
59468         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
59469         our own approximation.
59470
59471 2005-11-08  Eric Blake  <ebb9@byu.net>
59472
59473         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
59474
59475 2005-11-08  Eric Blake  <ebb9@byu.net>
59476
59477         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
59478
59479 2005-11-04  Bruno Haible  <bruno@clisp.org>
59480
59481         * gnulib-tool: Implement --update mode.
59482
59483 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59484
59485         Fix porting problem reported by Theodoros V. Kalamatianos.
59486         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
59487         Don't assume that futimes failing means we must fail.
59488
59489 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59490
59491         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
59492         variables to suggest the intended function of the PATH_MAX check.
59493
59494 2005-10-30  Kean Johnston  <jkj@sco.com>
59495
59496         Trivial changes to support SCO systems.
59497         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
59498         as PATH_MAX.
59499         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
59500         where __ptr is null when no I/O is pending.
59501
59502 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
59503
59504         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
59505         leave errno alone.  Problem reported by Dmitry V. Levin.
59506
59507 2005-10-28  Simon Josefsson  <jas@extundo.com>
59508
59509         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
59510         Test more.
59511
59512         * tests/test-gc-md2.c, tests/test-md2.c: New files.
59513
59514         * modules/md2, modules/md2-tests: New files.
59515
59516 2005-10-28  Simon Josefsson  <jas@extundo.com>
59517
59518         * m4/inet_ntop.m4: More tests.
59519
59520         * m4/gc-md2.m4, md2.m4: New file.
59521
59522 2005-10-28  Simon Josefsson  <jas@extundo.com>
59523
59524         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
59525         "restrict" keywords, as per POSIX.  Protect the function
59526         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
59527         Don't use K&R prototypes.  Check the sprintf return values.
59528         Re-define EAFNOSUPPORT if not present.  Indent.
59529
59530         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
59531         suggested by Bruno Haible <bruno@clisp.org>.
59532
59533         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
59534
59535         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
59536
59537         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
59538         libgcrypt).
59539
59540         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
59541
59542         * lib/md2.h, lib/md2.c: New files.
59543
59544 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
59545
59546         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
59547         errno alone.  Problem reported by Frederic Jolliton.
59548
59549 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
59550
59551         * modules/verify (License): Change from GPL to LGPL.  This is a
59552         tiny module and there are apparently near-equivalents that are
59553         under the BSD license.
59554
59555 2005-10-24  Simon Josefsson  <jas@extundo.com>
59556
59557         * modules/sha1: Relicense to LGPL.
59558
59559 2005-10-24  Simon Josefsson  <jas@extundo.com>
59560
59561         * lib/md4.h: Shrink buffer size, now that we changed the type.
59562
59563 2005-10-23  Simon Josefsson  <jas@extundo.com>
59564
59565         * gnulib-tool (func_import): Fix --tests-base.
59566
59567 2005-10-22  Simon Josefsson  <jas@extundo.com>
59568
59569         * modules/arcfour (Depends-on): Need stdint.
59570
59571 2005-10-22  Simon Josefsson  <jas@extundo.com>
59572
59573         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
59574         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
59575
59576 2005-10-22  Simon Josefsson  <jas@extundo.com>
59577
59578         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
59579         suggested by Bruno Haible <bruno@clisp.org>.
59580
59581 2005-10-22  Simon Josefsson  <jas@extundo.com>
59582
59583         * lib/crc.h: Include stddef.h, for size_t.
59584
59585 2005-10-22  Simon Josefsson  <jas@extundo.com>
59586
59587         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
59588         arcfour_context struct (simplify test vector testing in GNU
59589         Shishi).
59590
59591 2005-10-21  Simon Josefsson  <jas@extundo.com>
59592
59593         * modules/des, modules/des-tests: New files.
59594
59595         * modules/gc-des, modules/gc-des-tests: New files.
59596
59597         * tests/test-des.c, tests/test-gc-des.c: New file.
59598
59599 2005-10-21  Simon Josefsson  <jas@extundo.com>
59600
59601         * modules/arctwo, modules/arctwo-tests: New files.
59602
59603         * tests/test-arctwo.c: New file.
59604
59605         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
59606
59607         * tests/test-gc-arctwo.c: New file.
59608
59609 2005-10-21  Simon Josefsson  <jas@extundo.com>
59610
59611         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
59612         Bruno Haible <bruno@clisp.org>.
59613
59614         * m4/gc-des.m4: New file.
59615
59616 2005-10-21  Simon Josefsson  <jas@extundo.com>
59617
59618         * m4/arctwo.m4: New file.
59619
59620         * m4/gc-arctwo.m4: New file.
59621
59622 2005-10-21  Simon Josefsson  <jas@extundo.com>
59623
59624         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
59625         block.
59626
59627 2005-10-21  Simon Josefsson  <jas@extundo.com>
59628
59629         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
59630         <bruno@clisp.org>.
59631
59632         * lib/hmac-sha1.c (hmac_sha1): Likewise.
59633
59634         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
59635         Bruno Haible <bruno@clisp.org>.
59636
59637         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
59638         <bruno@clisp.org>.
59639
59640 2005-10-21  Simon Josefsson  <jas@extundo.com>
59641
59642         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
59643
59644 2005-10-21  Simon Josefsson  <jas@extundo.com>
59645
59646         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
59647
59648 2005-10-21  Simon Josefsson  <jas@extundo.com>
59649
59650         * lib/des.h, lib/des.c: New files.
59651
59652         * lib/gc-gnulib.c: Support DES.c
59653
59654 2005-10-21  Simon Josefsson  <jas@extundo.com>
59655
59656         * lib/arctwo.h, lib/arctwo.c: New files.
59657
59658         * lib/gc-gnulib.c: Support ARCTWO.
59659
59660 2005-10-21  Simon Josefsson  <jas@extundo.com>
59661
59662         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
59663         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59664
59665 2005-10-21  Simon Josefsson  <jas@extundo.com>
59666
59667         * gnulib-tool (func_import, func_create_testdir): Define automake
59668         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
59669         Makefile.am snippet),
59670         suggested by Bruno Haible <bruno@clisp.org>.
59671
59672         * modules/gc (Makefile.am): Use it.
59673
59674 2005-10-21  Bruno Haible  <bruno@clisp.org>
59675
59676         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
59677         patch.
59678
59679 2005-10-19  Simon Josefsson  <jas@extundo.com>
59680
59681         * tests/test-gc-rijndael.c: New file.
59682
59683         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
59684
59685 2005-10-19  Simon Josefsson  <jas@extundo.com>
59686
59687         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
59688         interface too.
59689
59690 2005-10-19  Simon Josefsson  <jas@extundo.com>
59691
59692         * tests/test-gc-arcfour.c: New file.
59693
59694         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
59695
59696 2005-10-19  Simon Josefsson  <jas@extundo.com>
59697
59698         * modules/gc-md4, modules/gc-md4-tests: New file.
59699
59700         * tests/test-gc-md4.c: New file.
59701
59702 2005-10-19  Simon Josefsson  <jas@extundo.com>
59703
59704         * m4/gc-md4.m4: New file.
59705
59706 2005-10-19  Simon Josefsson  <jas@extundo.com>
59707
59708         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
59709         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
59710         <kasal@ucw.cz>.
59711
59712 2005-10-19  Simon Josefsson  <jas@extundo.com>
59713
59714         * m4/gc-arcfour.m4: New file.
59715
59716         * m4/gc-rijndael.m4: New file.
59717
59718 2005-10-19  Simon Josefsson  <jas@extundo.com>
59719
59720         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
59721
59722 2005-10-19  Simon Josefsson  <jas@extundo.com>
59723
59724         * lib/gc-gnulib.c: Support ARCFOUR.
59725
59726 2005-10-19  Simon Josefsson  <jas@extundo.com>
59727
59728         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
59729         support.
59730
59731         * lib/gc.h: Add ECB enum type.
59732
59733         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
59734
59735 2005-10-18  Simon Josefsson  <jas@extundo.com>
59736
59737         * tests/test-md5.c: New file.
59738
59739         * modules/md5-tests: New file.
59740
59741 2005-10-18  Simon Josefsson  <jas@extundo.com>
59742
59743         * tests/test-md4.c: New file.
59744
59745         * modules/md4, modules/md4-tests: New files.
59746
59747 2005-10-18  Simon Josefsson  <jas@extundo.com>
59748
59749         * m4/md4.m4: New file.
59750
59751 2005-10-18  Simon Josefsson  <jas@extundo.com>
59752
59753         * lib/md4.h, lib/md4.c: New files, based on md5.?.
59754
59755 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
59756
59757         * gnulib-tool (func_create_testdir): Omit the second check whether
59758         BUILT_SOURCES in nonempty.
59759
59760 2005-10-17  Simon Josefsson  <jas@extundo.com>
59761
59762         * tests/test-rijndael.c: New file.
59763
59764 2005-10-17  Simon Josefsson  <jas@extundo.com>
59765
59766         * modules/sha1: Depend on stdint instead of md5.
59767
59768         * modules/md5: Depend on stdint, remove uint32_t.
59769
59770 2005-10-17  Simon Josefsson  <jas@extundo.com>
59771
59772         * modules/gc-sha1-tests: New file.
59773
59774         * tests/test-gc-sha1.c: New file.
59775
59776 2005-10-17  Simon Josefsson  <jas@extundo.com>
59777
59778         * m4/md5.m4: Remove call to uint32_t.m4.
59779
59780 2005-10-17  Simon Josefsson  <jas@extundo.com>
59781
59782         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
59783
59784         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
59785         md5.h.
59786
59787         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
59788
59789         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
59790
59791 2005-10-17  Simon Josefsson  <jas@extundo.com>
59792
59793         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
59794
59795 2005-10-17  Simon Josefsson  <jas@extundo.com>
59796
59797         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
59798
59799 2005-10-17  Simon Josefsson  <jas@extundo.com>
59800
59801         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
59802
59803         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
59804
59805 2005-10-17  Bruno Haible  <bruno@clisp.org>
59806
59807         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
59808         that it can also be used in a test.
59809
59810 2005-10-16  Bruno Haible  <bruno@clisp.org>
59811
59812         * gnulib-tool (func_emit_tests_Makefile_am): Also define
59813         TESTS_ENVIRONMENT, so that individual tests can augment it.
59814
59815         * gnulib-tool (func_create_testdir): Use an intermediate target for
59816         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
59817         macros, like $(ALLOCA_H), which cannot be passed through the command
59818         line.
59819
59820 2005-10-15  Simon Josefsson  <jas@extundo.com>
59821
59822         * modules/rijndael-tests: New file.
59823
59824         * modules/rijndael: New file.
59825
59826 2005-10-15  Simon Josefsson  <jas@extundo.com>
59827
59828         * m4/rijndael.m4: New file.
59829
59830 2005-10-15  Simon Josefsson  <jas@extundo.com>
59831
59832         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
59833
59834         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
59835
59836 2005-10-14  Simon Josefsson  <jas@extundo.com>
59837
59838         * tests/test-arcfour.c: New file.
59839
59840         * modules/arcfour, modules/arcfour-tests: New files.
59841
59842 2005-10-14  Simon Josefsson  <jas@extundo.com>
59843
59844         * m4/arcfour.m4: New file.
59845
59846 2005-10-14  Simon Josefsson  <jas@extundo.com>
59847
59848         * lib/arcfour.h, lib/arcfour.c: New files.
59849
59850 2005-10-14  Roland McGrath  <roland@redhat.com>
59851
59852         Import from libc.  [BZ #1331]
59853         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
59854         macro argument.
59855         Reported by Matej Vela <vela@debian.org>.
59856
59857 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59858
59859         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
59860         include <wchar.h>; no longer needed.
59861
59862 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59863
59864         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
59865
59866 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
59867         and  Ulrich Drepper  <drepper@redhat.com>
59868
59869         Import from libc.
59870         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
59871         instead of inline stream orientation test and two separate
59872         function calls.  Pay no attention to USE_IN_LIBIO.
59873
59874 2005-10-13  Simon Josefsson  <jas@extundo.com>
59875
59876         * modules/gc-hmac-md5-tests: New file.
59877
59878         * tests/test-gc-hmac-sha1.c: New file.
59879
59880         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
59881
59882         * modules/gc-hmac-md5-tests: New file.
59883
59884         * tests/test-gc-md5.c: New file.
59885
59886         * modules/gc-md5-tests: New file.
59887
59888 2005-10-13  Simon Josefsson  <jas@extundo.com>
59889
59890         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
59891         Move memory allocation outside of loop.
59892
59893 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
59894
59895         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
59896         intermediate directory is in a read-only file system.  Problem
59897         reported by Eric Blake.
59898
59899 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
59900
59901         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
59902
59903 2005-10-12  Simon Josefsson  <jas@extundo.com>
59904
59905         * tests/test-hmac-sha1.c: New file.
59906
59907         * modules/hmac-sha1-tests: New file.
59908
59909         * modules/hmac-sha1: New file.
59910
59911 2005-10-12  Simon Josefsson  <jas@extundo.com>
59912
59913         * modules/gc-sha1: New file.
59914
59915 2005-10-12  Simon Josefsson  <jas@extundo.com>
59916
59917         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
59918
59919         * tests/test-gc-pbkdf2-sha1.c: New file.
59920
59921 2005-10-12  Simon Josefsson  <jas@extundo.com>
59922
59923         * modules/gc-md5, modules/gc-hmac-md5: New files.
59924
59925         * modules/gc (Files): Remove md5, memxor and hmac files.
59926
59927 2005-10-12  Simon Josefsson  <jas@extundo.com>
59928
59929         * m4/gc-pbkdf2-sha1.m4: New file.
59930
59931         * m4/gc-hmac-sha1.m4: New file.
59932
59933         * m4/gc-sha1: New file.
59934
59935         * m4/hmac-sha1.m4: New file.
59936
59937 2005-10-12  Simon Josefsson  <jas@extundo.com>
59938
59939         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
59940
59941         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
59942
59943 2005-10-12  Simon Josefsson  <jas@extundo.com>
59944
59945         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
59946         suggested by Bruno Haible <bruno@clisp.org>.
59947
59948 2005-10-12  Simon Josefsson  <jas@extundo.com>
59949
59950         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
59951
59952 2005-10-12  Simon Josefsson  <jas@extundo.com>
59953
59954         * lib/gc-pbkdf2-sha1.c: New file.
59955
59956         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
59957
59958 2005-10-12  Simon Josefsson  <jas@extundo.com>
59959
59960         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
59961
59962         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
59963
59964 2005-10-12  Simon Josefsson  <jas@extundo.com>
59965
59966         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
59967         GC_USE_HMAC_MD5, respectively.
59968
59969         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
59970         (gc_md5): Fix typo.
59971
59972         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
59973
59974         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
59975
59976         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
59977
59978 2005-10-12  Bruno Haible  <bruno@clisp.org>
59979
59980         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
59981         Reported by Stepan Kasal <kasal@ucw.cz>.
59982
59983 2005-10-11  Simon Josefsson  <jas@extundo.com>
59984
59985         * tests/test-crc.c: New file.
59986
59987         * modules/crc, modules/crc-tests: New files.
59988
59989 2005-10-11  Simon Josefsson  <jas@extundo.com>
59990
59991         * m4/crc.m4: New file.
59992
59993 2005-10-11  Simon Josefsson  <jas@extundo.com>
59994
59995         * lib/gc.h: Add gc_hash and gc_hash_buffer.
59996
59997         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
59998
59999         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
60000
60001 2005-10-11  Simon Josefsson  <jas@extundo.com>
60002
60003         * lib/crc.h, lib/crc.c: New files.
60004
60005         * lib/gc.h (gc_hash_buffer): Add doc.
60006
60007 2005-10-11  Bruno Haible  <bruno@clisp.org>
60008
60009         * modules/c-strcasestr: New file.
60010         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
60011
60012 2005-10-11  Bruno Haible  <bruno@clisp.org>
60013
60014         * modules/c-strcase: New file.
60015         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
60016
60017 2005-10-11  Bruno Haible  <bruno@clisp.org>
60018
60019         * lib/strcasecmp.c: Include limits.h.
60020         (strcasecmp): Avoid integer overflow on exotic platforms.
60021         * lib/strncasecmp.c: Include limits.h.
60022         (strncasecmp): Avoid integer overflow on exotic platforms.
60023         Reported by Paul Eggert.
60024
60025 2005-10-11  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/c-strcasestr.h: New file, from GNU gettext.
60028         * lib/c-strcasestr.c: New file, from GNU gettext.
60029
60030 2005-10-11  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/c-strcase.h: New file, from GNU gettext.
60033         * lib/c-strcasecmp.c: New file, from GNU gettext.
60034         * lib/c-strncasecmp.c: New file, from GNU gettext.
60035
60036 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60037
60038         * modules/mempcpy (License): GPL -> LGPL.
60039         * modules/strchrnul (License): Likewise.
60040         * modules/sysexits (License): Likewise.
60041
60042 2005-10-08  Simon Josefsson  <jas@extundo.com>
60043
60044         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
60045
60046 2005-10-07  Simon Josefsson  <jas@extundo.com>
60047
60048         * m4/memxor.m4: Remove gl_C_RESTRICT call.
60049
60050 2005-10-06  Simon Josefsson  <jas@extundo.com>
60051
60052         * tests/test-hmac-md5.c: New file.
60053
60054         * modules/hmac-md5-tests: New file.
60055
60056         * modules/hmac-md5: New file.
60057
60058 2005-10-06  Simon Josefsson  <jas@extundo.com>
60059
60060         * m4/hmac-md5.m4: New file.
60061
60062         * m4/memxor.m4: Require gl_C_RESTRICT.
60063
60064 2005-10-06  Simon Josefsson  <jas@extundo.com>
60065
60066         * lib/memxor.c (memxor): Avoid casts and warnings.
60067
60068 2005-10-06  Simon Josefsson  <jas@extundo.com>
60069
60070         * lib/hmac-md5.c: New file.
60071
60072         * lib/hmac.h: New file.
60073
60074 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60075
60076         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
60077         promotes to int, not unsigned int, to catch the AIX 5.3
60078         compiler bug.
60079
60080 2005-10-05  Simon Josefsson  <jas@extundo.com>
60081
60082         * modules/memxor: New file.
60083
60084         * modules/iconv (Files): Move config.rpath to havelib, it is used
60085         there.
60086
60087         * modules/havelib (Files): Add config.rpath.
60088
60089 2005-10-05  Simon Josefsson  <jas@extundo.com>
60090
60091         * m4/memxor.m4: New file.
60092
60093 2005-10-05  Simon Josefsson  <jas@extundo.com>
60094
60095         * lib/memxor.c (memxor): Fix compiler error.
60096
60097         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
60098         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
60099
60100         * lib/memxor.h, lib/memxor.c: New files.
60101
60102         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
60103         we assume all systems have it, suggested by Jim Meyering
60104         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
60105         any systems lack sys/socket.h; mingw32 is known to lack it, but we
60106         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
60107         same reasons.
60108
60109 2005-10-05  Simon Josefsson  <jas@extundo.com>
60110
60111         * config/srclist.txt: Add glibc bug 1423 for md5.h.
60112
60113 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
60114
60115         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
60116         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
60117         needed, since the source code now assumes these .h files.
60118
60119 2005-10-05  Derek Price  <derek@ximbiot.com>
60120
60121         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
60122
60123 2005-10-05  Bruno Haible  <bruno@clisp.org>
60124
60125         * modules/stdint (License): Change to LGPL.
60126
60127 2005-10-04  Simon Josefsson  <jas@extundo.com>
60128
60129         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
60130         D. Baushke" <mdb@gnu.org>.
60131
60132 2005-10-04  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/verify.h (verify_true): Provide alternative definition for C++.
60135
60136 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
60137
60138         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
60139         (SSIZE_MAX): New macro, if not already defined.
60140         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
60141         than 2 GiB.
60142
60143 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60144
60145         Sync from coreutils.
60146         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
60147         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
60148         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
60149         ULLONG_MAX doesn't work with 2.7.2.1.
60150
60151 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60152
60153         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
60154         From Ben Pfaff.
60155
60156         * modules/exclude (Depends-on): Depend on verify.
60157         * modules/strtoimax (Depends-on): Likewise.
60158         * modules/utimecmp (Depends-on): Likewise.
60159
60160 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60161
60162         * lib/exclude.c: Include verify.h.
60163         (verify): Remove.  All callers changed to use verify.h's version.
60164         * lib/strtoimax.c: Likewise.
60165         * lib/utimecmp.c: Likewis.e
60166
60167         Sync from coreutils.
60168         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
60169         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
60170         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
60171         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
60172         bother returning ENOSYS if settimeofday or stime fails; just let
60173         them return whatever errno they want to return.
60174         * lib/utimens.c: Include unistd.h, for dup2.
60175         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
60176         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
60177
60178 2005-10-02  Jim Meyering  <jim@meyering.net>
60179
60180         Sync from coreutils.
60181         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
60182         from glibc-2.2.5 that fails for read-only files.
60183
60184 2005-10-02  Jim Meyering  <jim@meyering.net>
60185
60186         Sync from coreutils.
60187         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
60188         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
60189         `#if HAVE_CONFIG_H'.
60190         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
60191         Remove AT_FDCWD test.
60192         Do not consume the fd unless successful.
60193         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
60194         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
60195         block, so that we don't even try to compile it if settimeofday is
60196         available.  This works around a compilation failure on OSF1 V5.1,
60197         due to stime requiring a `long int*' while tv_sec is `int'.
60198
60199 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
60200
60201         Sync from coreutils.
60202         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
60203         against `yes', rather than just testing for nonempty.
60204
60205 2005-10-01  Simon Josefsson  <jas@extundo.com>
60206
60207         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
60208         and Darwin.
60209
60210         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
60211         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
60212         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
60213         freeaddrinfo and gai_strerror are declared by the POSIX headers.
60214         Check if struct addrinfo is declared.
60215
60216 2005-10-01  Simon Josefsson  <jas@extundo.com>
60217
60218         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
60219         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
60220         AI_* and EAI_* definitions.  Protect function declarations.
60221
60222 2005-10-01  Jim Meyering  <jim@meyering.net>
60223
60224         Sync from coreutils.
60225
60226         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
60227         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
60228         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
60229         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
60230         in the inet and nsl libraries.  Required on Solaris 5.7.
60231
60232 2005-10-01  Jim Meyering  <jim@meyering.net>
60233
60234         Sync from coreutils.
60235         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
60236         in the inet and nsl libraries.  Required on Solaris 5.7.
60237
60238 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
60239
60240         * lib/getdelim.c (getdelim): Remove unused variables.
60241
60242 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60243
60244         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
60245         so that the code works even with ancient cpp.  Portability problem
60246         with GCC 2.7.2.1 reported by Thomas M.Ott.
60247
60248 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60249
60250         * modules/regex (Depends-on): Add strcase.
60251
60252         * modules/gethostname (Licence): Change from GPL to LGPL, since
60253         gethostname.c is a trivial implementation of a standard library
60254         function.
60255         * modules/poll (License): Change from GPL to LGPL, since it's
60256         derived from LGPL code.
60257
60258 2005-09-27  Jim Meyering  <jim@meyering.net>
60259
60260         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
60261         HAVE_CONFIG_H.
60262
60263         * lib/intprops.h (signed_type_or_expr__): Define.
60264         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
60265         for unsigned types.
60266
60267 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60268
60269         * lib/verify.h (verify_expr): Remove, replacing with:
60270         (verify_true): New macro that returns true instead of void.
60271         (verify_type__): Remove.
60272         (verify): Use verify_true rather than verify_type__.
60273
60274 2005-09-26  Bruno Haible  <bruno@clisp.org>
60275
60276         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
60277         is necessary.
60278         (lib_SOURCES): Remove mbchar.c.
60279         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
60280         (Files): Add m4/mbrtowc.m4.
60281         * modules/mbiter: Likewise.
60282         * modules/mbuiter: Likewise.
60283
60284 2005-09-26  Bruno Haible  <bruno@clisp.org>
60285
60286         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
60287         compile mbchar.c if they are not both present.
60288         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
60289         * m4/mbiter.m4 (gl_MBITER): Likewise.
60290         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
60291         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
60292         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
60293
60294 2005-09-25  Jim Meyering  <jim@meyering.net>
60295
60296         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
60297         also uses socklen_t.
60298
60299 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
60300
60301         * lib/utimens.c (ENOSYS): Define if not already defined.
60302         (futimens): Support having a null PATH if the file descriptor
60303         is nonnegative.
60304
60305         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
60306         Remove.
60307         (__attribute): Define to empty unless GCC 3.1 or later.
60308         This works around a core dump on OpenBSD 3.4, which has GCC
60309         2.95.3, which dumps core when given __attribute__(()).  It also
60310         simplifies other tests, since we really don't want to bother with
60311         worrying about which ancient version of GCC supported what.
60312         Original problem reported by Yoann Vandoorselaere, with part of
60313         the fix suggested by Derek Price.
60314
60315 2005-09-24  Jim Meyering  <jim@meyering.net>
60316
60317         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
60318         so we can once again use a positive bitfield width of 1 -- now we
60319         don't have to explain why we were using a bitfield width of 2.
60320
60321 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
60322
60323         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
60324         and similarly for the other external symbols.  Problem reported
60325         by James Gallager.
60326
60327         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
60328         bug reported by Jim Meyering.
60329
60330         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
60331         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
60332         not needed, since socklen is a prerequisite module.
60333
60334 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
60335
60336         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
60337         Problem reported by Eric Blake.
60338         (getaddrinfo): Initialize se so that it's not garbage.
60339         Redo internal storage allocation so that it doesn't make unportable
60340         assumptions about alignment.
60341         Fix a memory leak.
60342
60343         * lib/utimens.c (futimens): Use futimesat if available.
60344         Prefer it to futimes since it doesn't have the futimes bug.
60345
60346         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
60347         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
60348         Instead, declare a function that returns a pointer to an array,
60349         and use verify_type__ to declare the size of the array.
60350         Problem and germ of a solution reported by Bruno Haible.
60351         (verify_type__): Use 2, not 1, for bitfield size, to avoid
60352         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
60353
60354 2005-09-23  Jim Meyering  <jim@meyering.net>
60355
60356         Sync from coreutils.
60357         Correct build failure (socklen_t not defined) on at least
60358         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
60359         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
60360
60361 2005-09-23  Jim Meyering  <jim@meyering.net>
60362
60363         * modules/getaddrinfo (Depends-on): Add socklen.
60364
60365 2005-09-23  Bruno Haible  <bruno@clisp.org>
60366
60367         * tests/test-verify.c: New file.
60368
60369 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60370
60371         Sync from coreutils.
60372
60373         * modules/argmatch (Depends-on): Add verify.
60374         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
60375         unistd-safer.
60376         * modules/save-cwd (Depends-on): Likewise.
60377
60378         * modules/openat (Files): Add lib/openat-die.c.
60379         (Depends-on): Remove error, exitfail.
60380         Add dirname.
60381
60382         * modules/verify: New file.
60383         * MODULES.html.sh (Diagnostics <assert.h>): New section,
60384         with "verify" module.
60385
60386 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60387
60388         Sync from coreutils.
60389
60390         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
60391         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
60392         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
60393         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
60394         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
60395         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
60396         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
60397         Don't bother checking for string.h, stdlib.h, unistd.h.
60398         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
60399         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
60400         module's job.
60401         * m4/jm-macros.m4 (gl_MACROS): Likewise.
60402         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
60403
60404         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
60405         (gl_GETDATE): Use it.
60406
60407         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
60408
60409 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60410
60411         Sync from coreutils.
60412
60413         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
60414         stat-time.h.
60415         * lib/argmatch.h: Include verify.h
60416         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
60417         (ARGMATCH_ASSERT): Remove; unused.
60418         * lib/canonicalize.c: Assume STDC_HEADERS.
60419         * lib/exclude.c: Include "strcase.h".
60420         * lib/regex_internal.h [!defined _LIBC]: Likewise.
60421         * lib/getusershell.c: Include stdio--.h rather than stdio.h
60422         and stdio-safer.h.
60423         (getusershell): Call fopen, not fopen_safer.
60424         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
60425         Do not include unistd-safer.h.
60426         (save_cwd): Don't call fd_safer; no longer needed
60427         now that we include fcntl--.h.
60428
60429         * lib/getdate.y (relative_time): New type.
60430         (RELATIVE_TIME_0): New constant.
60431         (parser_control): Use relative_time instead of doing it ourselves.
60432         (%union): Add new relative_time rel member.
60433         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
60434         Now typeless.
60435         (relunit, relunit_snumber): Now of type rel.
60436         (zone, rel, relunit, get_date): Adjust to above changes.
60437
60438         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
60439         Do not include unistd-safer.h.
60440         (getloadavg): Don't call fd_safer; no longer needed
60441         now that we include fcntl--.h.
60442
60443         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
60444         (make_dir_parents): Treat ENOSYS like EEXIST.
60445
60446         Improve quality of diagnostics on restore_cwd failure.
60447         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
60448         (make_dir_parents): Last arg is now int * (for errno), not bool *.
60449         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
60450         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
60451         each time through the loop.  Do not diagnose restore_cwd failure;
60452         that is the caller's job (and perhaps the caller does not care).
60453
60454         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
60455         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
60456         If the file already exists but is not a directory, don't bother
60457         to try to make its parents.
60458         Close potential file descriptor leak if we can't chdir("/") (!).
60459         Don't always return true if chdir($PWD) fails; return true only
60460         if the requested action was done successfully (except for the
60461         chdir($PWD)).
60462         Don't log final directory unless we actually made it.
60463         Refactor to avoid duplicate code to fix up permissions.
60464         Don't attempt to fix up parent permissions if chdir($PWD) fails.
60465
60466         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
60467         to make it a bit faster and (I hope) clearer.
60468         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
60469         Fix bug in formats like %2N.
60470
60471         * lib/verify.h: New file.
60472
60473 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60474
60475         Sync from coreutils.
60476         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
60477
60478 2005-09-22  Jim Meyering  <jim@meyering.net>
60479
60480         Sync from coreutils.
60481
60482         * m4/lstat.m4 (gl_FUNC_LSTAT):
60483         Use AC_LIBSOURCES to require lstat.c and lstat.h.
60484         Remove obsolete comment.
60485         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
60486         * m4/xstrtod.m4: Likewise.
60487
60488         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
60489
60490 2005-09-22  Jim Meyering  <jim@meyering.net>
60491
60492         Sync from coreutils.
60493
60494         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
60495
60496         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
60497         the .tm_year member, since otherwise gcc-4.0 would now warn about
60498         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
60499
60500         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
60501         order to avoid an unsuppressible warning from gcc on 64-bit systems.
60502
60503         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
60504         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
60505         when run in a time zone for which daylight savings time is in effect
60506         for the starting date.
60507
60508         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
60509         stop us from restricting permissions of just-created absolute-named
60510         directories.
60511         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
60512         to restore initial working directory.
60513         * lib/mkdir-p.c (make_dir_parents): New parameter:
60514         different_working_dir, to tell caller if/when we change the working
60515         directory and are unable to return to the initial one.
60516         * lib/mkdir-p.h (make_dir_parents): Update prototype.
60517         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
60518         `return false'.  This fixes a bug introduced on 2004-07-30.
60519
60520         * lib/openat.c (fdopendir): Be sure to close the supplied
60521         file descriptor before returning.  This makes our replacement
60522         implementation a little closer to Solaris's, where fdopendir
60523         ties the file descriptor to the returned DIR* pointer.
60524         * lib/openat.c (unlinkat): New function.
60525         * lib/openat.h (unlinkat): Add prototype.
60526         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
60527         (openat_restore_fail): Rename from openat_restore_die.
60528         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
60529
60530         Provide an alternative to exiting immediately upon save_cwd or
60531         restore_cwd failure.  Now, an application can arrange e.g.,
60532         to perform a longjump in that case.
60533         * lib/openat.c: Include dirname.h.
60534         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
60535         (rpl_openat, fdopendir, fstatat): Call openat_save_die
60536         and openat_restore_die rather than calling error directly.
60537         Don't include "error.h" or "exitfail.h"; they're no longer needed.
60538
60539         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
60540         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
60541         define.
60542
60543         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
60544         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
60545                             int utc, int nanoseconds);
60546         Background:
60547         date should not have to allocate a megabyte of virtual memory to
60548         handle a format argument like +%1048575T.  When implemented with
60549         strftime, it must allocate such a buffer, use strftime to fill it
60550         in, print it, then free it.
60551         With fprintftime, it simply prints everything and exits.
60552         With no need for memory allocation, that's one fewer way to fail.
60553         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
60554         optional field width, not before, so we accept %9:z, not %:9z.
60555         (my_strftime): Be sure to use L_('x') for literals.
60556
60557         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
60558         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
60559         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
60560         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
60561         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
60562         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
60563         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
60564         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
60565         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
60566         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
60567         * lib/xgethostname.c, lib/xreadlink.c:
60568         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
60569
60570         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
60571         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
60572         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
60573         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
60574         and don't include <sys/file.h>).
60575
60576 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
60577
60578         Sync from coreutils.
60579
60580         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
60581         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
60582         [!LDAV_DONE]: Avoid unused variable warning.
60583
60584 2005-09-21  Bruno Haible  <bruno@clisp.org>
60585
60586         * lib/unicodeio.h (unicode_to_mb): New declaration.
60587
60588 2005-09-20  Derek Price  <derek@ximbiot.com>
60589
60590         * lib/getaddrinfo.c: Don't include <netdb.h> included from
60591         getaddrinfo.h.
60592
60593 2005-09-20  Bruno Haible  <bruno@clisp.org>
60594
60595         * gnulib-tool: Remove trailing slashes from the values specified for
60596         --source-base, --m4-base, --tests-base, --aux-dir.
60597         Suggested by Simon Josefsson <jas@extundo.com>.
60598
60599 2005-09-20  Bruno Haible  <bruno@clisp.org>
60600
60601         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
60602         func_modules_to_filelist, func_import, func_create_testdir): Make all
60603         sorting results locale-independent, so that gnulib-cache.m4 doesn't
60604         change when gnulib-tool is invoked in a different locale.
60605
60606 2005-09-19  Simon Josefsson  <jas@extundo.com>
60607
60608         * m4/socklen.m4: Fix typo.
60609
60610 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60611
60612         Use a consistent style for including <config.h>.
60613         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
60614         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
60615         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
60616         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
60617         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
60618         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
60619         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
60620         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
60621         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
60622         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
60623         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
60624         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
60625         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
60626         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
60627         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
60628         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
60629         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
60630         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
60631         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
60632         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
60633         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
60634         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
60635         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
60636         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
60637         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
60638         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
60639         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
60640         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
60641         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
60642         lib/xstrtoumax.c, lib/yesno.c:
60643         Standardize inclusion of config.h.
60644         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
60645         lib/inttostr.h:  Removed inclusion of config.h from header files.
60646         * lib/inttostr.c:  Adjusted in-tree users.
60647         * lib/timespec.h: Remove superfluous warning to include config.h.
60648         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
60649         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
60650         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
60651         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
60652         config.h with HAVE_CONFIG_H.
60653
60654 2005-09-19  Jim Meyering  <jim@meyering.net>
60655
60656         * modules/pathmax (License): Change to LGPL.
60657
60658 2005-09-19  Derek Price  <derek@ximbiot.com>
60659
60660         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
60661
60662 2005-09-19  Bruno Haible  <bruno@clisp.org>
60663
60664         * gnulib-tool (import): Provide default for --tests-base.
60665
60666 2005-09-19  Bruno Haible  <bruno@clisp.org>
60667
60668         * doc/quote.texi: New file, extracted from gnulib.texi.
60669         * doc/ctime.texi: New file, extracted from gnulib.texi.
60670         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
60671         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
60672         * doc/gnulib.texi: Include them.
60673
60674 2005-09-18  Bruno Haible  <bruno@clisp.org>
60675
60676         Portability fix.
60677         * gnulib-tool (func_readlink): New function.
60678         (func_ln_if_changed): Use it.
60679
60680 2005-09-18  Bruno Haible  <bruno@clisp.org>
60681
60682         * gnulib-tool: Support --with-tests also with --import.
60683         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
60684         (func_import): Use variables $testsbase and $inctests. Emit a
60685         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
60686         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
60687         SUBDIRS += $testsdir.
60688         (func_create_testdir): Update.
60689
60690 2005-09-18  Bruno Haible  <bruno@clisp.org>
60691
60692         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
60693         instead of $dry_run.
60694         (func_cp_if_changed, func_mv_if_changed): Remove functions.
60695         (func_ln_if_changed): Don't handle dry-run here.
60696         (func_import): In dry-run mode, detect more precisely which actions
60697         would be performed, and don't use "...ing" verbs.
60698
60699 2005-09-18  Bruno Haible  <bruno@clisp.org>
60700
60701         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
60702         (func_import): Use join on two temporary files instead of three nested
60703         loops, in order to determine which files are new or old.
60704
60705 2005-09-18  Bruno Haible  <bruno@clisp.org>
60706
60707         * gnulib-tool (func_import): Comment out code that spits out the
60708         new files with --dry-run.
60709
60710 2005-09-18  Bruno Haible  <bruno@clisp.org>
60711
60712         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
60713
60714 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60715
60716         * lib/stat-time.h: New file.
60717         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
60718         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
60719         in a different way.
60720         (timespec_cmp): New function.
60721         * lib/utimecmp.c: Include stat-time.h.
60722         (SYSCALL_RESOLUTION): Depend on whether various struct stat
60723         members exist, not on the obsolescent ST_MTIM_NSEC.
60724         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
60725
60726 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60727
60728         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
60729
60730 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60731
60732         * MODULES.html.sh (File system functions): Add stat-time.
60733         * modules/stat-time: New file.
60734         * modules/timespec (Files): Remove m4/st_mtim.m4; this
60735         is now done in a different way, by the stat-time module.
60736         * modules/utimecmp (Depends-on): Add stat-time.
60737
60738 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60739
60740         * m4/st_mtim.m4: Remove.  Superseded by...
60741         * m4/stat-time.m4: New file.
60742         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
60743         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
60744
60745 2005-09-15  Derek Price  <derek@ximbiot.com>
60746
60747         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
60748
60749 2005-09-15  Derek Price  <derek@ximbiot.com>
60750
60751         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
60752         * lib/regex_internal.c: Ditto, using this...
60753         (__GNUC_PREREQ): ...new macro.
60754         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
60755         using...
60756         (__GNUC_PREREQ): ...this new macro.
60757
60758         * lib/strstr.h: Include string.h. Define strstr as a macro here.
60759
60760 2005-09-15  Derek Price  <derek@ximbiot.com>
60761             Paul Eggert  <eggert@cs.ucla.edu>
60762
60763         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
60764         changes, consolidating in...
60765         * lib/regex_internal.h: ...this file.
60766
60767 2005-09-13  Jim Meyering  <jim@meyering.net>
60768
60769         * lib/canon-host.c: Filter through gnu indent and reword comments
60770         slightly.
60771         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
60772
60773 2005-09-13  Derek Price  <derek@ximbiot.com>
60774
60775         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
60776         failure.
60777         Reported by Jim Meyering  <jim@meyering.net>.
60778
60779 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60780
60781         * lib/base64.c: Typo.
60782         (base64_encode): Put b64str in initialized data section.
60783
60784 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
60785
60786         Merge glibc and coreutils changes into gnulib, plus a few
60787         extra fixes.
60788         * lib/md5.c: Use #error rather than a string.
60789         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
60790         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
60791         (__attribute__): Define to empty for non recent-GCC.
60792         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
60793         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
60794         Renamed from their non-__ counterparts, with new macros replacing
60795         them if not _LIBC.  Add __THROW attribute.
60796         (rol): Remove.
60797         (struct md5_ctx): Align buffer if using GCC.
60798         * lib/sha1.h (struct sha1_ctx): Likewise.
60799         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
60800         The old name was backwards.
60801         (NOTSWAP): Remove; not used.
60802         (rol): New macro, moved here from md5.h.
60803         (sha1_process_block): Remove a FIXME that doesn't make sense.
60804
60805 2005-09-12  Derek Price  <derek@ximbiot.com>
60806
60807         Return usable errors from canon-host.
60808         * lib/canon-host.h: New file.
60809         * lib/canon-host.c (canon_host): Wrap...
60810         (canon_host_r): ...this new function, which now relies exclusively on
60811         getaddrinfo.
60812         (ch_strerror): New function.
60813         (last_cherror): New global.
60814         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
60815         interface.
60816         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
60817         void *.
60818         (freeaddrinfo): Free ai->ai_canonname when set.
60819
60820 2005-09-12  Derek Price  <derek@ximbiot.com>
60821
60822         Make canon-host require getaddrinfo.
60823         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
60824         AC_LIBSOURCE canon-host.h.  Call...
60825         (gl_PREREQ_CANON_HOST): ...this new function, which requires
60826         gl_GETADDRINFO.
60827         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
60828
60829 2005-09-12  Derek Price  <derek@ximbiot.com>
60830
60831         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
60832         LGPL.
60833         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
60834
60835 2005-09-12  Derek Price  <derek@ximbiot.com>
60836
60837         * lib/gai_strerror.c: Include config.h when available.  Include
60838         getaddrinfo.h before other headers to test interface.
60839         Reported by Larry Jones <lawrence.jones@ugs.com>.
60840
60841 2005-09-12  Derek Price  <derek@ximbiot.com>
60842             Paul Eggert  <eggert@cs.ucla.edu>
60843
60844         * modules/glob (Files): Add glob-libc.h.
60845
60846 2005-09-12  Derek Price  <derek@ximbiot.com>
60847             Paul Eggert  <eggert@cs.ucla.edu>
60848
60849         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
60850         glob_.h, glob-libc.h.
60851         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
60852
60853 2005-09-12  Derek Price  <derek@ximbiot.com>
60854             Paul Eggert  <eggert@cs.ucla.edu>
60855
60856         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
60857         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
60858         protecting things that should be done only in gnulib contexts.
60859         * lib/glob_.h: New file, containing only the glob things needed for
60860         gnulib.
60861         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
60862         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
60863         (glob, globfree, glob_pattern_p): Now defined simply in terms of
60864         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
60865         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
60866         and to respect the namespace rules better.
60867
60868 2005-09-08  Simon Josefsson  <jas@extundo.com>
60869
60870         * modules/socklen: New file.
60871
60872 2005-09-08  Simon Josefsson  <jas@extundo.com>
60873
60874         * m4/socklen.m4: New file.
60875
60876 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60877
60878         * modules/utimens (Files): Add m4/utimbuf.m4, since
60879         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
60880         Reported by Sergey Poznyakoff.
60881
60882 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60883
60884         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
60885         definitions, since that's the preferred style in glibc.
60886         Fix a minor spacing issue, and update copyright notice to match
60887         glibc's.
60888
60889 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60890
60891         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
60892
60893 2005-09-06  Simon Josefsson  <jas@extundo.com>
60894
60895         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
60896         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
60897
60898 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60899
60900         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
60901         warning.
60902
60903 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60904
60905         * config/srclist.txt: Add glibc bug 1302.
60906
60907 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
60908
60909         Change bitset word type from unsigned int to unsigned long int,
60910         as this has better performance on typical 64-bit hosts.
60911         Port bitset code to hosts with unusual word sizes.
60912         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
60913         (build_collating_symbol):
60914         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
60915         argument is a bitset.  This is merely a style issue, but it makes
60916         it clearer that an entire array is expected.
60917         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
60918         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
60919         Port to the case where bitset_word is not the same as unsigned int.
60920         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
60921         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
60922         Likewise.
60923         * lib/regexec.c (check_dst_limits_calc_pos_1,
60924         check_subexp_matching_top):
60925         (build_trtable, group_nodes_into_DFAstates):
60926         Likewise.
60927         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
60928         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
60929         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
60930         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
60931         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
60932         * lib/regcomp.c (optimize_subexps, lower_subexp):
60933         Work even if bitset_word has holes in its bitwise representation.
60934         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
60935         * lib/regexec.c (check_dst_limits_calc_pos_1,
60936         check_subexp_matching_top):
60937         Likewise.
60938         * lib/regex_internal.c (re_string_reconstruct):
60939         Don't assume UCHAR_MAX == 255.
60940         * lib/regex_internal.h (bitset_set_all): Likewise.
60941         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
60942         All uses changed.
60943         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
60944         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
60945         All uses changed.
60946         (BITSET_WORD_MAX): New macro.
60947         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
60948         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
60949         (bitset_empty, bitset_copy):
60950         Prefer sizeof (bitset) to multiplying it out ourselves.
60951         (bitset_not_merge): Remove; unused.
60952         (bitset_contain): Return bool, not unsigned int with one bit on.
60953         All callers changed.
60954         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
60955         alignment than re_node_set; do this by defining a new internal
60956         type struct dests_alloc and using it to allocate memory.
60957
60958 2005-09-05  Bruno Haible  <bruno@clisp.org>
60959
60960         * gnulib-tool (func_import): Fix comparison in handling of symbolic
60961         links.
60962
60963 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
60964
60965         * modules/size_max (Makefile.am): Add size_max.h
60966
60967 2005-09-04  Derek Price  <derek@ximbiot.com>
60968
60969         * gnulib-tool (func_import): Fix reversed $symbolic logic.
60970
60971 2005-09-03  Simon Josefsson  <jas@extundo.com>
60972
60973         * gnulib-tool: Fix typo.
60974
60975 2005-09-03  Simon Josefsson  <jas@extundo.com>
60976
60977         * config/srclist.txt: Add glibc bug 1293.
60978
60979 2005-09-03  Derek Price  <derek@ximbiot.com>
60980
60981         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
60982         From Larry Jones <lawrence.jones@ugs.com>.
60983
60984 2005-09-02  Simon Josefsson  <jas@extundo.com>
60985
60986         * modules/socklen: New file.
60987
60988 2005-09-02  Simon Josefsson  <jas@extundo.com>
60989
60990         * modules/havelib: New module.
60991
60992         * modules/gettext, modules/iconv, modules/lock, modules/readline:
60993         Use havelib.
60994
60995 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
60996
60997         Check for arithmetic overflow when calculating sizes, to prevent
60998         some buffer-overflow issues.  These patches are conservative, in the
60999         sense that when I couldn't determine whether an overflow was possible,
61000         I inserted a run-time check.
61001         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
61002         macros.
61003         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
61004         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
61005         (re_xnrealloc, re_x2nrealloc): New inline functions.
61006         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
61007         parse_bracket_exp):
61008         (build_equiv_class, build_charclass): Check for arithmetic overflow
61009         in size expression calculations.
61010         * lib/regex_internal.c (re_string_realloc_buffers):
61011         (build_wcs_upper_buffer, re_node_set_add_intersect):
61012         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
61013         (re_dfa_add_node, register_state): Likewise.
61014         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
61015         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
61016         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
61017         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
61018
61019 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
61020
61021         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
61022         m4/ulonglong.m4.  Problem reported by Martin Lambers.
61023
61024 2005-09-02  Bruno Haible  <bruno@clisp.org>
61025
61026         Support for lib vs. lib64 distinction on biarch platforms.
61027         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
61028         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
61029         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
61030
61031 2005-09-02  Bruno Haible  <bruno@clisp.org>
61032
61033         * gnulib-tool (import): In the other first-use case, provide defaults
61034         as well.
61035
61036 2005-09-02  Bruno Haible  <bruno@clisp.org>
61037
61038         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
61039         patches not yet found in the latest gettext release.
61040
61041 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61042
61043         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
61044         to avoid a collision with bits/local_lim.h in glibc.
61045         All uses changed.  Problem reported by Dmitry V. Levin in
61046         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
61047
61048         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
61049         bugs in int versus size_t comparisons.
61050         (re_string_context_at): Fix bug where the code assumed that
61051         Idx is signed.
61052
61053         Use bool where appropriate.
61054         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
61055         All callers changed.
61056         (calc_eclosure_iter): Likewise, for ROOT arg.
61057         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
61058         (build_charclass_op): Likewise, for NON_MATCH arg.
61059         * lib/regex_internal.c (re_string_allocate, re_string_construct):
61060         (re_string_construct_common): Likewise, for ICASE arg.
61061         * lib/regexec.c (re_search_2_stub, re_search_stub):
61062         Likewise, for RET_LEN arg.
61063         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
61064         (set_regs): Likewise, for FL_BACKTRACK arg.
61065         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
61066         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
61067         (calc_eclosure_iter, parse_bracket_exp):
61068         Use bool for internal variables that are booleans.
61069         * lib/regexec.c (re_search_internal, check_matching,
61070         proceed_next_node):
61071         (set_regs, build_sifted_states, sift_states_bkref):
61072         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
61073         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
61074         (find_collation_sequence_value):
61075         Likewise.
61076         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
61077         (re_node_set_compare):
61078         Return bool, not int. All callers changed.
61079         * lib/regexec.c (check_halt_node_context, check_dst_limits):
61080         (build_trtable, check_node_accept): Likewise.
61081         * lib/regex_internal.h: Include stdbool.h.
61082
61083         Fix bugs uncovered when converting to bool.
61084         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
61085         failure instead of charging ahead blindly.
61086         * lib/regex_internal.c (register_state): Likewise.
61087         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
61088         for freeing internal storage.
61089         (group_nodes_into_DFA_states): Use unsigned int, not int, for
61090         bitset pieces used as boolean, to avoid undefined behavior
61091         on hosts that do int overflow checking.
61092
61093 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61094
61095         * config/srclist.txt: Add glibc bugs 1285-1287.
61096
61097 2005-09-01  Jim Meyering  <jim@meyering.net>
61098
61099         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
61100         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
61101         Require gl_STAT_MACROS, too.
61102
61103 2005-09-01  Bruno Haible  <bruno@clisp.org>
61104
61105         * gnulib-tool (import): In the first-use case, provide defaults.
61106
61107 2005-09-01  Bruno Haible  <bruno@clisp.org>
61108
61109         * gnulib-tool (func_import): Remove the .tmp files.
61110
61111 2005-09-01  Bruno Haible  <bruno@clisp.org>
61112
61113         * gnulib-tool (func_import): Fix handling of symbolic links.
61114
61115 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61116
61117         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
61118         old glibc regex code mishandles strings longer than 2**31 bytes.
61119         This patch fixes this when the regex code is used in gnulib
61120         (i.e., outside glibc).
61121
61122         This patch should not affect the use of the regex code inside
61123         glibc.  No doubt this problem also needs to be handled for glibc
61124         as well, but the result will be an incompatible change to the
61125         glibc ABI, and the old ABI will have to be supported too.  That
61126         can be the the subject for another patch.
61127
61128         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
61129         governing whether the rest of this patch is active.  By default,
61130         the macro is disabled and the patch has no effect.
61131         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
61132         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
61133         (struct re_pattern_buffer, re_search, re_search_2, re_match):
61134         (re_match_2, re_set_registers): Use the new types.
61135         * lib/regex_internal.h (Idx, re_hashval_t): New types.
61136         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
61137         New macros.
61138         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
61139         (re_string_context_at, bin_tree_t, re_dfastate_t):
61140         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
61141         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
61142         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
61143         (re_string_char_size_at, re_string_wchar_at):
61144         (re_string_elem_size_at):
61145         Use the new types and macros to port to 64-bit hosts.
61146         Use unsigned types for internal values, so that the code
61147         mostly works even for arrays larger than SSIZE_MAX.
61148         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
61149         (search_duplicated_node, calc_eclosure_iter, fetch_number):
61150         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
61151         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
61152         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
61153         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
61154         (calc_inveclosure, parse_dup_op, build_range_exp):
61155         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
61156         (fetch_number, create_token_tree, mark_opt_subexp):
61157         Likewise.
61158         * lib/regex_internal.c (re_string_construct_common,
61159         create_ci_newstate):
61160         (create_cd_newstate, re_string_allocate, re_string_construct):
61161         (re_string_realloc_buffers, build_wcs_upper_buffer):
61162         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
61163         (re_string_reconstruct, re_string_peek_byte_case):
61164         (re_string_fetch_byte_case, re_string_context_at):
61165         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
61166         (re_node_set_init_copy, re_node_set_add_intersect):
61167         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61168         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61169         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
61170         (re_acquire_state, re_acquire_state_context, register_state):
61171         Likewise.
61172         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
61173         search_cur_bkref_entry):
61174         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
61175         (re_search_internal, re_search_2_stub, re_search_stub)
61176         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
61177         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
61178         (update_cur_sifted_state, check_dst_limits):
61179         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
61180         (check_subexp_limits, sift_states_bkref, merge_state_array):
61181         (check_subexp_matching_top, get_subexp, get_subexp_sub):
61182         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
61183         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
61184         (expand_bkref_cache, check_node_accept_bytes):
61185         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
61186         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
61187         (acquire_init_state_context, check_halt_node_context):
61188         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
61189         (sift_states_backward, clean_state_log_if_needed):
61190         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
61191         (find_recover_state, transit_state_sb, transit_state_mb):
61192         (transit_state_bkref, build_trtable, match_ctx_clean):
61193         Likewise.
61194         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
61195         to work around an assumption that REG_MISSING is negative.
61196
61197         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
61198         (seek_collating_symbol_entry) [defined _LIBC]:
61199         (lookup_collation_sequence_value) [defined _LIBC]:
61200         (build_range_exp, build_collating_symbol) [defined _LIBC]:
61201         Use prototypes rather than old-style function definitions.
61202         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
61203         (transit_state_sb) [0]:
61204         (find_collation_sequence_value) [defined _LIBC]: Likewise.
61205
61206         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
61207         rm_eo.
61208
61209         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
61210         (optimize_subexps, lower_subexp):
61211         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
61212         since the signed shift might overflow.  Use 1u<<31 instead.
61213         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
61214         Likewise.
61215         * lib/regexec.c (check_dst_limits_calc_pos_1,
61216         check_subexp_matching_top): Likewise.
61217
61218         * lib/regcomp.c (optimize_subexps, lower_subexp):
61219         Use CHAR_BIT rather than 8, for clarity.
61220         * lib/regexec.c (check_dst_limits_calc_pos_1):
61221         (check_subexp_matching_top): Likewise.
61222         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
61223         have to worry about portability issues when shifting it left.
61224         Remove no-longer-needed test for table_size > 0.
61225         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
61226         in a word, as the resulting behavior is undefined.
61227         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
61228         in one case, a <= should have been an <, and in another case the
61229         whole test was missing.
61230         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
61231         the standard name CHAR_BIT.
61232         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
61233         this is not true on one's complement and signed-magnitude hosts.
61234
61235         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
61236         next_last_offset.
61237         (struct re_dfa_t): Remove unused member states_alloc.
61238         * lib/regcomp.c (init_dfa): Don't initialize unused members.
61239
61240 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61241
61242         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
61243         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
61244         and large-file glibc and in 32-bit large-file Solaris.
61245
61246 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61247
61248         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
61249         lengths fit in regoff_t; this isn't true if regoff_t is the same
61250         width as size_t.
61251         * lib/regex.c (re_search_internal): 5th arg is LAST_START
61252         (= START + RANGE) instead of RANGE.  This avoids overflow
61253         problems when regoff_t is the same width as size_t.
61254         All callers changed.
61255         (re_search_2_stub): Check for overflow when adding the
61256         sizes of the two strings.
61257         (re_search_stub): Check for overflow when adding START
61258         to RANGE; if it occurs, substitute the extreme value.
61259
61260 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61261
61262         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
61263
61264 2005-08-31  Jim Meyering  <jim@meyering.net>
61265
61266         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
61267         a pointer-to-const.
61268         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
61269         (register_state): Likewise.
61270         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
61271         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
61272         (group_nodes_into_DFAstates): Likewise.
61273
61274 2005-08-31  Jim Meyering  <jim@meyering.net>
61275
61276         * check-module: Add a FIXME comment.
61277
61278 2005-08-31  Eric Blake  <ebb9@byu.net>
61279
61280         * modules/unistd-safer (Files): Add unistd--.h.
61281         * modules/stdio-safer (Files): Add stdio--.h.
61282
61283 2005-08-31  Derek Price  <derek@ximbiot.com>
61284
61285         * lib/getdelim.c (getdelim): Return EOF on EOF.
61286         Reported by Larry Jones <lawrence.jones@ugs.com>.
61287
61288 2005-08-31  Bruno Haible  <bruno@clisp.org>
61289
61290         Avoid unnecessary diffs in the generated lib/Makefile.am.
61291         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
61292         the generated files.
61293         (func_import): Don't set cmd.
61294
61295 2005-08-31  Bruno Haible  <bruno@clisp.org>
61296
61297         * lib/strstr.c: Include <stddef.h>, for NULL.
61298         * lib/strcasestr.c: Likewise.
61299         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61300
61301 2005-08-31  Bruno Haible  <bruno@clisp.org>
61302
61303         * gnulib-tool: New option --macro-prefix.
61304         (func_import): Use macro_prefix.
61305         (import): Handle option --macro-prefix.
61306
61307 2005-08-31  Bruno Haible  <bruno@clisp.org>
61308
61309         * gnulib-tool (import): Rename most ac_* variables to cached_*.
61310         Also use new variables cached_lgpl, cached_libtool.
61311
61312 2005-08-31  Bruno Haible  <bruno@clisp.org>
61313
61314         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
61315         always instantiating them.
61316
61317 2005-08-31  Bruno Haible  <bruno@clisp.org>
61318
61319         * gnulib-tool (func_import): Read the previous cached settings
61320         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
61321         earlier added by gnulib but are now dropped. Warn when a gnulib file
61322         overwrites a non-gnulib file.
61323
61324 2005-08-31  Bruno Haible  <bruno@clisp.org>
61325
61326         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
61327         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
61328         projects that don't keep autogenerated files in CVS. Put into
61329         actioncmd only the specified modules, not the transitive closure.
61330
61331 2005-08-31  Bruno Haible  <bruno@clisp.org>
61332
61333         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
61334         Create directories that shall be filled.
61335         (import): Don't look for gl_* macros in configure.ac. Recurse across
61336         all directories containing a gnulib-cache.m4 files, if meaningful.
61337
61338 2005-08-31  Bruno Haible  <bruno@clisp.org>
61339
61340         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
61341         (import): Set seen_libtool when we see gl_LIBTOOL.
61342
61343 2005-08-31  Bruno Haible  <bruno@clisp.org>
61344
61345         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
61346         declaration macro definitions from generated gnulib.m4.
61347
61348 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
61349
61350         * lib/iconvme.h: Add prototype for iconv_alloc.
61351
61352 2005-08-29  Simon Josefsson  <jas@extundo.com>
61353
61354         * lib/iconvme.c: Fix errno.
61355
61356 2005-08-29  Bruno Haible  <bruno@clisp.org>
61357
61358         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
61359         that it works when the directory contains spaces.
61360
61361 2005-08-29  Bruno Haible  <bruno@clisp.org>
61362
61363         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
61364
61365 2005-08-29  Bruno Haible  <bruno@clisp.org>
61366
61367         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
61368         Emit more advice.
61369
61370 2005-08-29  Bruno Haible  <bruno@clisp.org>
61371         and Stepan Kasal  <kasal@ucw.cz>
61372
61373         * check-module: If more parameters are given, check each of them
61374         separately; add more exceptions, as noted by Jim Meyering.
61375         (check_module): New procedure.
61376         (%exempt_header): Now contains all exceptions.
61377
61378 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
61379
61380         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
61381
61382 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
61383
61384         * lib/iconvme.c: Split iconv_string into iconv_alloc.
61385
61386 2005-08-28  Bruno Haible  <bruno@clisp.org>
61387
61388         * m4/gnulib-tool.m4: New file.
61389
61390 2005-08-27  Jim Meyering  <jim@meyering.net>
61391
61392         * modules/unistd-safer (Files): Add pipe-safer.c.
61393         * modules/fcntl-safer (Files): Add creat-safer.c.
61394
61395 2005-08-27  Jim Meyering  <jim@meyering.net>
61396
61397         * m4/stdlib-safer.m4: New file.  From coreutils.
61398         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
61399         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
61400         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
61401         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
61402         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
61403
61404 2005-08-27  Jim Meyering  <jim@meyering.net>
61405
61406         * lib/fopen-safer.c: Merge minor changes from coreutils.
61407         * lib/dup-safer.c: Likewise.
61408         * lib/fd-safer.c: Likewise.
61409
61410         Merge from coreutils.
61411         * lib/stdio--.h: New file.
61412         * lib/stdlib--.h: New file.
61413         * lib/mkstemp-safer.c: New file.
61414
61415         GNU tar needs these.
61416         * lib/pipe-safer.c: New file.
61417         * lib/creat-safer.c: New file.
61418         * lib/fcntl--.h (creat): Define to creat_safer.
61419         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
61420         * lib/unistd--.h (pipe): Define to pipe_safer.
61421         * lib/unistd-safer.h: Declare pipe_safer.
61422
61423 2005-08-26  Simon Josefsson  <jas@extundo.com>
61424
61425         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
61426         Haible <bruno@clisp.org>.
61427
61428 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
61429
61430         * lib/regex_internal.h: Remove all references to
61431         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
61432         or better.
61433         (bitset_not, bitset_merge, bitset_not_merge):
61434         (bitset_mask, re_string_allocate, re_string_construct):
61435         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
61436         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
61437         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
61438         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
61439         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61440         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61441         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
61442         (re_acquire_state_context):
61443         Remove unnecessary forward decls.
61444         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
61445         Put __attribute at function definition,
61446         now that the function decl has been removed.
61447         * lib/regex_internal.c (re_string_peek_byte_case):
61448         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
61449         Likewise.
61450
61451 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
61452
61453         * m4/regex.m4: Add AC_PREREQ(2.50).
61454         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
61455
61456 2005-08-25  Simon Josefsson  <jas@extundo.com>
61457
61458         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
61459         __fsetlocking.
61460
61461 2005-08-25  Simon Josefsson  <jas@extundo.com>
61462
61463         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
61464         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
61465         GLIBC specific code.
61466
61467 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61468
61469         Make regex safe for g++.  This fixes one real bug (an "err"
61470         that should have been "*err").  g++ problem reported by
61471         Sam Steingold.
61472         * lib/regex_internal.h (re_calloc): New macro, consistent with
61473         re_malloc etc.  All callers of calloc changed to use re_calloc.
61474         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
61475         not int.  All callers changed.
61476         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
61477         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
61478         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
61479         (find_recover_state): Change "err" to "*err"; this fixes what
61480         appears to be a real bug.
61481         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
61482         versus int.
61483
61484 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61485
61486         * modules/regex (Depends-on): Add malloc, since the code
61487         assumes that !malloc(0) means failure.
61488
61489 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61490
61491         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
61492
61493         alloca modernization/simplification for regex.
61494         * lib/regex.c: Remove portability cruft for alloca.  This no longer
61495         needs to be at the start of the file, and can be moved into
61496         regex_internal.h and simplified.
61497         * lib/regex_internal.h: Include <alloca.h>.
61498         (__libc_use_alloca) [!defined _LIBC]: New macro.
61499         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
61500         now works outside glibc.
61501
61502 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61503
61504         * config/srclist.txt: Add glibc bugs 1241, 1245.
61505
61506 2005-08-25  Jim Meyering  <jim@meyering.net>
61507
61508         * lib/open-safer.c: Include <config.h>.
61509         Otherwise, we'd lose LARGEFILE support in any file using
61510         e.g. "fcntl--.h"
61511
61512 2005-08-25  Bruno Haible  <bruno@clisp.org>
61513
61514         * m4/minmax.m4: Require autoconf 2.52.
61515         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
61516         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
61517         alternatives of translit over the alphabet.
61518         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
61519
61520 2005-08-24  Simon Josefsson  <jas@extundo.com>
61521
61522         * tests/test-getpass.c: New file.
61523
61524 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61525
61526         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
61527         for GNU regex features.
61528
61529 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61530
61531         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
61532         * lib/regex.h (regerror): Likewise.
61533
61534         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
61535         requires this.  (The code never needed it.)
61536
61537         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
61538         All uses of recently-renamed identifiers changed to use the new,
61539         POSIX-compliant names.  The code will build and run just fine
61540         without these changes, but it's better to eat our own dog food
61541         and use the standard-conforming names.
61542
61543         * lib/regex.h: Fix a multitude of POSIX name space violations.
61544         These changes have an effect only for programs that define
61545         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
61546         do not change anything for programs compiled in the normal way.
61547         Also, there is no effect on the ABI.
61548
61549         (_REGEX_SOURCE): New macro.
61550         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
61551         defined and _GNU_SOURCE is not; this fixes a name space violation.
61552
61553         Rename the following macros to obey POSIX requirements.
61554         The old names are still visible as macros if _REGEX_SOURCE is defined.
61555         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
61556         RE_BACKSLASH_ESCAPE_IN_LISTS.
61557         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
61558         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
61559         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
61560         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
61561         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
61562         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
61563         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
61564         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
61565         (REG_INTERVALS): renamed from RE_INTERVALS.
61566         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
61567         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
61568         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
61569         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
61570         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
61571         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
61572         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
61573         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
61574         RE_UNMATCHED_RIGHT_PAREN_ORD.
61575         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
61576         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
61577         (REG_DEBUG): renamed from RE_DEBUG.
61578         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
61579         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
61580         unusual, since we can't clash with the POSIX REG_ICASE.
61581         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
61582         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
61583         (REG_NO_SUB): renamed from RE_NO_SUB.
61584         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
61585         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
61586         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
61587         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
61588         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
61589         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
61590         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
61591         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
61592         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
61593         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
61594         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
61595         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
61596         RE_SYNTAX_POSIX_MINIMAL_BASIC.
61597         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
61598         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
61599         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
61600         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
61601         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
61602         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
61603         (REG_FIXED): Renamed from REGS_FIXED.
61604         (REG_NREGS): Renamed from RE_NREGS.
61605
61606         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
61607         of other REG_* macros, since POSIX says the user is allowed to
61608         #undef these macros selectively.
61609
61610         (reg_errcode_t): Update comment stating what other tables need
61611         to be consistent.
61612
61613         Rename the following enum values to obey POSIX requirements.
61614         The old names are still visible as macros.
61615         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
61616         is not defined, since GNU is supposed to be a superset of POSIX as
61617         much as possible, and since we want reg_errcode_t to be a signed
61618         type for implementation consistency.
61619         (_REG_NOERROR): Renamed from REG_NOERROR.
61620         (_REG_NOMATCH): Renamed from REG_NOMATCH.
61621         (_REG_BADPAT): Renamed from REG_BADPAT.
61622         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
61623         (_REG_ECTYPE): Renamed from REG_ECTYPE.
61624         (_REG_EESCAPE): Renamed from REG_EESCAPE.
61625         (_REG_ESUBREG): Renamed from REG_ESUBREG.
61626         (_REG_EBRACK): Renamed from REG_EBRACK.
61627         (_REG_EPAREN): Renamed from REG_EPAREN.
61628         (_REG_EBRACE): Renamed from REG_EBRACE.
61629         (_REG_BADBR): Renamed from REG_BADBR.
61630         (_REG_ERANGE): Renamed from REG_ERANGE.
61631         (_REG_ESPACE): Renamed from REG_ESPACE.
61632         (_REG_BADRPT): Renamed from REG_BADRPT.
61633         (_REG_EEND): Renamed from REG_EEND.
61634         (_REG_ESIZE): Renamed from REG_ESIZE.
61635         (_REG_ERPAREN): Renamed from REG_ERPAREN.
61636         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
61637         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
61638         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
61639         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
61640
61641         (_REG_RE_NAME, _REG_RM_NAME): New macros.
61642         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
61643         changed.  But support the old name if the new one is not defined
61644         and if _REGEX_SOURCE.
61645
61646         Change the following member names in struct re_pattern_buffer.
61647         The old names are still supported if !_REGEX_SOURCE.
61648         The new names are always supported, regardless of _REGEX_SOURCE.
61649         (re_buffer): Renamed from buffer.
61650         (re_allocated): Renamed from allocated.
61651         (re_used): Renamed from used.
61652         (re_syntax): Renamed from syntax.
61653         (re_fastmap): Renamed from fastmap.
61654         (re_translate): Renamed from translate.
61655         (re_can_be_null): Renamed from can_be_null.
61656         (re_regs_allocated): Renamed from regs_allocated.
61657         (re_fastmap_accurate): Renamed from fastmap_accurate.
61658         (re_no_sub): Renamed from no_sub.
61659         (re_not_bol): Renamed from not_bol.
61660         (re_not_eol): Renamed from not_eol.
61661         (re_newline_anchor): Renamed from newline_anchor.
61662
61663         Change the following member names in struct re_registers.
61664         The old names are still supported if !_REGEX_SOURCE.
61665         The new names are always supported, regardless of _REGEX_SOURCE.
61666         (rm_num_regs): Renamed from num_regs.
61667         (rm_start): Renamed from start.
61668         (rm_end): Renamed from end.
61669
61670         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
61671         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
61672         Prepend __ to parameter names.
61673
61674         Undo yesterday's changes.
61675
61676 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61677
61678         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
61679         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
61680         lib/regex.c.
61681
61682 2005-08-24  Jim Meyering  <jim@meyering.net>
61683
61684         Sync from coreutils.
61685         * m4/fcntl-safer.m4: New file.
61686
61687         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
61688         and object files for this module.
61689
61690 2005-08-24  Jim Meyering  <jim@meyering.net>
61691
61692         Sync from coreutils.
61693         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
61694
61695 2005-08-24  Jim Meyering  <jim@meyering.net>
61696
61697         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
61698         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
61699
61700 2005-08-24  Jim Meyering  <jim@meyering.net>
61701
61702         * modules/fcntl-safer: New module.
61703         * modules/fts (Depends-on): Add fcntl-safer.
61704         * MODULES.html.sh (File descriptor based Input/Output):
61705         Add fcntl-safer.
61706
61707 2005-08-24  Bruno Haible  <bruno@clisp.org>
61708
61709         Support for unit test modules.
61710         * modules/README: Mention tests modules.
61711         * modules/TEMPLATE-TESTS: New file.
61712         * gnulib-tool: New options --extract-tests-module, --with-tests and
61713         --tests-base (unused for the moment).
61714         (testsbase, inctests): New variables.
61715         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
61716         (func_verify_module): Exclude TEMPLATE-TESTS.
61717         (func_verify_nontests_module, func_verify_tests_module): New functions.
61718         (func_get_dependencies): Add implicit dependency for tests modules.
61719         (func_get_tests_module): New function.
61720         (func_modules_transitive_closure): When --with-tests was specified,
61721         include the unit tests as well, unless explicitly avoided.
61722         (func_emit_lib_Makefile_am): Ignore the tests modules here.
61723         (func_emit_tests_Makefile_am): New function.
61724         (func_create_testdir): When --with-tests was specified, emit a
61725         tests/ directory.
61726         * MODULES.html.sh (Future developments): Update.
61727
61728 2005-08-24  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/tls-tests: New file.
61731         * tests/test-tls.c: New file, from GNU gettext.
61732
61733 2005-08-24  Bruno Haible  <bruno@clisp.org>
61734
61735         * modules/lock-tests: New file.
61736         * tests/test-lock.c: New file, from GNU gettext.
61737
61738 2005-08-24  Bruno Haible  <bruno@clisp.org>
61739
61740         * lib/lock.h: Add multiple inclusion guard.
61741         * lib/tls.h: Add multiple inclusion guard.
61742
61743 2005-08-24  Bruno Haible  <bruno@clisp.org>
61744
61745         * gnulib-tool: Add support for the --aux-dir option to
61746         --create-testdir, --create-megatestdir, --test, --megatest.
61747         (func_create_testdir, func_create_megatestdir): Optionally emit a
61748         AC_CONFIG_AUX_DIR directive.
61749         (create-testdir, create-megatestdir, test, megatest): Provide a
61750         default value for $auxdir.
61751
61752 2005-08-24  Bruno Haible  <bruno@clisp.org>
61753
61754         * gnulib-tool (import): Use compound statement instead of subshell
61755         where possible.
61756
61757 2005-08-24  Bruno Haible  <bruno@clisp.org>
61758
61759         * gnulib-tool (import): Change --aux-dir default to "build-aux".
61760
61761 2005-08-24  Bruno Haible  <bruno@clisp.org>
61762
61763         * gnulib-tool (func_version): Update.
61764
61765 2005-08-24  Bruno Haible  <bruno@clisp.org>
61766
61767         * gnulib-tool (func_import, func_create_testdir,
61768         func_create_megatestdir): Quote all autoconf macro arguments.
61769
61770 2005-08-24  Bruno Haible  <bruno@clisp.org>
61771
61772         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
61773         option --force, because --force causes the aclocal.m4 of each
61774         subdirectory to be newer than the corresponding config.h.in.
61775
61776 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61777
61778         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
61779         All contents moved to gl_REGEX.
61780         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
61781         assume that it does.
61782
61783 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61784
61785         * lib/regex.h (REG_NOSYS)
61786         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
61787         Define, since POSIX requires it as of 2001.
61788         (_REG_ENOSYS)
61789         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
61790         New private symbol, used to keep the enum signed in all cases.
61791         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
61792         Youngman in
61793         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
61794
61795         * lib/regex_internal.c (re_string_skip_chars, register_state):
61796         (calc_state_hash):
61797         Remove forward decls; no longer needed now that we use prototypes.
61798         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
61799         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
61800         (clean_state_log_if_needed): Likewise.
61801
61802 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61803
61804         * config/srclist.txt: Add glibc bugs 1231-1233.
61805
61806 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61807
61808         Fix problems reported by Sam Steingold in
61809         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
61810         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
61811         assumed that reg_errcode_t is a signed type, which is not
61812         necessarily true if _XOPEN_SOURCE is not defined.
61813         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
61814         since some compilers warn about it otherwise.
61815
61816 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61817
61818         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
61819         (init_word_char, create_initial_state, duplicate_node_closure):
61820         (fetch_token, peek_token_bracket, build_range_exp):
61821         (build_collating_symbol): Remove forward decls; no longer needed
61822         now that we use prototypes.
61823
61824         * lib/regcomp.c:
61825         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
61826         (re_compile_fastmap_iter, regcomp, regerror, regfree):
61827         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
61828         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
61829         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
61830         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
61831         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
61832         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
61833         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
61834         (build_range_exp, build_collating_symbol, parse_bracket_exp):
61835         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
61836         (build_charclass, build_charclass_op, fetch_number, create_tree):
61837         (create_token_tree, mark_opt_subexp, duplicate_tree):
61838         Use prototypes rather than old-style definitions.
61839
61840         * lib/regex_internal.c:
61841         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
61842         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
61843         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
61844         (re_string_reconstruct, re_string_peek_byte_case):
61845         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
61846         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
61847         (re_node_set_init_copy, re_node_set_add_intersect):
61848         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61849         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61850         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
61851         (re_acquire_state, re_acquire_state_context, register_state):
61852         (create_ci_newstate, create_cd_newstate, free_state):
61853         Likewise.
61854         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
61855         re_search_2):
61856         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
61857         (re_search_internal, prune_impossible_nodes):
61858         (acquire_init_state_context, check_matching, static):
61859         (check_halt_node_context, check_halt_state_context, proceed_next_node):
61860         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
61861         (update_regs, sift_states_backward, build_sifted_states):
61862         (clean_state_log_if_needed, merge_state_array):
61863         (update_cur_sifted_state, add_epsilon_src_nodes):
61864         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
61865         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
61866         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
61867         (find_recover_state, check_subexp_matching_top, transit_state_mb):
61868         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
61869         (check_arrival, check_arrival_add_next_nodes):
61870         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
61871         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
61872         (check_node_accept_bytes, check_node_accept, extend_buffers):
61873         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
61874         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
61875         (sift_ctx_init):
61876         Likewise.
61877
61878         * lib/regex_internal.h:
61879         (re_string_allocate, re_string_construct, re_string_reconstruct):
61880         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
61881         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
61882         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
61883         (re_string_context_at, re_string_peek_byte_case):
61884         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
61885         is defined, since we now use prototypes always.
61886
61887         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
61888         C89 or better.  All uses removed.
61889
61890 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61891
61892         * config/srclist.txt: Add glibc bugs 1220-1227.
61893
61894 2005-08-20  Jim Meyering  <jim@meyering.net>
61895
61896         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
61897         of unused local, dfa.
61898
61899 2005-08-20  Bruno Haible  <bruno@clisp.org>
61900
61901         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
61902
61903 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61904
61905         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
61906         (re_node_set_insert_last, re_dfa_add_node):
61907         Rename local variables to avoid GCC shadowing warnings.
61908
61909 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61910
61911         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
61912         [defined lint]: Suppress bogus uninitialized-variable warnings.
61913
61914         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
61915         and let the caller return REG_ESPACE if out of space.  This
61916         removes an uninitialied-variable warning with GCC 4.0.1, and also
61917         avoids taking the address of a local variable.  All callers
61918         changed.
61919
61920 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61921
61922         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
61923         $LIBCSRC/posix/regexec.c.
61924         Add glibc bug 1217 for regcomp.c.
61925
61926 2005-08-19  Jim Meyering  <jim@meyering.net>
61927
61928         * lib/regexec.c (proceed_next_node): Redo local variables to
61929         avoid GCC shadowing warnings.
61930
61931 2005-08-18  Bruno Haible  <bruno@clisp.org>
61932
61933         * lib/strstr.c (strstr): Fix return value in multibyte case.
61934         * lib/strcasestr.c (strcasestr): Likewise.
61935
61936 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61937
61938         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
61939
61940 2005-08-17  Jim Meyering  <jim@meyering.net>
61941
61942         Make the %s format (seconds since the epoch) work for a negative
61943         number and when used with a zero-padded field width, e.g. %015s.
61944
61945         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
61946         label so that it precedes the code to set `digits'.  Otherwise,
61947         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
61948         print `00-22'.  Now, it prints `-0022', as it should.
61949
61950 2005-08-17  Bruno Haible  <bruno@clisp.org>
61951
61952         * modules/strstr (Files): Add m4/mbrtowc.m4.
61953         (Depends-on): Add mbuiter.
61954
61955 2005-08-17  Bruno Haible  <bruno@clisp.org>
61956
61957         * modules/strcasestr: New file.
61958         * MODULES.html.sh (String handling, based on ANSI C 89): Add
61959         strcasestr.
61960
61961 2005-08-17  Bruno Haible  <bruno@clisp.org>
61962
61963         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
61964
61965 2005-08-17  Bruno Haible  <bruno@clisp.org>
61966
61967         * modules/mbuiter: New file.
61968         * MODULES.html.sh (Extended multibyte and wide character utilities):
61969         Add mbuiter.
61970
61971 2005-08-17  Bruno Haible  <bruno@clisp.org>
61972
61973         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
61974         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
61975
61976 2005-08-17  Bruno Haible  <bruno@clisp.org>
61977
61978         * m4/strcasestr.m4: New file.
61979
61980 2005-08-17  Bruno Haible  <bruno@clisp.org>
61981
61982         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
61983         * lib/strstr.c: Completely rewritten, with multibyte locale support.
61984
61985 2005-08-17  Bruno Haible  <bruno@clisp.org>
61986
61987         * lib/strcasestr.h: New file.
61988         * lib/strcasestr.c: New file.
61989
61990 2005-08-17  Bruno Haible  <bruno@clisp.org>
61991
61992         * lib/strcasecmp.c: Use mbuiter.h.
61993
61994 2005-08-17  Bruno Haible  <bruno@clisp.org>
61995
61996         * lib/mbuiter.h: New file.
61997
61998 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
61999
62000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
62001         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
62002         and gl_GETOPT are both invoked via different paths (as happens
62003         with GNU tar CVS because it uses both argp and getopt), the former
62004         wins.
62005
62006 2005-08-16  Bruno Haible  <bruno@clisp.org>
62007
62008         * modules/tls: New file.
62009         * MODULES.html.sh (Multithreading): Add tls.
62010
62011 2005-08-16  Bruno Haible  <bruno@clisp.org>
62012
62013         * modules/strnlen1: New file.
62014         * MODULES.html.sh (String handling): Add strnlen1.
62015
62016 2005-08-16  Bruno Haible  <bruno@clisp.org>
62017
62018         * modules/strcase (Files): Add m4/mbrtowc.m4.
62019         (Depends-on): Add strnlen1, mbchar.
62020
62021 2005-08-16  Bruno Haible  <bruno@clisp.org>
62022
62023         * modules/mbiter: New file.
62024         * MODULES.html.sh (Extended multibyte and wide character utilities):
62025         Add mbiter.
62026
62027 2005-08-16  Bruno Haible  <bruno@clisp.org>
62028
62029         * modules/mbfile: New file.
62030         * MODULES.html.sh (Extended multibyte and wide character utilities):
62031         Add mbfile.
62032
62033 2005-08-16  Bruno Haible  <bruno@clisp.org>
62034
62035         * modules/mbchar: New file.
62036         * MODULES.html.sh (Extended multibyte and wide character utilities):
62037         New section.
62038
62039 2005-08-16  Bruno Haible  <bruno@clisp.org>
62040
62041         * m4/tls.m4: New file, from GNU gettext.
62042
62043 2005-08-16  Bruno Haible  <bruno@clisp.org>
62044
62045         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
62046         always.
62047         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
62048
62049 2005-08-16  Bruno Haible  <bruno@clisp.org>
62050
62051         * m4/mbiter.m4: New file.
62052
62053 2005-08-16  Bruno Haible  <bruno@clisp.org>
62054
62055         * m4/mbfile.m4: New file.
62056
62057 2005-08-16  Bruno Haible  <bruno@clisp.org>
62058
62059         * m4/mbchar.m4: New file.
62060
62061 2005-08-16  Bruno Haible  <bruno@clisp.org>
62062
62063         * lib/tls.h: New file, from GNU gettext.
62064         * lib/tls.c: New file, from GNU gettext.
62065
62066 2005-08-16  Bruno Haible  <bruno@clisp.org>
62067
62068         * lib/strnlen1.h: New file.
62069         * lib/strnlen1.c: New file.
62070
62071 2005-08-16  Bruno Haible  <bruno@clisp.org>
62072
62073         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
62074         (mbi_init): Update.
62075         (mbi_avail, mbi_advance): Let the iteration end before the terminating
62076         NUL byte, not after it.
62077
62078 2005-08-16  Bruno Haible  <bruno@clisp.org>
62079
62080         * lib/strcase.h (strcasecmp): Add note in comments.
62081         * lib/strncasecmp.c: Use code from strcasecmp.c.
62082         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
62083         (strcasecmp): Work correctly in multibyte locales.
62084
62085 2005-08-16  Bruno Haible  <bruno@clisp.org>
62086
62087         * lib/mbiter.h: New file.
62088
62089 2005-08-16  Bruno Haible  <bruno@clisp.org>
62090
62091         * lib/mbfile.h: New file.
62092
62093 2005-08-16  Bruno Haible  <bruno@clisp.org>
62094
62095         * lib/mbchar.h: New file.
62096         * lib/mbchar.c: New file.
62097
62098 2005-08-16  Bruno Haible  <bruno@clisp.org>
62099
62100         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
62101         the valid ones. Makes the comparison operations transitive:
62102         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
62103         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
62104
62105 2005-08-15  Simon Josefsson  <jas@extundo.com>
62106
62107         * modules/ssize_t (License): Change to 'unlimited'.
62108
62109         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
62110
62111 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62112
62113         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
62114         Add comments for each pending glibc patch.
62115
62116 2005-08-15  Bruno Haible  <bruno@clisp.org>
62117
62118         * lib/regex.h (__restrict_arr): Don't define to __restrict if
62119         __cplusplus is defined.
62120
62121 2005-08-14  Jim Meyering  <jim@meyering.net>
62122
62123         Sync from coreutils.
62124
62125         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
62126         Use the hash-table-based cycle-detection code not just when
62127         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
62128         Reported by James Youngman in
62129         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
62130         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
62131         FTS_TIGHT_CYCLE_CHECK.
62132         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
62133         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
62134         once again.
62135         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
62136         * lib/fts.c (fd_safer): Remove decl.
62137         Include fcntl--.h rather than unistd-safer.h
62138         (fts_safe_changedir): Don't call fd_safer; no longer needed
62139         now that we include fcntl--.h.
62140
62141 2005-08-12  Simon Josefsson  <jas@extundo.com>
62142
62143         * modules/getndelim2: Use ssize_t module.
62144         * modules/getnline: Likewise.
62145         * modules/safe-read: Likewise.
62146         * modules/xreadlink: Likewise.
62147
62148         * modules/ssize_t: New file.
62149
62150 2005-08-12  Simon Josefsson  <jas@extundo.com>
62151
62152         * m4/readline.m4: Look for termcap, curses or ncurses if required.
62153
62154 2005-08-12  Simon Josefsson  <jas@extundo.com>
62155
62156         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62157         ssize_t.
62158
62159 2005-08-12  Simon Josefsson  <jas@extundo.com>
62160
62161         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
62162         readline, getdelim and check_version.
62163         (Support for systems lacking ISO C 99: Sizes of integer types):
62164         Add size_max.
62165
62166 2005-08-12  Bruno Haible  <bruno@clisp.org>
62167
62168         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
62169
62170 2005-08-11  Simon Josefsson  <jas@extundo.com>
62171
62172         * modules/readline: New file.
62173
62174         * modules/strnlen (Files): Add strnlen.h.
62175
62176 2005-08-11  Simon Josefsson  <jas@extundo.com>
62177
62178         * m4/readline.m4: New file.
62179
62180 2005-08-11  Simon Josefsson  <jas@extundo.com>
62181
62182         * lib/readline.h, readline.c: New file.
62183
62184 2005-08-11  Simon Josefsson  <jas@extundo.com>
62185
62186         * doc/gnulib.texi (Initial import, Finishing touches): Mention
62187         gl_AVOID.
62188
62189 2005-08-11  Bruno Haible  <bruno@clisp.org>
62190
62191         * lib/strnlen.h (strnlen): Change parameter name to match comment.
62192
62193 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
62194
62195         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
62196
62197 2005-08-10  Simon Josefsson  <jas@extundo.com>
62198
62199         * tests/test-iconvme.c: New file.
62200
62201 2005-08-10  Simon Josefsson  <jas@extundo.com>
62202
62203         * m4/strnlen.m4: New file.
62204
62205         * m4/strndup.m4: Don't check for strnlen declaration, done in
62206         strnlen.m4.
62207
62208 2005-08-10  Simon Josefsson  <jas@extundo.com>
62209
62210         * lib/strndup.c: Use strnlen.h.
62211
62212         * lib/strnlen.h: New file.
62213
62214 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62215
62216         * README: Typos.
62217
62218 2005-08-02  Simon Josefsson  <jas@extundo.com>
62219
62220         * modules/readline: New file.
62221
62222 2005-08-02  Simon Josefsson  <jas@extundo.com>
62223
62224         * modules/getdelim: New file.
62225
62226         * modules/getline: Rewrite, don't use getndelim2.
62227
62228 2005-08-02  Simon Josefsson  <jas@extundo.com>
62229
62230         * m4/getline.m4: Separate out getdelim stuff into separate module.
62231
62232         * m4/getdelim.m4: New file.
62233
62234 2005-08-02  Simon Josefsson  <jas@extundo.com>
62235
62236         * lib/getline.h, getline.c: Rewrite.
62237
62238         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
62239
62240 2005-07-31  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/lock.h (gl_lock_initializer): New macro.
62243         (gl_lock_define_initialized): Use it.
62244         (gl_rwlock_initializer): New macro.
62245         (gl_rwlock_define_initialized): Use it.
62246         (gl_recursive_lock_initializer): New macro.
62247         (gl_recursive_lock_define_initialized): Use it.
62248
62249 2005-07-30  Karl Berry  <karl@gnu.org>
62250
62251         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
62252         Report from Ben Pfaff, regarding getopt.
62253
62254 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
62255
62256         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
62257         normal way.
62258         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
62259         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
62260         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
62261         (gl_GETOPT): Use the new macros.  Most of the implementation
62262         is moved to the new macros.  This is for programs like Emacs
62263         that don't want all the functionality of gl_GETOPT.
62264
62265 2005-07-26  Bruno Haible  <bruno@clisp.org>
62266
62267         * m4/lock.m4: Update from GNU gettext.
62268
62269 2005-07-26  Bruno Haible  <bruno@clisp.org>
62270
62271         * lib/lock.h: Update from GNU gettext.
62272         * lib/lock.c: Update from GNU gettext.
62273
62274 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
62275
62276         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
62277         obsolescent AC_TRY_RUN.  Include the default includes files, for
62278         'exit'.
62279
62280 2005-07-24  Bruno Haible  <bruno@clisp.org>
62281
62282         * modules/visibility: New file.
62283         * MODULES.html.sh (Misc): Add visibility.
62284
62285 2005-07-24  Bruno Haible  <bruno@clisp.org>
62286
62287         * m4/visibility.m4: New file.
62288
62289 2005-07-24  Bruno Haible  <bruno@clisp.org>
62290
62291         * doc/visibility.texi: New file.
62292
62293 2005-07-22  Bruno Haible  <bruno@clisp.org>
62294
62295         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
62296         $(ALLOCA_H), redundant through BUILT_SOURCES.
62297         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
62298         redundant through BUILT_SOURCES.
62299         * modules/byteswap (Makefile.am): Remove explicit dependency on
62300         $(BYTESWAP_H), redundant through BUILT_SOURCES.
62301         * modules/fnmatch (Makefile.am): Remove explicit dependency on
62302         $(FNMATCH_H), redundant through BUILT_SOURCES.
62303         * modules/getopt (Makefile.am): Remove explicit dependency on
62304         $(GETOPT_H), redundant through BUILT_SOURCES.
62305         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
62306         redundant through BUILT_SOURCES.
62307         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
62308         redundant through BUILT_SOURCES.
62309         * modules/stdbool (Makefile.am): Remove explicit dependency on
62310         $(STDBOOL_H), redundant through BUILT_SOURCES.
62311         * modules/stdint (Makefile.am): Remove explicit dependency on
62312         $(STDINT_H), redundant through BUILT_SOURCES.
62313         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
62314         Remove explicit dependency on $(SYSEXITS_H).
62315         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
62316
62317 2005-07-18  Simon Josefsson  <jas@extundo.com>
62318
62319         * lib/check-version.c (check_version): Accept identical versions too.
62320
62321 2005-07-18  Bruno Haible  <bruno@clisp.org>
62322
62323         * modules/lock: New file.
62324         * MODULES.html.sh (Multithreading): New section.
62325
62326 2005-07-18  Bruno Haible  <bruno@clisp.org>
62327
62328         * m4/lock.m4: New file, from GNU gettext.
62329
62330 2005-07-18  Bruno Haible  <bruno@clisp.org>
62331
62332         * lib/lock.h: New file, from GNU gettext.
62333         * lib/lock.c: New file, from GNU gettext.
62334
62335 2005-07-18  Bruno Haible  <bruno@clisp.org>
62336
62337         * lib/lock.h (gl_once_t): New type.
62338         (gl_once_define, gl_once): New macros.
62339         * lib/lock.c (fresh_once): New variable.
62340         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
62341         functions.
62342
62343 2005-07-16  Simon Josefsson  <jas@extundo.com>
62344
62345         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
62346         workaround, suggested by Bruno.
62347
62348 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
62349
62350         * modules/xalloc (Depends-on): Add xalloc-die.
62351         * modules/xvasprintf (Depends-on): Add xalloc-die.
62352
62353 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
62354
62355         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
62356         with a minor change.
62357
62358 2005-07-15  Bruno Haible  <bruno@clisp.org>
62359
62360         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
62361         When using lib/poll.c, define poll as rpl_poll.
62362
62363 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
62364
62365         * modules/argp (Depends-on): Remove unlocked-io.
62366
62367 2005-07-14  Derek Price  <derek@ximbiot.com>
62368
62369         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
62370         for glob symlink bug.
62371
62372 2005-07-14  Bruno Haible  <bruno@clisp.org>
62373
62374         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
62375         Instead, test for *_unlocked function declarations directly.
62376
62377 2005-07-11  Simon Josefsson  <jas@extundo.com>
62378
62379         * modules/size_max: New file.
62380
62381         * modules/xsize: Depend on size_max module for size_max.m4.
62382
62383 2005-07-11  Simon Josefsson  <jas@extundo.com>
62384
62385         * lib/size_max.h: New file.
62386
62387 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
62388
62389         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
62390         copyright symbol and the year.
62391         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
62392         (version_etc_va): Use parameterized copyright notice.
62393         Reword to conform to the current GNU coding standards.
62394
62395 2005-07-11  Karl Berry  <karl@gnu.org>
62396
62397         * doc/gnulib.texi (Quoting): new node.
62398         (Initial import): more info, from Patrice.
62399
62400 2005-07-11  Bruno Haible  <bruno@clisp.org>
62401
62402         * gnulib-tool (func_usage): Document option --avoid.
62403         (Command line options): Handle --avoid.
62404         (func_acceptable): New function.
62405         (func_modules_transitive_closure): Use it.
62406
62407 2005-07-11  Bruno Haible  <bruno@clisp.org>
62408
62409         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
62410         Reported by Jim Meyering.
62411
62412 2005-07-10  Bruno Haible  <bruno@clisp.org>
62413
62414         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
62415         Needed when size_t is smaller than 'unsigned int'.
62416         Reported by Paul Eggert.
62417
62418 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62419
62420         * modules/argp (Depends-on): Add unlocked-io
62421
62422 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62423
62424         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
62425         block of defines.
62426
62427 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
62428
62429         * config/srclist.txt: Comment out regcomp.c, since we have a porting
62430         fix now.
62431
62432 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
62433         and Paul Eggert  <eggert@cs.ucla.edu>
62434
62435         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
62436         in wint_t, not wchar_t.  Remove now-unnecessary cast.
62437
62438 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62439
62440         * modules/regex (Files): Add lib/regex_internal.c,
62441         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
62442         (Depends-on): Add extensions.
62443         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
62444
62445 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62446
62447         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
62448         pathconf.
62449         * m4/same.m4 (gl_SAME): Likewise.
62450         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
62451
62452         * m4/regex.m4: Adjust to new libc regex implementation.
62453         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
62454         all the .c and .h parts of (the new) regex.
62455         Quote the m4 stuff better.
62456         Check for RE_ICASE bug of old gnulib.
62457         Check for REG_STARTEND of recent libc.
62458         Rename local variables from jm_* to gl_*.
62459         Quote operand of "test -f".
62460         Say "recent enough" version of libc, not "version 2".
62461         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
62462         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
62463         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
62464         Remove check for btowc, isascii.
62465         Require AM_LANGINFO_CODESET.
62466
62467 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62468
62469         * lib/regex.c, regex.h: Sync from libc.
62470         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
62471         * lib/regexec.c:
62472         New files, synced from libc, except that regex_internal.h
62473         currently has a small porting fix.
62474
62475 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62476
62477         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
62478         regex_internal.c, regexec.c.
62479         Add regex_internal.h too, but as a comment, since the libc version
62480         is currently broken in gnulib mode.
62481
62482 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62483
62484         Support programs like Emacs that use gnulib but not gettext.
62485         * MODULES.html.sh (Internationalization functions): Add gettext-h.
62486         * modules/gettext-h: New file.
62487         * modules/gettext (Files): Remove lib/gettext.h.
62488         (Depends-on): Add gettext-h.
62489         (Makefile.am): Remove lib_SOURCES.
62490         * modules/argmatch, modules/c-stack, modules/closeout:
62491         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
62492         * modules/execute, modules/file-type, modules/getaddrinfo:
62493         * modules/getopt, modules/human, modules/javacomp:
62494         * modules/javaexec, modules/mkdir-p, modules/obstack:
62495         * modules/openat, modules/pagealign_alloc, modules/pipe:
62496         * modules/quotearg, modules/regex, modules/rpmatch:
62497         * modules/unicodeio, modules/userspec, modules/version-etc:
62498         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
62499         * modules/xsetenv:
62500         Depend on gettext-h, not gettext.
62501
62502 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62503
62504         * gnulib-tool (func_import): Add support for 'public domain' license.
62505         * modules/alloca, modules/atexit, modules/memmove:
62506         Now public domain, not GPL.
62507         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
62508         * modules/realloc, modules/strerror, modules/strtod:
62509         Now LGPL, not GPL.
62510
62511 2005-07-05  Bruno Haible  <bruno@clisp.org>
62512
62513         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
62514         autoconf CVS. Needed for mingw.
62515
62516 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62517
62518         Remove the dependency of the strftime module on the tzset module.
62519         * modules/strftime (Depends-on): Remove dependency on tzset.
62520
62521 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62522
62523         Remove the dependency of the strftime module on the tzset module.
62524         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
62525         gl_FUNC_TZSET_CLOBBER.
62526
62527 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62528
62529         Remove the dependency of the strftime module on the tzset module.
62530         * lib/strftime.c (my_strftime)
62531         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
62532         Copy the input structure, to work around some of the bug with
62533         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
62534         Solaris releases, you should also use the tzset module, but we won't
62535         require it as a dependency any more since we don't want LGPLed code
62536         to depend on GPLed code.
62537
62538 2005-07-02  Jim Meyering  <jim@meyering.net>
62539
62540         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
62541         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
62542         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
62543         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
62544
62545 2005-07-02  Jim Meyering  <jim@meyering.net>
62546
62547         * lib/backupfile.c (backup_args): Change a `0' to NULL.
62548
62549 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62550
62551         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
62552         declares only 'struct timespec;' (!).
62553
62554 2005-07-01  Jim Meyering  <jim@meyering.net>
62555
62556         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
62557         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
62558         * lib/save-cwd.c, tempname.c:
62559         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62560         and don't include <sys/file.h>).
62561
62562 2005-06-29  Jim Meyering  <jim@meyering.net>
62563
62564         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
62565         type name.  Use the variable name instead.
62566         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
62567         Likewise.
62568
62569 2005-06-28  Simon Josefsson  <jas@extundo.com>
62570
62571         * modules/check-version (Files): Add check-version.m4.
62572
62573 2005-06-28  Simon Josefsson  <jas@extundo.com>
62574
62575         * m4/check-version.m4: New file, suggested by Jim Meyering
62576         <jim@meyering.net>.
62577
62578 2005-06-28  Simon Josefsson  <jas@extundo.com>
62579
62580         * lib/check-version.h, lib/check-version.c: New files.
62581
62582 2005-06-28  Simon Josefsson  <jas@extundo.com>
62583
62584         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
62585         collision with global variable.  Better indentation.  Don't
62586         increment buffer pointer beyond buffer end.  Based on comments
62587         from Paul Eggert <eggert@cs.ucla.edu>.
62588
62589         * lib/base64.h: Indent.
62590
62591 2005-06-28  Simon Josefsson  <jas@extundo.com>
62592
62593         * doc/gnulib.texi (Library version handling): New section.
62594
62595 2005-06-28  Jim Meyering  <jim@meyering.net>
62596
62597         * check-module (find_included_lib_files): Hard-code another
62598         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
62599         but modules/fts-lgpl (correctly) does not list those files.
62600
62601         * modules/canonicalize (Files): Add lib/pathmax.h.
62602
62603 2005-06-25  Simon Josefsson  <jas@extundo.com>
62604
62605         * modules/check-version: New file.
62606
62607 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
62608
62609         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
62610         initializer of struct addrinfo, as an indication that we don't
62611         care how many members the structure has.
62612
62613 2005-06-24  Derek Price  <derek@ximbiot.com>
62614         and Bruno Haible  <bruno@clisp.org>
62615
62616         Remove stat module & update lstat.
62617         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
62618         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62619         * m4/stat.m4: Remove this file.
62620
62621 2005-06-24  Derek Price  <derek@ximbiot.com>
62622         and Bruno Haible  <bruno@clisp.org>
62623
62624         Remove stat module & update lstat.
62625         * lib/stat.c: Remove this file...
62626         (slash_aware_lstat): ...moving this content and its support...
62627         * lib/lstat.c (rpl_lstat): ...into here.
62628         * lib/lstat.h: New file.
62629
62630 2005-06-24  Derek Price  <derek@ximbiot.com>
62631         and Bruno Haible  <bruno@clisp.org>
62632
62633         Remove stat module & update lstat.
62634         * config/srclist.txt (libc sources): Remove stat.
62635
62636 2005-06-24  Derek Price  <derek@ximbiot.com>
62637         and Bruno Haible  <bruno@clisp.org>
62638
62639         Remove stat module & update lstat.
62640         * MODULES.html.sh (stat): Remove.
62641         * MODULES.html: Regenerated.
62642         * modules/lstat (Description): Correct function name.
62643         (Files): Add "lstat.h".
62644         (Depends-on): Remove stat, add xalloc, stat-macros.
62645         * modules/stat: Remove this file.
62646         (Include): Add "lstat.h", remove <sys/stat.h>.
62647
62648 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62649
62650         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
62651         (ranged_convert): Don't save conversion in a temporary struct.
62652         This causes a warning with GCC 4.0.0, and anyway in the typical
62653         case it's not worth the extra 100 bytes or so of code.
62654         (ranged_convert, __mktime_internal): When calling a function via a
62655         pointer P, use P () rather than (*P) (), as we now assume C89 or
62656         better.
62657
62658 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62659
62660         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
62661         "who -r" failed to give output.  Problem reported by Tim Waugh.
62662
62663         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
62664         (xcalloc): Use it to avoid needless tests.
62665         Problem reported by Jim Meyering.
62666
62667 2005-06-20  Derek Price  <derek@ximbiot.com>
62668
62669         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
62670         unnecessary for Autoconfs > 2.59c.
62671
62672 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62673
62674         * lib/argp.h (__option_is_short): Check upper limit of
62675         __key. Isprint() requires its argument to have the value
62676         of an unsigned char or EOF.
62677
62678 2005-06-16  Jim Meyering  <jim@meyering.net>
62679
62680         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
62681         when either N or S is zero.
62682
62683 2005-06-16  Derek Price  <derek@ximbiot.com>
62684
62685         * m4/bison.m4: Declare YACC & YFLAGS precious.
62686
62687 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
62688
62689         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
62690         multibyte string or pattern, fall back on unibyte matching.
62691         Problem reported by James Youngman.
62692
62693 2005-06-08  Bruno Haible  <bruno@clisp.org>
62694
62695         * modules/csharpcomp: New file.
62696         * MODULES.html.sh (C#): Add csharpcomp.
62697
62698 2005-06-08  Bruno Haible  <bruno@clisp.org>
62699
62700         * m4/csharpcomp.m4: New file, from GNU gettext.
62701
62702 2005-06-08  Bruno Haible  <bruno@clisp.org>
62703
62704         * lib/csharpcomp.h: New file, from GNU gettext.
62705         * lib/csharpcomp.c: New file, from GNU gettext.
62706         * lib/csharpcomp.sh.in: New file, from GNU gettext.
62707
62708 2005-06-08  Bruno Haible  <bruno@clisp.org>
62709
62710         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
62711         warning on mingw.
62712
62713 2005-06-07  Derek Price  <derek@ximbiot.com>
62714
62715         Sync from CVS.
62716         * lib/glob_.h: Indent nested #ifdef.
62717
62718 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62719
62720         Sync from coreutils.
62721         Use "file name" when talking about file names, instead of "filename"
62722         or "path", as per the GNU coding standards.
62723         * lib/mkdir-p.c: Renamed from makepath.c.
62724         (make_dir_parents): Renamed from make_path.  All callers changed.
62725         * lib/mkdir-p.h: Likewise.  All includers changed.
62726         * lib/filenamecat.c: Renamed from path-concat.c.
62727         (file_name_concat): Renamed from path_concat.  All callers changed.
62728         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
62729         * lib/filenamecat.h: Likewise.  All includers changed.
62730         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
62731         in comments or local variable names.
62732         * lib/basename.c: Likewise.
62733         * lib/canonicalize.c, canonicalize.h: Likewise.
62734         * lib/dirname.c, dirname.h: Likewise.
62735         * lib/euidaccess.c: Likewise.
62736         * lib/exclude.c: Likewise
62737         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
62738         * lib/fsusage.c, fsuage.h: Likewise.
62739         * lib/fts.c, fts_.h: Likewise.
62740         * lib/getcwd.c: Likewise.
62741         * lib/getloadavg.c: Likewise.
62742         * lib/mkstemp.c: Likewise.
62743         * lib/mountlist.c, mountlist.h: Likewise.
62744         * lib/openat.c, openat.h: Likewise.
62745         * lib/readlink-stub.c: Likewise.
62746         * lib/readutmp.c, readutmp.h: Likewise.
62747         * lib/rename.c: Likewise.
62748         * lib/rmdir.c: Likewise.
62749         * lib/same.c: Likewise.
62750         * lib/savedir.c: Likewise.
62751         * lib/stripslash.c: Likewise.
62752         * lib/tempname.c: Likewise.
62753         * lib/xreadlink.c: Likewise.
62754         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
62755         All uses changed.
62756         * lib/exclude.h: Likewise.
62757
62758         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
62759         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62760         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
62761         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62762         * lib/pathmax.h: Include <limits.h> unconditionally, since other
62763         files have been getting away with it for years (MORE/BSD 4.3
62764         is extinct now).
62765         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
62766         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62767
62768         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
62769         Define to 256, not 255, as per modern POSIX.
62770
62771 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62772
62773         Sync from coreutils.
62774         Use "file name" when talking about file names, instead of "filename"
62775         or "path", as per the GNU coding standards.
62776         * MODULES.html.sh: mkdir-p renamed from makepath.
62777         filenamecat renamed from path-concat.
62778         * modules/filenamecat: Renamed from modules/path-concat.
62779         (Files): filenamecat.h and filenamecat.c renamed from
62780         path-concat.h and path-concat.c.
62781         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
62782         (Include): filenamecat.h, not path-concat.h.
62783         * modules/mkdir-p: Renamed from modules/makepath.
62784         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
62785         makepath.c.
62786         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
62787         (Include): mkdir-p.h, not makepath.h.
62788
62789 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62790
62791         Sync from coreutils.
62792         * m4/mkdir-p.m4: Renamed from makepath.m4.
62793         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
62794         Rename files from makepath.c to mkdir-p.c, and from
62795         makepath.h to mkdir-p.h.
62796         * m4/filenamecat.m4: Renamed from path-concat.m4.
62797         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
62798         Rename files from path-concat.c to filenamecat.c,
62799         and from path-concat.h to filenamecat.h.
62800         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
62801         "file name" in local variables or comments.
62802         * m4/rename.m4: Likewise.
62803
62804 2005-06-01  Bruno Haible  <bruno@clisp.org>
62805
62806         * modules/csharpexec: New file.
62807         * MODULES.html.sh (C#): New section.
62808
62809 2005-06-01  Bruno Haible  <bruno@clisp.org>
62810
62811         * m4/csharp.m4: New file, from GNU gettext.
62812         * m4/csharpexec.m4: New file, from GNU gettext.
62813
62814 2005-06-01  Bruno Haible  <bruno@clisp.org>
62815
62816         * lib/csharpexec.h: New file, from GNU gettext.
62817         * lib/csharpexec.c: New file, from GNU gettext.
62818         * lib/csharpexec.sh.in: New file, from GNU gettext.
62819
62820 2005-05-31  Derek Price  <derek@ximbiot.com>
62821             Paul Eggert  <eggert@cs.ucla.edu>
62822
62823         Sync from cvs.
62824         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
62825
62826 2005-05-31  Derek Price  <derek@ximbiot.com>
62827             Paul Eggert  <eggert@cs.ucla.edu>
62828
62829         Sync from cvs.
62830         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
62831
62832 2005-05-29  Derek Price  <derek@ximbiot.com>
62833
62834         * config/srclist.txt (glob_.h, glob.c): Add these files.
62835
62836 2005-05-29  Derek Price  <derek@ximbiot.com>
62837
62838         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
62839         * modules/glob: New file.
62840         * modules/getlogin_r: Add link to POSIX spec in description.
62841
62842 2005-05-29  Derek Price  <derek@ximbiot.com>
62843             Paul Eggert  <eggert@cs.ucla.edu>
62844
62845         * m4/glob.m4: New file.
62846
62847 2005-05-29  Derek Price  <derek@ximbiot.com>
62848             Paul Eggert  <eggert@cs.ucla.edu>
62849
62850         * lib/glob_.h, lib/glob.c: New files.
62851
62852 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62853
62854         * modules/fts (Files): Remove m4/inttypes-pri.m4.
62855         * modules/fts-lgpl (Depends-on): Remove gettext.
62856
62857 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62858
62859         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
62860         and don't require gt_INTTYPES_PRI.
62861
62862 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62863
62864         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
62865
62866         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
62867         the configuration hassle isn't worth it.
62868         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
62869         (LONGEST_MODIFIER, PRIuMAX): Remove.
62870
62871 2005-05-27  Bruno Haible  <bruno@clisp.org>
62872
62873         * lib/getlogin_r.h: Remove second include of <stddef.h>.
62874
62875 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
62876
62877         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
62878         _POSIX_PTHREAD_SEMANTICS for Solaris.
62879
62880 2005-05-25  Derek Price  <derek@ximbiot.com>
62881
62882         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
62883
62884 2005-05-25  Derek Price  <derek@ximbiot.com>
62885             Paul Eggert  <eggert@cs.ucla.edu>
62886
62887         * modules/getlogin_r, m4/getlogin_r.m4: New files.
62888         * lib/getlogin_r.c, getlogin_r.h: New files.
62889
62890 2005-05-25  Bruno Haible  <bruno@clisp.org>
62891             Derek Price  <derek@ximbiot.com>
62892
62893         * lib/getlogin_r.h: Simplify API documentation.
62894
62895 2005-05-23  Derek Price  <derek@ximbiot.com>
62896
62897         * modules/minmax (Files): Add m4/minmax.m4.
62898         (configure.ac): Add gl_MINMAX.
62899
62900 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62901
62902         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
62903         so that unistd-safer.h (GPL'ed code) need not be included.
62904
62905 2005-05-22  Bruno Haible  <bruno@clisp.org>
62906
62907         * m4/minmax.m4: New file.
62908         Based on a patch by Derek Price <derek@ximbiot.com>.
62909
62910 2005-05-22  Bruno Haible  <bruno@clisp.org>
62911
62912         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
62913         (INT64_MIN): Fix definition.
62914         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
62915
62916         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
62917         NEED_SIGNED_INT_TYPES.
62918
62919         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
62920         HAVE_SYSTEM_INTTYPES.
62921
62922 2005-05-22  Bruno Haible  <bruno@clisp.org>
62923
62924         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
62925         Also include <sys/param.h> if it defines MIN, MAX.
62926         Based on a patch by Derek Price <derek@ximbiot.com>.
62927
62928 2005-05-21  Jim Meyering  <jim@meyering.net>
62929
62930         * modules/fts (Files): Add m4/inttypes-pri.m4.
62931         (Depends-on): Add lstat and remove gettext.  Alphabetize.
62932
62933 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62934
62935         New fts module.
62936         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
62937         (setup_dir, free_dir): New functions.
62938         (enter_dir, leave_dir): Define trivial
62939         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
62940         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
62941         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
62942         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
62943         Move to fts-cycle.c.
62944         (fts_open): Use setup_dir.
62945         (fts_close): Use free_dir.
62946         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
62947         This adds a label and some gotos, but the alternatives were messier.
62948         Check for memory allocation failure when entering a dir.
62949         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
62950         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
62951         (FTS): New member fts_cycle, that is a union that contains the
62952         old active_dir_ht and cycle_state.  All uses changed to mention
62953         fts_cycle.ht and fts_cycle.state.
62954         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
62955         fts.c, with the following changes:
62956         (setup_dir, free_dir): New functions.
62957         (enter_dir): Now returns bool.  Return true if successful, false
62958         if memory exhausted.  All callers changed.
62959         Do not bother partly cleaning up on
62960         memory allocation failure; that is free_dir's job.
62961         However, free ad if hash_insert fails, to avoid memory leak.
62962         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
62963         fts->fts_options to see which union member to use.
62964
62965 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62966
62967         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
62968         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
62969
62970 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62971
62972         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
62973
62974 2005-05-20  Jim Meyering  <jim@meyering.net>
62975
62976         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
62977         Now a macro, to pacify GCC.
62978
62979 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
62980
62981         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
62982         of -1.
62983
62984 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
62985
62986         * lib/chown.c (rpl_chown): Return -1 on failure.
62987
62988 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
62989
62990         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
62991         Don't check for stddef.h.
62992         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
62993         don't use its results.
62994         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
62995         since we include them unconditionally.  Don't require
62996         AM_STDBOOL_H, since stdbool is a prerequisite.
62997         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
62998         since we assume C89 or better.
62999         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
63000         as we don't use their results.
63001         Don't check for fchdir, memmove, memset, strrchr, as we use
63002         them unconditionally.
63003         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
63004         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
63005
63006 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
63007
63008         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
63009         Include <stddef.h> unconditionally, since we assume C89 now.
63010         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
63011         * lib/fts.c: Include fts_.h first, to check interface.
63012         Do not include intprops.h; no longer needed.
63013         Include cycle-check.h and hash.h, since fts_.h no longer does.
63014         Remove unnecessary casts of closedir to void.
63015         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
63016         decide whether to decrement nlinks.
63017         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
63018         (FTS): Use struct hash_table * instead of Hash_table, so that
63019         we no longer need to include hash.h here.
63020
63021 2005-05-18  Jim Meyering  <jim@meyering.net>
63022
63023         * modules/dirfd (License): Change to LGPL.  Most of the code
63024         is already in the public domain.
63025
63026 2005-05-18  Jim Meyering  <jim@meyering.net>
63027
63028         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
63029         Reported by Yoann Vandoorselaere.
63030
63031 2005-05-17  Jim Meyering  <jim@meyering.net>
63032
63033         * m4/fts.m4: New file, from coreutils.
63034
63035 2005-05-17  Jim Meyering  <jim@meyering.net>
63036
63037         * lib/fts.c, lib/fts_.h: New files, from coreutils.
63038
63039 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
63040
63041         Sync from coreutils.
63042         * m4/unlinkdir.m4: New file.
63043
63044 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         Sync from coreutils.
63047         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
63048         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
63049         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
63050         White space changes only.
63051         * lib/makepath.c (make_path): Port to hosts where leading "//" is
63052         special.
63053         * lib/yesno.c: Include getline.h, not ctype.h.
63054         (yesno): Don't remove leading white space; POSIX doesn't allow it.
63055         Use getline to remove arbitrary restriction on response length.
63056
63057 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
63058
63059         * config/srclist-update: Spell out "Street" in FSF postal
63060         mail address; this is the style the FSF seems to prefer.
63061
63062         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
63063         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
63064         this updates FSF postal mail address.
63065
63066         Sync from coreutils.
63067         * modules/unlinkdir: New file.
63068         * modules/yesno (Depends-on): Add getline.
63069         * MODULES.html.sh (File system functions): Add unlinkdir.
63070
63071 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63072
63073         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
63074         lib/strsep.h:
63075         Change the initial comment to refer to GPL, not LGPL.
63076         gnulib-tool will change it to LGPL as needed.
63077
63078         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
63079         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
63080         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
63081         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
63082         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
63083         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
63084         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
63085         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
63086         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
63087         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
63088         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
63089         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
63090         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
63091         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
63092         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
63093         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
63094         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
63095         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
63096         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
63097         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
63098         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
63099         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
63100         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
63101         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
63102         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
63103         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
63104         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
63105         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
63106         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
63107         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
63108         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
63109         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
63110         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
63111         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
63112         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
63113         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
63114         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
63115         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
63116         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
63117         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
63118         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
63119         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
63120         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
63121         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
63122         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
63123         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
63124         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
63125         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
63126         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
63127         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
63128         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
63129         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
63130         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
63131         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
63132         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
63133         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
63134         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
63135         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
63136         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
63137         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
63138         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
63139         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
63140         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
63141         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
63142         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
63143         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
63144         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
63145         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
63146         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
63147         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
63148         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
63149         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
63150         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
63151         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
63152         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
63153         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
63154         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
63155         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
63156         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
63157         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
63158         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
63159         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
63160         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
63161         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
63162         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
63163         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
63164         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
63165         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
63166         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
63167         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
63168         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
63169         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
63170         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
63171         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
63172         lib/yesno.c, lib/yesno.h:
63173         Update FSF postal mail address.
63174
63175 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63176
63177         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
63178         tests/test-memmem.c, tests/test-stpncpy.c:
63179         Update FSF postal mail address.
63180
63181 2005-05-13  Bruno Haible  <bruno@clisp.org>
63182
63183         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
63184         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
63185         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
63186         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
63187         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
63188         Add support for 64-bit integers in the MSVC compiler.
63189
63190 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63191
63192         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
63193
63194 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
63195
63196         * gnulib-tool (func_import): Sort and uniquify recommended includes.
63197
63198 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
63199
63200         * doc/getdate.texi (General date syntax): Don't say that date
63201         date --iso-8601=ns generates acceptable dates; it doesn't yet.
63202         Problem reported by Nic Ferrier.
63203
63204 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63205
63206         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
63207         specified in ai_socktype. Fix invalid ai_protocol
63208         check. ai_protocol is usually set to 0 or depending on
63209         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
63210         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
63211         ai_socktype / ai_protocol in the returned addrinfo structure.
63212
63213 2005-05-10  Simon Josefsson  <jas@extundo.com>
63214
63215         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
63216         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63217
63218 2005-05-10  Karl Berry  <karl@gnu.org>
63219
63220         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
63221         (from http://www.gnu.org/licenses).
63222         * doc/COPYING.LIB: also rename to COPYING.LESSER.
63223         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
63224         fdl.texi suffices.
63225
63226 2005-05-10  Karl Berry  <karl@gnu.org>
63227
63228         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
63229         (COPYING.DOC): remove.
63230
63231         * config/srclist-update: new FSF address.
63232
63233 2005-05-10  Derek Price  <derek@ximbiot.com>
63234
63235         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
63236         possible.
63237
63238 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63239             Bruno Haible  <bruno@clisp.org>
63240
63241         * modules/inet_ntop: New file.
63242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63243         inet_ntop.
63244
63245 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63246             Bruno Haible  <bruno@clisp.org>
63247
63248         * m4/inet_ntop.m4: New file.
63249
63250 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63251             Bruno Haible  <bruno@clisp.org>
63252
63253         * lib/inet_ntop.h: New file.
63254         * lib/inet_ntop.c: New file, from glibc with modifications.
63255
63256 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
63257
63258         * modules/time_r (License): Change to LGPL.
63259         * modules/extensions (License): Change to LGPL.  Actually,
63260         the license is more permissive than that, but currently gnulib-tool
63261         doesn't know how to handle more-permissive licenses.
63262
63263         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
63264         Problem reported by Dave Love.
63265
63266 2005-05-08  Jim Meyering  <jim@meyering.net>
63267
63268         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
63269         blank.
63270
63271 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
63272
63273         * modules/argmatch (Depends-on): Add stdbool.
63274         * modules/backupfile (Depends-on): Likewise.
63275         * modules/chdir-long (Depends-on): Likewise.
63276         * modules/closeout (Depends-on): Likewise.
63277         * modules/cycle-check (Depends-on): Likewise.
63278         * modules/dirname (Depends-on): Likewise.
63279         * modules/fnmatch (Depends-on): Likewise.
63280         * modules/fsusage (Depends-on): Likewise.
63281         * modules/fwriteerror (Depends-on): Likewise.
63282         * modules/getcwd (Depends-on): Likewise.
63283         * modules/getloadavg (Depends-on): Likewise.
63284         * modules/hard-locale (Depends-on): Likewise.
63285         * modules/makepath (Depends-on): Likewise.
63286         * modules/mountlist (Depends-on): Likewise.
63287         * modules/nanosleep (Depends-on): Likewise.
63288         * modules/posixtm (Depends-on): Likewise.
63289         * modules/quotearg (Depends-on): Likewise.
63290         * modules/readtokens (Depends-on): Likewise.
63291         * modules/readtokens0 (Depends-on): Likewise.
63292         * modules/readutmp (Depends-on): Likewise.
63293         * modules/save-cwd (Depends-on): Likewise.
63294         * modules/strftime (Depends-on): Likewise.
63295         * modules/userspec (Depends-on): Likewise.
63296         * modules/utimecmp (Depends-on): Likewise.
63297         * modules/xgetcwd (Depends-on): Likewise.
63298         * modules/xnanosleep (Depends-on): Likewise.
63299         * modules/xstrtod (Depends-on): Likewise.
63300         * modules/yesno (Depends-on): Likewise.
63301
63302 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
63303
63304         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
63305         needless checks.
63306
63307 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63308
63309         Merge from coreutils.  Among other things,
63310         add bulletproofing for cases where stdin, stdout, or stderr are closed.
63311         * lib/fd-safer.c: New file.
63312         * lib/fcntl-safer.h, open-safer.c: Remove.
63313         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
63314         * lib/dup-safer.c: Include unistd-safer.h first.
63315         Don't include errno.h.
63316         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
63317         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
63318         * lib/file-type.c: Rely on file-type.h change.
63319         * lib/getloadavg.c: Include unistd-safer.h.
63320         (getloadavg): Use safer open.
63321         * lib/getusershell.c: Include "stdio-safer.h".
63322         (getusershell): Use safer fopen.
63323         * lib/long-options.c (long_options): Use NULL rather than 0.
63324         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
63325         'free'.
63326         * lib/modechange.c: Likewise.
63327         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
63328         (MODE_DONE): New constant.
63329         (struct mode_change): Remove 'next' member.
63330         (make_node_op_equals): New function; like the old one of the
63331         same name, except it allocates an array.
63332         (mode_compile, mode_create_from_ref): Use it.
63333         (mode_compile): Allocate result as an array, not a linked list.
63334         Parse octal string ourself, so that we catch mistakes like "+0".
63335         (mode_adjust): Arg is an array, not a linked list.
63336         * lib/modechange.c: Include stat-macros.h, xalloc.h.
63337         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
63338         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
63339         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
63340         Remove.  This is now stat-macros.h's job.
63341         (talloc): Remove.  All callers replaced by xalloc, so that
63342         our invokers don't have to worry about reporting memory failures.
63343         (make_node_op_equals): Remove.
63344         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
63345         New constants.
63346         (struct mode_change): Moved here from modechange.h.
63347         (mode_append_entry): Remove.
63348         (mode_compile): Remove MASKED_OPS arg, since it encouraged
63349         apps to have incorrect behavior.  Use simpler algorithm for head
63350         and tail.  Don't futz with umask; that's now the job of mode_adjust.
63351         Detect more invalid usages rather than having somewhat-random behavior.
63352         Don't insert an "a=" action, as that leads to incorrect behavior.
63353         (mode_compile, mode_create_from_ref): Return NULL on error instead
63354         of an enum, since now there's only one way to have an error.  All
63355         callers changed.
63356         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
63357         at the correct time.  Simplify calculation of "+u" and its ilk.
63358         Don't mishandle "+X".
63359         (mode_free): Remove "register" and localize decls.
63360         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
63361         (struct mode_change): Move to modechange.c; callers don't
63362         need to see this stuff.
63363         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
63364         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
63365         (mode_change, mode_adjust): Reflect the new signatures noted above.
63366         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
63367         that might redefine system include files.
63368         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
63369         (my_usleep): Use NULL rather than (void *) 0.
63370         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
63371         Use siginterrupt to specify that system calls should be interrupted.
63372         (rpl_nanosleep): Move initialization of suspended closer to call of
63373         my_usleep.
63374         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
63375         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
63376         (desirable_utmp_entry): New function.
63377         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
63378         using x2nrealloc, to simplify logic.
63379         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
63380         size calculation.  Do not assume utmp file is a regular file.
63381         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
63382         (READ_UTMP_CHECK_PIDS): New constant.
63383         * lib/save-cwd.c: Include unistd-safer.h.
63384         (save_cwd): Use fd_safer.
63385         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
63386         [!_LIBC] Include "stat-macros.h" instead.
63387         * lib/unistd-safer.h (fd_safer): New decl.
63388
63389 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63390
63391         * modules/getloadavg (Depends-on): Add unistd-safer.
63392         * modules/getusershell (Depends-on): Add stdio-safer.
63393         * modules/lstat (Depends-on): Remove xalloc.
63394         * modules/mkstemp (Depends-on): Add stat-macros.
63395         * modules/modechange (Depends-on): Remove xstrtol.
63396         Add stat-macros, xalloc.
63397         * modules/save-cwd (Depends-on): Add unistd-safer.
63398         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
63399         * modules/unistd-safer (Files): Add lib/fd-safer.c
63400         (Makefile.am): Remove lib_SOURCES.
63401
63402         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
63403         Remove fcntl-safer; unistd-safer supersedes it.
63404
63405 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63406
63407         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
63408         AC_HEADER_STAT.
63409         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
63410         (gl_PREREQ_CHOWN): Remove.
63411         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
63412         it.  Don't require AC_HEADER_STAT.
63413         (gl_PREREQ_LSTAT): Remove.
63414         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
63415         Don't require AC_HEADER_STAT.
63416         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
63417         (gl_PREREQ_RMDIR): Remove.
63418         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
63419         mention stat-macros.h or AC_HEADER_STAT, since we'll make
63420         the stat-macros module a prerequisite.
63421         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
63422         * m4/filemode.m4 (gl_FILEMODE): Likewise.
63423         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
63424         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
63425         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
63426         variable names.
63427         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
63428         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
63429         variable prefixes.
63430         * m4/fcntl-safer.m4: Remove.
63431         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
63432         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
63433         Invoke gl_PREREQ_FD_SAFER.
63434         (gl_PREREQ_FD_SAFER): New macro.
63435         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
63436         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
63437         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
63438         Remove duplicate call to AC_LIBOBJ(readutmp).
63439         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
63440
63441         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
63442         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
63443
63444 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63445
63446         * MODULES.html.sh (Misc): Add byteswap.
63447
63448 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63449
63450         * modules/getcwd (Depends-on): Add extensions.
63451         * modules/openat (Depends-on): Likewise.
63452
63453 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63454
63455         * modules/byteswap: New file.
63456
63457 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63458
63459         * m4/byteswap.m4: New file.
63460
63461 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63462
63463         * lib/byteswap_.h: New file.
63464
63465 2005-04-25  Karl Berry  <karl@gnu.org>
63466
63467         * m4/gettext.m4: Update from GNU gettext 0.14.4.
63468
63469 2005-04-25  Albert Chin  <china@thewrittenword.com>
63470
63471         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
63472         Toolkit C bug.
63473
63474 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
63475
63476         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
63477         (func_ln_if_changed) Remove forcibly for no error message
63478         in case file does not exist.
63479
63480 2005-04-19  Simon Josefsson  <jas@extundo.com>
63481
63482         * gnulib-tool (Options): Make --symlink mean --symbolic.
63483
63484 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
63485
63486         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
63487
63488 2005-04-16  Simon Josefsson  <jas@extundo.com>
63489
63490         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
63491
63492 2005-04-15  Simon Josefsson  <jas@extundo.com>
63493
63494         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
63495
63496 2005-04-15  Simon Josefsson  <jas@extundo.com>
63497
63498         * gnulib-tool: Rename --symlink to --symbolic.
63499
63500 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
63501
63502         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
63503         symbolic links to files instead of copying/moving.  Add --aux-dir,
63504         specifying directory relative --dir where auxiliary build tools
63505         are placed.
63506
63507 2005-04-14  Bruno Haible  <bruno@clisp.org>
63508
63509         * modules/allocsa (License): Change to LGPL.
63510         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
63511
63512 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63513
63514         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
63515         that "UTC +1 second" continues to work.  Problem reported
63516         by Dmitry V. Levin.
63517         (relunit_snumber): New rule.
63518         (relunit): Use it.
63519
63520 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
63521
63522         * lib/getdate.y (universal_time_zone_table): New constant.
63523         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
63524         universal_time_zone_table.
63525         (lookup_zone): Prefer universal_time_zone_table to
63526         local_time_zone_table, so that "GMT" time stamps are allowed in
63527         London during the summer.  Problem reported by Ian Abbott.
63528
63529 2005-04-12  Jim Meyering  <jim@meyering.net>
63530
63531         * lib/human.c (humblock): Set *options even when returning due to
63532         xstrtoumax conversion failure.  Thanks to a used-uninitialized
63533         warning from gcc-4.
63534
63535 2005-04-09  Jim Meyering  <jim@meyering.net>
63536
63537         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
63538         -Wuninitialized: initialize tm0.tm_year.
63539
63540 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63541
63542         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
63543         count, since there's no maximum.  All uses changed.
63544         Add member dsts_seen.
63545         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
63546         not being INT_MAX.
63547         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
63548         Use pc_rels_seen to decide whther a date is absolute.
63549
63550         * lib/getdate.y (number): Don't overwrite year.
63551         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
63552         check.
63553
63554 2005-04-02  Simon Josefsson  <jas@extundo.com>
63555
63556         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
63557         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
63558
63559 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
63560
63561         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
63562         where no absolute path name can be longer than PATH_MAX.
63563
63564 2005-03-27  Jim Meyering  <jim@meyering.net>
63565
63566         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
63567
63568 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
63569
63570         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
63571         "one's complement" -> "ones' complement" in comment, as per Knuth.
63572         "value of type" -> "type or expression" in comment.
63573         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
63574
63575 2005-03-26  Jim Meyering  <jim@meyering.net>
63576
63577         Comment nits.
63578         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
63579         Correct typos: s/or/of/.
63580
63581 2005-03-26  Jim Meyering  <jim@meyering.net>
63582
63583         * modules/check-include-files: Move to ../ and rename to...
63584         * check-module: ...this.
63585
63586 2005-03-25  Jim Meyering  <jim@meyering.net>
63587
63588         * modules/xvasprintf (Files): Add xalloc.h.
63589
63590 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63591
63592         * modules/gettext (Files): config/config.rpath ->
63593         build-aux/config.rpath
63594         * modules/iconv (Files): Likewise.
63595         Problem reported by Oskar Liljeblad.
63596
63597 2005-03-23  Jim Meyering  <jim@meyering.net>
63598
63599         * modules/check-include-files: New script to check for
63600         missing dependencies, multiple includes, etc.
63601
63602         * modules/c-strtold (Depends-on): Add xalloc.
63603         * modules/c-strtod (Depends-on): Add xalloc.
63604         * modules/hash (Depends-on): Add xalloc.
63605         (Files): Remove lib/xalloc.h.
63606
63607         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
63608         * modules/userspec (Files): Add lib/inttostr.h.
63609
63610 2005-03-23  Jim Meyering  <jim@meyering.net>
63611
63612         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
63613
63614 2005-03-22  Jim Meyering  <jim@meyering.net>
63615
63616         * modules/stat-macros: New module.
63617         * modules/canonicalize, modules/euidaccess, modules/file-type,
63618         * modules/filemode, modules/lchown, modules/makepath,
63619         * modules/rmdir, modules/stat: Depend on new stat-macros module
63620         rather than listing lib/stat-macros.h manually.
63621         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
63622
63623 2005-03-22  Jim Meyering  <jim@meyering.net>
63624
63625         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
63626
63627 2005-03-22  Bruno Haible  <bruno@clisp.org>
63628
63629         * config/srclist.txt: Replace target directory 'config' with
63630         'build-aux'.
63631         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
63632         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
63633         ../build-aux/.
63634
63635 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
63636
63637         * modules/chdir-long (Depends-on): Add mempcpy.
63638
63639         * modules/acl, modules/backupfile, modules/c-strtod,
63640         modules/c-strtold, modules/canon-host, modules/canonicalize,
63641         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
63642         modules/exclude, modules/exitfail, modules/file-type,
63643         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
63644         modules/getdate, modules/getline, modules/getpagesize,
63645         modules/getpass, modules/getugroups, modules/group-member,
63646         modules/hard-locale, modules/hash, modules/human, modules/idcache,
63647         modules/inttostr, modules/long-options, modules/makepath,
63648         modules/md5, modules/memcasecmp, modules/memcoll,
63649         modules/modechange, modules/mountlist, modules/path-concat,
63650         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
63651         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
63652         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
63653         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
63654         modules/strftime, modules/strndup, modules/strverscmp,
63655         modules/timespec, modules/unlocked-io, modules/userspec,
63656         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
63657         modules/yesno:
63658         Remove lib_SOURCES line from Makefile.am section, as this is now
63659         done automatically by the corresponding Autoconf macro.
63660
63661 2005-03-21  Jim Meyering  <jim@meyering.net>
63662
63663         Changes imported from coreutils.
63664
63665         * lib/cycle-check.c: Don't include xalloc.h.
63666
63667         * lib/path-concat.c: Don't include assert.h.
63668         (path_concat): Remove assertion that would have triggered
63669         for ABASE starting with more than one slash.
63670         Reported by Andreas Schwab.
63671
63672         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
63673         properly when ABASE is an absolute file name.
63674         Correct the description of this function.
63675         Include <assert.h>.
63676         Add an assertion and a test driver.
63677         This fixes a bug introduced on 2004-07-02.
63678         Andreas Schwab reported the resulting failure of cp --parents:
63679         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
63680
63681 2005-03-21  Jim Meyering  <jim@meyering.net>
63682
63683         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
63684         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
63685
63686 2005-03-21  Jim Meyering  <jim@meyering.net>
63687         and  Paul Eggert  <eggert@cs.ucla.edu>
63688
63689         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
63690         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
63691         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
63692         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
63693         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
63694         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
63695         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
63696         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
63697         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
63698         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
63699         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
63700         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
63701         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
63702         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
63703         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
63704         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
63705         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
63706         for these modules.
63707
63708 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
63709
63710         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
63711         (which shouldn't happen), generate nothing instead of returning 0
63712         immediately, so that nstrftime (NULL, ...) doesn't return 0.
63713
63714 2005-03-16  Bruno Haible  <bruno@clisp.org>
63715
63716         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
63717         HAVE_LONGLONG_64BIT.
63718
63719 2005-03-16  Bruno Haible  <bruno@clisp.org>
63720
63721         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
63722         HAVE_LONGLONG_64BIT.
63723
63724 2005-03-16  Bruno Haible  <bruno@clisp.org>
63725
63726         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
63727         HAVE_LONGLONG_64BIT.
63728
63729 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
63730
63731         * lib/strftime.c (my_strftime): Prepend space to format so that we can
63732         reliably distinguish strftime failure from empty output on POSIX
63733         hosts.
63734
63735 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
63736
63737         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
63738         (iconv_string): Don't guess a size-zero buffer, as that might cause
63739         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
63740         result would be 'too large', where 'too large' is (heuristically)
63741         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
63742         overflow concerns.  This will prevent some unwanted malloc failures
63743         when the inputs are very large.
63744
63745 2005-03-15  Karl Berry  <karl@gnu.org>
63746
63747         * config/srclist.txt (config.rpath): from gettext.
63748         * config/config.rpath: update.
63749
63750 2005-03-15  Bruno Haible  <bruno@clisp.org>
63751
63752         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
63753         to 'negate'.
63754
63755         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
63756         variable.
63757
63758         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
63759         results.
63760
63761 2005-03-14  Simon Josefsson  <jas@extundo.com>
63762
63763         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
63764         <fx@gnu.org>.
63765
63766 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
63767
63768         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
63769         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
63770         intprops.h.
63771         * lib/strtol.c: Likewise.
63772
63773 2005-03-14  Jim Meyering  <jim@meyering.net>
63774
63775         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
63776         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
63777         to be nonzero so that we (and caller) can detect the difference
63778         between a valid zero-length expansion and an error return, even
63779         when the underlying strftime fails before writing anything into
63780         that location.
63781
63782 2005-03-14  Bruno Haible  <bruno@clisp.org>
63783
63784         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
63785         Update from GNU gettext 0.14.3.
63786
63787 2005-03-10  Jim Meyering  <jim@meyering.net>
63788
63789         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
63790
63791 2005-03-10  Jim Meyering  <jim@meyering.net>
63792
63793         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
63794         so that this module works on systems without fchdir.
63795
63796 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
63797
63798         Factor int-properties macros into a single file, except for
63799         glibc-related files.
63800         * lib/intprops.h: New file.
63801         * lib/getloadavg.c: Include it instead of limits.h.
63802         (INT_STRLEN_BOUND): Remove.
63803         * lib/human.c: Include intprops.h.
63804         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
63805         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
63806         302/1000.
63807         * lib/inttostr.h: Include intprops.h instead of limits.h.
63808         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
63809         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
63810         for consistency with intprops.h.
63811         (time_t_is_integer, twos_complement_arithmetic): Use them.
63812         * lib/sig2str.h: Include <signal.h>, intprops.h.
63813         (INT_STRLEN_BOUND): Remove.
63814         * lib/strftime.c (TYPE_SIGNED): Remove.
63815         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
63816         * lib/strtol.c: Adjust comments to match intprops.h.
63817         * lib/userspec.c: Include intprops.h.
63818         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
63819         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
63820         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
63821         instead of rolling our own expressions.
63822         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
63823
63824         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
63825         instead of int.
63826         (my_strftime): Do not mishandle years close to INT_MAX, by doing
63827         the right thing even if adding 1900 would overflow.  Similarly
63828         for tm_mon + 1 and tm_yday + 1.
63829         Make %Y always equivalent to %C%y, and similarly for %G and %g.
63830         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
63831         (DO_SIGNED_NUMBER): New macro.
63832         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
63833
63834 2005-03-07  Bruno Haible  <bruno@clisp.org>
63835
63836         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
63837
63838 2005-03-07  Bruno Haible  <bruno@clisp.org>
63839
63840         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
63841
63842 2005-03-04  Derek R. Price  <derek@ximbiot.com>
63843
63844         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
63845         (func_import): Only replace files via --import when they have actually
63846         changed.
63847
63848 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63849
63850         * m4/mmap-anon.m4: New file.
63851         * m4/pagealign_alloc.m4: New file.
63852
63853 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63854             Bruno Haible  <bruno@clisp.org>
63855
63856         * modules/pagealign_alloc: New file.
63857         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
63858
63859 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63860             Bruno Haible  <bruno@clisp.org>
63861
63862         * lib/pagealign_alloc.h: New file.
63863         * lib/pagealign_alloc.c: New file.
63864
63865 2005-03-03  Bruno Haible  <bruno@clisp.org>
63866
63867         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
63868         Use an all-permissive copyright notice, recommended by RMS.
63869
63870 2005-03-02  Bruno Haible  <bruno@clisp.org>
63871
63872         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
63873         of AIX, the replacement has to be done only after <string.h> is
63874         included, therefore not in config.h. stpncpy.h does the replacement,
63875         and stpncpy.c uses it.
63876
63877 2005-03-02  Bruno Haible  <bruno@clisp.org>
63878
63879         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
63880         stpncpy.c uses it.
63881
63882 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63883
63884         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
63885         The workaround isn't strictly needed for POSIX conformance, and
63886         it's too much of a pain to configure and maintain.  We'll ask
63887         people to fix their kernels instead.
63888         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
63889         (NANOSLEEP_BUG_WORKAROUND): Remove.
63890         (xnanosleep): Remove the workaround.
63891
63892 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63893
63894         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
63895         Reported by Derek Price.
63896         (Include): Add "timespec.h".
63897
63898         * modules/xnanosleep (Depends-on): Remove gethrxtime.
63899
63900 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63901
63902         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
63903         to detect nanosleep bug.
63904
63905 2005-03-01  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
63908
63909 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63910
63911         * modules/gethrxtime: New file.
63912         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
63913         (Depends-on): Add gethrxtime.
63914         (configure.ac): Add gl_XNANOSLEEP.
63915         (Makefile.am): Remove lib_SOURCES line.
63916
63917 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63918
63919         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
63920         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
63921
63922 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63923
63924         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
63925         * lib/timespec.h (gettime): Return void, since it always
63926         succeeds now.  All uses changed.
63927         * lib/gettime.c (gettime) Likewise.
63928         [HAVE_NANOTIME]: Prefer nanotime.
63929         Assume gettimeofday succeeds, as POSIX requires.
63930         Assime time () succeeds, since other code already does.
63931         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
63932         (timespec_subtract): Remove.
63933         (NANOSLEEP_BUG_WORKAROUND): New constant.
63934         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
63935         things considerably.  Use it only on GNU/Linux hosts, since the
63936         workaround shouldn't be needed elsewhere.
63937
63938 2005-02-24  Bruno Haible  <bruno@clisp.org>
63939
63940         * modules/gettext (Files): Add m4/glibc2.m4.
63941
63942 2005-02-24  Bruno Haible  <bruno@clisp.org>
63943
63944         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
63945         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
63946         * m4/progtest.m4:
63947         Update from GNU gettext 0.14.2.
63948         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
63949
63950 2005-02-24  Bruno Haible  <bruno@clisp.org>
63951
63952         * lib/localcharset.c: Update from GNU gettext 0.14.2.
63953         * lib/config.charset: Update from GNU gettext 0.14.2.
63954
63955 2005-02-24  Bruno Haible  <bruno@clisp.org>
63956
63957         * lib/gettext.h: Update from GNU gettext 0.14.2.
63958
63959 2005-02-23  Simon Josefsson  <jas@extundo.com>
63960
63961         * m4/iconvme.m4: New file.
63962
63963 2005-02-23  Jim Meyering  <jim@meyering.net>
63964
63965         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
63966         change.
63967         Thanks to Bruno Haible for catching it.
63968
63969 2005-02-22  Simon Josefsson  <jas@extundo.com>
63970
63971         * modules/iconvme: New file.
63972
63973         * MODULES.html.sh: Add iconvme.
63974
63975 2005-02-22  Simon Josefsson  <jas@extundo.com>
63976
63977         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
63978
63979 2005-02-22  Simon Josefsson  <jas@extundo.com>
63980
63981         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
63982
63983 2005-02-22  Jim Meyering  <jim@meyering.net>
63984
63985         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
63986         s/ifndef/ifdef/.
63987
63988 2005-02-20  Neil Conway  <neilc@samurai.com>
63989
63990         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
63991         returned by OSX/Darwin if the specified buffer is not large
63992         enough for the hostname.
63993
63994 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63995
63996         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
63997         pass it to _help, otherwise the latter coredumps trying to
63998         dereference state.root_argp.
63999
64000 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
64001
64002         * modules/chdir-long (Depends-on): Add memrchr.
64003         * modules/memrchr (Files): Add lib/memrchr.h.
64004         (Include): "memrchr.h".
64005
64006 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
64007
64008         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
64009
64010 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
64011
64012         * lib/memrchr.h: New file.
64013         * lib/chdir-long.c: Include it.
64014         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
64015         Don't bother including stddef.h.
64016
64017 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
64018
64019         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
64020         inclusion.
64021         Include <sys/types.h>, for dev_t.
64022         (ME_DUMMY, ME_REMOTE): Move from here....
64023         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
64024         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
64025         Dmitry V. Levin.
64026         Include mountlist.h first, to test the interface.
64027
64028 2005-01-29  Bruno Haible  <bruno@clisp.org>
64029
64030         * lib/progname.c (program_name): Initialize.
64031         Needed when linking statically on MacOS X.
64032
64033 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
64034
64035         Sync from coreutils.
64036         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
64037         (Depends-on): Add c-strtod.
64038         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
64039
64040 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
64041
64042         Sync from coreutils.
64043         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
64044
64045         Remove files that are specific to coreutils.
64046         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
64047
64048 2005-01-28  Bruno Haible  <bruno@clisp.org>
64049
64050         * modules/javacomp: New file.
64051         * MODULES.html.sh (Java): Add javacomp.
64052
64053 2005-01-28  Bruno Haible  <bruno@clisp.org>
64054
64055         * m4/javacomp.m4: New file, from GNU gettext.
64056
64057 2005-01-28  Bruno Haible  <bruno@clisp.org>
64058
64059         * lib/javacomp.sh.in: New file, from GNU gettext.
64060         * lib/javacomp.h: New file, from GNU gettext.
64061         * lib/javacomp.c: New file, from GNU gettext.
64062
64063 2005-01-26  Simon Josefsson  <jas@extundo.com>
64064
64065         * lib/gai_strerror.c: Use GPL in header.
64066
64067 2005-01-26  Bruno Haible  <bruno@clisp.org>
64068
64069         * modules/javaexec: New file.
64070         * MODULES.html.sh (Java): Add javaexec.
64071
64072 2005-01-26  Bruno Haible  <bruno@clisp.org>
64073
64074         * m4/javaexec.m4: New file, from GNU gettext.
64075
64076 2005-01-26  Bruno Haible  <bruno@clisp.org>
64077
64078         * lib/javaexec.sh.in: New file, from GNU gettext.
64079         * lib/javaexec.h: New file, from GNU gettext.
64080         * lib/javaexec.c: New file, from GNU gettext.
64081
64082 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64083
64084         * modules/lchown (Depends-on): Remove lchown.h
64085
64086 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64087
64088         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
64089         must be defined if the header file was not found, in order
64090         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
64091
64092 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64093
64094         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
64095         initializers for struct pentry_state.
64096         (__argp_error): Check return value of __asprintf
64097         (__argp_failure): Translate error message
64098
64099         * lib/argp-parse.c: Removed braces around the expansion of N_()
64100
64101 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64102
64103         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
64104         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
64105         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
64106         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
64107         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
64108         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
64109         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
64110         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
64111         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
64112         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
64113         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
64114         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
64115         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
64116         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
64117         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
64118         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
64119         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
64120         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
64121         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
64122         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
64123         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
64124         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
64125         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
64126         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
64127         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
64128         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
64129         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
64130         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
64131         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
64132         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
64133         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
64134         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
64135         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
64136         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
64137         xstrtol.m4, xstrtoumax.m4, yesno.m4:
64138         Use an all-permissive copyright notice, recommended by RMS.
64139
64140 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
64141
64142         * modules/chdir-long (Depends-on): Remove mempcpy.
64143
64144 2005-01-21  Jim Meyering  <jim@meyering.net>
64145
64146         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
64147         same value as for Solaris 9.
64148
64149         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
64150         component length.  This included changing the parameter to be
64151         of type `char *' rather than `char const *'.
64152         * lib/chdir-long.h (chdir_long): Update prototype.
64153
64154         * lib/openat.c (fdopendir, fstatat): New functions.
64155         * lib/openat.h: Include headers required for use of DIR and struct
64156         stat.
64157         [AT_SYMLINK_NOFOLLOW]: Define.
64158         (fdopendir, fstatat): Add prototypes.
64159
64160 2005-01-21  Bruno Haible  <bruno@clisp.org>
64161
64162         * modules/classpath: New file.
64163         * MODULES.html.sh (Java): Add classpath.
64164
64165 2005-01-21  Bruno Haible  <bruno@clisp.org>
64166
64167         * lib/classpath.h: New file, from GNU gettext.
64168         * lib/classpath.c: New file, from GNU gettext.
64169
64170 2005-01-20  Simon Josefsson  <jas@extundo.com>
64171
64172         * modules/version-etc-fsf: New file.
64173
64174 2005-01-20  Simon Josefsson  <jas@extundo.com>
64175
64176         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
64177         * lib/version-etc.c: Remove version_etc_copyright.
64178         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
64179         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
64180
64181 2005-01-20  Simon Josefsson  <jas@extundo.com>
64182
64183         * lib/base64.h (isbase64): Add.
64184
64185         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
64186         using a unsigned prototype, don't inline.
64187         (base64_decode): Use it.
64188
64189 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64190
64191         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
64192         it.
64193
64194 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64195
64196         * lib/save-cwd.c (save_cwd): Remove code to support the case
64197         where fchdir is missing or flaky.
64198
64199 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64200
64201         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
64202
64203 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64204
64205         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
64206         AC_LIBSOURCES now does this.
64207         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
64208         with new ullong_max module.
64209
64210 2005-01-19  Bruno Haible  <bruno@clisp.org>
64211
64212         * modules/sh-quote: New file.
64213         * MODULES.html.sh (Executing programs): Add sh-quote.
64214
64215 2005-01-19  Bruno Haible  <bruno@clisp.org>
64216
64217         * lib/sh-quote.h: New file, from GNU gettext.
64218         * lib/sh-quote.c: New file, from GNU gettext.
64219
64220 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64221
64222         Merge from coreutils.
64223         * m4/ullong_max.m4: New file.
64224         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
64225         (gl_MACROS): Assume localeconv exists.
64226
64227 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64228
64229         Merge changes from coreutils, as described below in several
64230         changelogs dated today.
64231
64232         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
64233         (O_DIRECTORY): Remove; not needed here, since "." must be
64234         a directory.  All uses removed.
64235         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
64236         universal on Suns, and we also need to test for IRIX.
64237         Revamp code to use 'if' rather than '#if'.
64238         Avoid unnecessary comparison of cwd->desc to 0.
64239
64240         * lib/utimens.c (futimens): Robustify the previous patch, by checking
64241         for known valid error numbers rather than observed invalid ones.
64242
64243 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64244
64245         * modules/ullong_max: New file.
64246
64247         * modules/chdir-long, modules/openat: New files.
64248         * modules/save-cwd (Depends-on): Depend on chdir-long.
64249         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
64250
64251 2005-01-18  Jim Meyering  <jim@meyering.net>
64252
64253         Merge from coreutils.
64254         * m4/chdir-long.m4, m4/openat.m4: New files.
64255         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
64256         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
64257         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
64258         is sane and DOES follow symlinks.  Besides, testing 20 different
64259         systems found no broken chown implementations.
64260         Prompted by a change in rsync's copy of this macro.
64261         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
64262
64263         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
64264
64265         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
64266         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
64267         NULL-means-set-to-current-time semantics.
64268         Remove temporary file immediately, rather than waiting
64269         for configure's at-exit trap code to do it.
64270
64271 2005-01-18  Jim Meyering  <jim@meyering.net>
64272
64273         * lib/version-etc.c (version_etc_copyright): Update copyright date.
64274
64275         * lib/utimens.c (futimens): Account for the fact that futimes
64276         can also fail with errno == ENOSYS or errno == ENOENT.
64277         Patch from Dmitry V. Levin.
64278
64279         Change the name of the robust chdir function from chdir to chdir_long.
64280         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
64281         (restore_cwd): Use chdir_long, not chdir.
64282         * lib/chdir-long.c: Renamed from chdir.c.
64283         * lib/chdir-long.h: Renamed from chdir.h.
64284         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
64285         Hurd.
64286
64287 2005-01-18  Bruno Haible  <bruno@clisp.org>
64288
64289         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
64290         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
64291         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
64292         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
64293         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
64294         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
64295         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
64296         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
64297         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
64298         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
64299         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
64300         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
64301         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
64302         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
64303         Use an all-permissive copyright notice, recommended by RMS.
64304
64305 2005-01-18  Bob Proulx  <bob@proulx.com>
64306
64307         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
64308         simplify offsetof() macro construct to avoid compile failure with
64309         native HP-UX 11.0 ANSI C compiler.
64310
64311 2005-01-17  Bruno Haible  <bruno@clisp.org>
64312
64313         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
64314         redundant because stpncpy.m4 takes care of it.
64315
64316 2005-01-17  Bruno Haible  <bruno@clisp.org>
64317
64318         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
64319
64320 2005-01-17  Bruno Haible  <bruno@clisp.org>
64321
64322         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
64323         used.
64324
64325 2005-01-17  Bruno Haible  <bruno@clisp.org>
64326
64327         * lib/fwriteerror.h (fwriteerror): Change specification to include
64328         fclose.
64329         * lib/fwriteerror.c: Include <stdbool.h>.
64330         (fwriteerror): At the end, close the file stream. Record whether
64331         stdout was already closed.
64332
64333 2005-01-17  Bruno Haible  <bruno@clisp.org>
64334
64335         * lib/execute.c (environ): Declare if needed.
64336         * lib/pipe.c (environ): Likewise.
64337         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
64338
64339 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64340
64341         * modules/argp: Depend on vsnprintf
64342
64343 2005-01-10  Jim Meyering  <jim@meyering.net>
64344
64345         * modules/closeout (Depends-on): Add atexit.
64346
64347 2005-01-06  Bruno Haible  <bruno@clisp.org>
64348
64349         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
64350
64351 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64352
64353         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
64354         definitions to be after all include files, to avoid collisions.
64355         Problem reported by Bob Proulx.
64356
64357 2005-01-04  Jim Meyering  <jim@meyering.net>
64358
64359         Changes imported from coreutils.
64360         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
64361         as the mkstemp template, use a temporary directory and an
64362         8.3-friendly template to avoid trouble on systems like DJGPP.
64363         Reported by Juan M. Guerrero via Stepan Kasal.
64364         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
64365         close. Remove the temporary directory right away, rather than waiting
64366         for configure's at-exit trap code to do it.
64367         Suggestion from Stepan Kasal.
64368
64369 2005-01-01  Simon Josefsson  <jas@extundo.com>
64370
64371         * gnulib-tool: Print #include directives when --import'ing.
64372
64373 2004-12-28  Simon Josefsson  <jas@extundo.com>
64374
64375         * tests/test-base64.c: Include required header files.  Remove
64376         unused variables.
64377
64378 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64379
64380         * modules/error (Depends-on): Remove gettext.
64381
64382 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64383
64384         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
64385         not needed.  This removes a dependency on the gettext module.
64386         [defined _LIBC]: Do not include <libintl.h>; not needed.
64387
64388 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
64389
64390         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
64391         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
64392
64393 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
64394
64395         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
64396         HAVE_DECL_STRTOLD.
64397
64398 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64399
64400         * modules/getdate (Depends-on): Remove alloca-opt.
64401
64402 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64403
64404         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
64405
64406 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64407
64408         * lib/argp-parse.c: Include <stddef.h>.
64409         (alignof, alignto): New macros.
64410         (parser_init): Don't assume that void * is aligned sufficiently
64411         for struct option.
64412
64413         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
64414         need to extend the stack.
64415         (YYINITDEPTH): New macro, so that the initial stack isn't overly
64416         large.
64417
64418 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64419
64420         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
64421
64422 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
64423
64424         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
64425         (2004-10-24) change.  Apparently this was a false alarm.
64426
64427         * modules/getdate: Depend on alloca-opt, not alloca.
64428
64429 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
64430
64431         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
64432         Remove now-obsolete comment about AIX.
64433         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
64434         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
64435         (YYMAXDEPTH): New macro.
64436
64437 2004-12-18  Simon Josefsson  <jas@extundo.com>
64438
64439         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
64440
64441 2004-12-18  Bruno Haible  <bruno@clisp.org>
64442
64443         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
64444
64445 2004-12-18  Bruno Haible  <bruno@clisp.org>
64446
64447         * lib/fatal-signal.c (fatal_signals): Make non-const.
64448         (init_fatal_signals): New function.
64449         (uninstall_handlers, install_handlers): Ignore signals that were set to
64450         SIG_IGN.
64451         (at_fatal_signal): Call init_fatal_signals.
64452         (init_fatal_signal_set): Likewise. Ignore signals that were set to
64453         SIG_IGN.
64454         Reported by Paul Eggert.
64455
64456 2004-12-18  Bruno Haible  <bruno@clisp.org>
64457
64458         * doc/alloca.texi: New file.
64459         * doc/alloca-opt.texi: New file.
64460
64461 2004-12-17  Jim Meyering  <jim@meyering.net>
64462
64463         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
64464         Otherwise, install-sh could exit with improper exit status when
64465         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
64466
64467 2004-12-16  Simon Josefsson  <jas@extundo.com>
64468
64469         * tests/test-base64.c: Add license.
64470
64471 2004-12-15  Stepan Kasal  <address@hidden>
64472
64473         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
64474
64475 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
64476
64477         * modules/getcwd (Files): Add m4/d-ino.m4.
64478         Suggested by Mark D. Baushke.
64479
64480 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
64481
64482         * lib/getdate.y (textint): New member "negative".
64483         (time_zone_hhmm): New function.
64484         Expect 14 shift-reduce conflicts, not 13.
64485         (o_colon_minutes): New rule.
64486         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
64487         (yylex): Set the "negative" member of signed numbers.
64488
64489 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
64490
64491         * doc/getdate.texi (Time of day items, Time zone items):
64492         Describe new formats +00:00, UTC+00:00.
64493
64494 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64495
64496         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
64497         spurious "-l"s.  Problem reported by Stepan Kasal.
64498
64499 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
64500
64501         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
64502         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
64503
64504 2004-12-04  Simon Josefsson  <jas@extundo.com>
64505
64506         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
64507         Vandoorselaere <yoann@prelude-ids.org>.
64508
64509 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         Changes imported from coreutils.
64512         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
64513         exist.
64514         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
64515
64516 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64517
64518         Changes imported from coreutils.
64519         * lib/hard-locale.c: Assume <locale.h> exists.
64520         Include "strdup.h".
64521         (GLIBC_VERSION): New macro.
64522         (hard_locale): Assume setlocale exists.
64523         Rewrite to avoid #ifdef.
64524         Use strdup rather than malloc + strcpy.
64525         * lib/human.c: Assume <locale.h> exists.
64526         (human_readable): Assume localeconv exists.
64527
64528 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64529
64530         * modules/hard-locale (Depends-on): Add strdup.
64531
64532 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64533
64534         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
64535         convert T2, not T.  (Imported from libc.)
64536
64537 2004-11-30  Simon Josefsson  <jas@extundo.com>
64538
64539         * modules/restrict (License): Change to LGPL.
64540
64541 2004-11-30  Simon Josefsson  <jas@extundo.com>
64542
64543         * m4/restrict.m4: Add copyright and copying conditions.
64544
64545 2004-11-30  Simon Josefsson  <jas@extundo.com>
64546
64547         * m4/base64.m4: New file.
64548
64549 2004-11-30  Simon Josefsson  <jas@extundo.com>
64550
64551         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
64552         base64.
64553
64554         * tests/test-base64.c: New file.
64555
64556         * modules/base64: New file.
64557
64558 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
64559
64560         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
64561         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
64562
64563         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
64564
64565 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
64566
64567         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
64568         (__getcwd.c): Don't restore errno; glibc doesn't.
64569         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
64570         first, falling back to our code only if its results look suspicious.
64571         Ensure that the resulting buffer is only as large as necessary.
64572
64573         * lib/readutmp.c: Include readutmp.h first.
64574         Include <errno.h>, since readutmp.h no longer does that.
64575         * lib/readutmp.h: Don't include <errno.h>,
64576         <sys/param.h>, <time.h>; not needed to establish interface.
64577         (errno): Remove decl.
64578         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
64579         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
64580         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
64581
64582 2004-11-28  Simon Josefsson  <jas@extundo.com>
64583
64584         * lib/base64.h, base64.c: New file.
64585
64586 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
64589
64590 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
64591
64592         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
64593         (Depends-on): Remove pathmax, same.  Add mempcpy.
64594         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
64595         (Makefile.am): Append getcwd.h to lib_SOURCES.
64596         (Include): Add getcwd.h.
64597         (Maintainer): Change from Jim Meyering to "all, glibc",
64598         since getdate now uses intended-for-glibc code.
64599         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
64600         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
64601
64602 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64603
64604         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
64605         HP's ANSI C compiler.
64606         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
64607         Declaring int functions causes warnings on some modern systems and
64608         shouldn't be needed to compile on ancient ones.
64609         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
64610         defined.
64611
64612         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
64613         with the following changes.
64614         (__set_errno): Parenthesize properly.
64615         Include <stdbool.h>.
64616         (MIN, MAX, MATCHING_INO): New macros.
64617         (__getcwd): Define with prototype, not K&R form.
64618         Use heuristics to allocate default buffer on stack if possible.
64619         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
64620         behavior, and to avoid the PATH_MAX limit when computing
64621         ../../../../...
64622         Use MATCHING_INO to compare inode number to file.
64623         Check for arithmetic overflow in size calculations.
64624         Fix bug in reallocation of dot array that caused getcwd to fail
64625         on directories nested deeper than 75.
64626         Be more careful about saving errno on error.
64627         Do not use realloc; use only free+malloc, as this is a bit
64628         more flexible and avoids a needless copy operation.
64629         Do not inspect st_dev and st_ino for symbolic links; POSIX
64630         doesn't specify the latter.
64631         Check for closedir errors.
64632         Avoid needless casts.
64633         Use "#ifdef weak_alias" around weak_alias, to be like other
64634         glibc code.
64635         The following changes to getcwd.c have effect only when used in
64636         gnulib; they have no effect inside glibc proper.
64637         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
64638         as alloca isn't used.
64639         (alloca, __alloca): Likewise.
64640         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
64641         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
64642         unconditionally, as gnulib assumes C89 or better.
64643         Do not include <sys/param.h>.
64644         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
64645         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
64646         better.
64647         (NULL) [!defined NULL]: Remove; we assume C89 or better.
64648         Include <dirent.h> in a way that is compatible with modern Autoconf.
64649         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
64650         New macros, if not already defined.
64651         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
64652         Use "_LIBC", not "defined _LIBC", for consistency.
64653         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
64654         a mempcpy module.
64655         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
64656         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
64657         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
64658         credit only to Jim Meyering and adjust the copyright dates.
64659         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
64660         <stdlib.h>, <unistd.h>, "pathmax.h".
64661         Instead, include "xgetcwd.h" (first) and "getcwd.h".
64662         (INITIAL_BUFFER_SIZE): Remove.
64663         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
64664
64665 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64666
64667         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
64668         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
64669         Use the _ONCE methods, for efficiency.
64670         Check for fcntl.h.  In test program, include <errno.h>
64671         and <fcntl.h> if available.  Remove old K&R cruft from
64672         test program.  Check for common errors in GNU/Linux,
64673         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
64674         don't do AC_LIBOBJ, as that's getcwd.m4's job.
64675         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
64676         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
64677         name accordingly.
64678         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
64679         accommodate new getcwd.c.
64680         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
64681         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
64682         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
64683         that's all we need now.
64684
64685 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64686
64687         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
64688         argp-parse.c depends on getopt internals, that means we should
64689         always use our getopt, to be on the safe side.
64690         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
64691         order not to spoil the result of an eventual previous invocation
64692         of gl_GETOPT_SUBSTITUTE.
64693
64694 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64695
64696         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
64697         redefinition warnings. To avoid them, include the defines
64698         in `#if !defined __need_getopt ... #endif'. The only place
64699         where __getopt_argv_const is used is in definitions
64700         of getopt_long and getopt_long_only below, which are as well
64701         protected by `#ifndef __need_getopt'.
64702         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
64703         __need_getopt after including <stdio.h> and <unistd.h> These
64704         headers might have defined it.
64705
64706 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
64707
64708         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
64709
64710 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
64711
64712         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
64713         (futimens): New function, which uses futimes if available.
64714         (futimens, utimens): Support timespec==NULL, with same semantics
64715         as utime and utimens.
64716         * lib/utimens.h (futimens): New decl.
64717
64718 2004-11-23  Jim Meyering  <jim@meyering.net>
64719
64720         * lib/getopt_.h: Remove trailing blanks.
64721
64722 2004-11-23  Jim Meyering  <jim@meyering.net>
64723
64724         * lib/__fpending.c: Add comment.
64725
64726 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
64727
64728         * modules/canonicalize (Depends-on): Add xreadlink.
64729         Problem reported by James Youngman.
64730
64731 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64732
64733         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
64734         New macros.
64735         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
64736         optopt): Use them instead of invoking ## directly; otherwise, the
64737         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
64738
64739 2004-11-19  Bruno Haible  <bruno@clisp.org>
64740
64741         * lib/strtok_r.c: Move comments from here...
64742         * lib/strtok_r.h: ... to here.
64743
64744 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64745
64746         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
64747         implementations that mishandle size_t overflow.
64748
64749 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64750
64751         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
64752         might fail.  Problem reported by Yoann Vandoorselaere.
64753         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
64754         implementations that mishandle size_t overflow.
64755
64756 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64757
64758         * modules/canon-host (Depends-on): Add strdup.
64759
64760 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64761
64762         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
64763
64764 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64765
64766         * lib/canon-host.c: Include "strdup.h".
64767         (canon_host): Use getaddrinfo if available, so that IPv6 works.
64768         Use strdup instead of malloc/strcpy to duplicate strings.
64769
64770         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
64771         (human_space_before_unit): New constant.
64772         * lib/human.c (human_readable): Support it.
64773
64774         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
64775         (xgetcwd): Set errno correctly when failing.
64776         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
64777         the failure is actually due to a PATH_MAX problem.
64778
64779         Further getopt changes to make it more likely that glibc will
64780         buy the changes back.
64781         * lib/getopt.c (POSIXLY_CORRECT): New constant.
64782         (getopt): Use it, so to preserve glibc semantic
64783         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
64784         when compiling for libc.
64785         * lib/getopt_.h (__getopt_argv_const): Bring it back.
64786         (getopt_long, getopt_long_only): Use it.
64787
64788         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
64789         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
64790         (getopt): Argv is now char * const *, as per standard.
64791         (_getopt_internal_r, _getopt_internal): Argv is now char **,
64792         not char *__getopt_argv_const *.
64793         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
64794         _getopt_long_only_r): Likewise.
64795         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
64796         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
64797         _getopt_long_r, _getopt_long_only_r): Likewise.
64798         * lib/getopt_.h (__getopt_argv_const): Remove.
64799         (getopt): Argv is now char * const *, as per standard.
64800
64801         * lib/getdate.y (tORDINAL): New token.
64802         (day, relunit): Allow it for relative times.
64803         (relative_time_table): Use tORDINAL for ordinals.
64804
64805 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64806
64807         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
64808         Document that "second" isn't allowed as an ordinal number.
64809
64810 2004-11-16  Jim Meyering  <jim@meyering.net>
64811
64812         * modules/closeout (Depends-on): Add fpending.
64813
64814 2004-11-15  Jim Meyering  <jim@meyering.net>
64815
64816         * lib/closeout.c: Include "__fpending.h" once again.
64817         Include <stdbool.h>.
64818         (close_stdout): Don't fail just because stdout was closed initially,
64819         since some programs don't write to stdout in the normal course of
64820         operation (other than --version and --help), and we don't want this
64821         function to make e.g. `touch file >&-' fail.
64822         But do fail if it was closed and someone has tried to write to it.
64823         E.g., `printf foo >&-' must fail.
64824
64825 2004-11-13  Jim Meyering  <jim@meyering.net>
64826
64827         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
64828
64829 2004-11-12  Simon Josefsson  <jas@extundo.com>
64830
64831         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
64832         small doc fix is still pending.
64833
64834 2004-11-11  Simon Josefsson  <jas@extundo.com>
64835
64836         * modules/strtok_r: New file.
64837
64838         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64839         strtok_r.
64840
64841 2004-11-11  Simon Josefsson  <jas@extundo.com>
64842
64843         * m4/strtok_r.m4: New file.
64844
64845         * m4/getopt.m4: Replace opterr.
64846
64847 2004-11-11  Simon Josefsson  <jas@extundo.com>
64848
64849         * lib/strtok_r.h, strtok_r.c: New file.
64850
64851 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64852
64853         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
64854         of replacing opterr, getopt, etc.  This should handle the
64855         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
64856
64857 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64858
64859         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
64860         we can stop lying to compilers about the constness of argv when we
64861         are compiled outside glibc.
64862         (getopt, getopt_long, getopt_long_only): Use it.
64863         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
64864         _getopt_internal, getopt): Likewise.
64865         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
64866         _getopt_long_only_r): Likewise.
64867         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
64868         _getopt_long_r, _getopt_long_only_r): Likewise.
64869
64870         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
64871         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
64872         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
64873         the other external symbols.
64874         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
64875         declaration, since the above renaming now works around collisions.
64876
64877 2004-11-11  Jim Meyering  <jim@meyering.net>
64878
64879         * lib/linebreak.c: Remove trailing blanks.
64880         * lib/alloca_.h: Likewise.
64881         * lib/acosl.c: Likewise.
64882         * lib/euidaccess.c: Likewise.
64883         * lib/allocsa.h: Likewise.
64884
64885 2004-11-10  Simon Josefsson  <jas@extundo.com>
64886
64887         * m4/getaddrinfo.m4: New file.
64888
64889 2004-11-10  Simon Josefsson  <jas@extundo.com>
64890
64891         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
64892
64893 2004-11-10  Simon Josefsson  <jas@extundo.com>
64894
64895         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64896         getaddrinfo.
64897
64898         * modules/getaddrinfo: New file.
64899
64900 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64901
64902         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
64903
64904 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64905
64906         * lib/mktime.c (SHR): New macro, which is a portable
64907         substitute for >> that should work even on Crays.
64908         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
64909         Problem reported by Mark D. Baushke in
64910         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
64911         * lib/getdate.y (SHR): Likewise.
64912         (tm_diff): Use it.
64913         * lib/strftime.c (SHR): Likewise.
64914         (tm_diff): Use it.
64915         * lib/quotearg.c (struct quoting_options): Use unsigned int for
64916         quote_these_too, so that right shifts are well defined.  All uses
64917         changed.
64918
64919 2004-11-10  Jim Meyering  <jim@meyering.net>
64920
64921         Ensure that no close failure goes unreported.
64922         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
64923         return early when it seems there's nothing to flush.
64924         Don't include __fpending.h.
64925
64926 2004-11-10  Jim Meyering  <jim@meyering.net>
64927
64928         * modules/closeout (Depends-on): Remove fpending.
64929
64930 2004-11-10  Jim Meyering  <jim@meyering.net>
64931
64932         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
64933
64934 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
64935
64936         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
64937         gl_FUNC_STRFTIME.
64938         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
64939         and AC_REQUIRE when possible, to avoid duplicate checks.
64940         Check for <wchar.h>.
64941
64942 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
64943
64944         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
64945
64946 2004-11-09  Bruno Haible  <bruno@clisp.org>
64947
64948         * m4/sockpfaf.m4: New file.
64949
64950 2004-11-05  Bruno Haible  <bruno@clisp.org>
64951
64952         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
64953         Reported by Mark D. Baushke <mdb@cvshome.org>.
64954
64955 2004-11-04  Bruno Haible  <bruno@clisp.org>
64956
64957         2004-09-11  Bruno Haible  <bruno@clisp.org>
64958                 * allocsa.valgrind: New file.
64959         2004-02-06  Bruno Haible  <bruno@clisp.org>
64960                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
64961                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
64962                 Reported by Christopher Seip <chris.seip@hp.com>.
64963
64964 2004-11-04  Bruno Haible  <bruno@clisp.org>
64965
64966         * modules/allocsa (Files): Add lib/allocsa.valgrind.
64967         (Makefile.am): Distribute it.
64968
64969 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
64970
64971         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
64972         with errno == ERANGE if the buffer is too small.
64973         Problem reported by Mark D. Baushke.
64974
64975 2004-11-03  Albert Chin  <china@thewrittenword.com>
64976             Paul Eggert  <eggert@cs.ucla.edu>
64977
64978         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
64979         equivalent, substitute $ac_type for equivalent type rather than
64980         blindly using uint32_t *always* which won't work if uint32_t is not
64981         available.  Define _UINT32_T to work around typedef of uint32_t if
64982         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
64983         2.5.1.
64984
64985 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
64986
64987         * m4/jm-macros.m4: Sync from coreutils.
64988         (gl_MACROS): Check for mbrlen, for pathchk.
64989         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
64990
64991 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
64992
64993         * lib/xreadlink.c (MAXSIZE): New macro.
64994         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
64995         size does not exceed MAXSIZE.  Avoid cast.
64996         As suggested by Mark D. Baushke in
64997         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
64998         if readlink fails with buffer size just under MAXSIZE, try again
64999         with MAXSIZE.
65000
65001 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
65002
65003         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
65004
65005 2004-11-02  Derek R. Price  <derek@ximbiot.com>
65006         and  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
65009         (get_date): Overparenthesize to avoid GCC warning.
65010
65011 2004-11-02  Bruno Haible  <bruno@clisp.org>
65012
65013         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
65014         returns void.
65015
65016 2004-11-02  Bruno Haible  <bruno@clisp.org>
65017
65018         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
65019         function returns void.
65020
65021 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
65022
65023         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
65024         fflush_unlocked, flockfile, funlockfile, funlockfile,
65025         fputs_unlocked, putc_unlocked.
65026
65027 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
65028
65029         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
65030         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
65031         already declared.
65032
65033 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65034
65035         * modules/getdate (Files): Add doc/getdate.texi.
65036         (Depends-on): Add setenv, xalloc.
65037
65038 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65039
65040         * lib/getdate.y: Add support for TZ="foo" within a date string.
65041         Fix some bugs near time_t boundaries.  Reject dates with
65042         out-of-range components, e.g., "Sept 31".
65043         Include <stdlib.h>, "setenv.h", "xalloc.h".
65044         (ISDIGIT_LOCALE): Remove; unused.
65045         Note that the TZ and time functions used here are not reentrant.
65046         (mktime_ok, get_tz): New functions.
65047         (TZBUFSIZE): New constant.
65048         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
65049         This requires that we sometimes generate our own TZ="XXX..." setting.
65050
65051 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65052
65053         * doc/getdate.texi: New file, from coreutils with modifications for
65054         the new TZ parsing.
65055
65056 2004-10-27  Derek R. Price  <derek@ximbiot.com>
65057
65058         * lib/mktime.c (not_equal_tm): Remove redundant check.
65059
65060 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65061
65062         * modules/regex (lib_SOURCES): Add regex.c.
65063         Reported by James Youngman in
65064         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
65065
65066 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65067
65068         * lib/getdate.y: Use Bison 1.875 features, and some minor
65069         code cleanups.  This change does not affect semantics.
65070         Don't include <stdlib.h>; no longer needed.
65071         Don't include unlocked-io.h; only the "#if TEST" code uses
65072         stdio, and performance isn't crucial there.
65073         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
65074         Bison 1.875 features as described below.
65075         All uses of "PC." replaced by "pc->".
65076         (YYSTYPE): Add a forward declaration.
65077         (yylex, yyerror): Use full prototypes in forward decls.
65078         Use "%pure-parser" rather than obsolescent "%pure_parser".
65079         Use %parse-param and %lex-param instead of obsolescent
65080         YYPARSE_PARAM and YYLEX_PARAM.
65081         (meridian_table, month_and_day_table, time_units_table,
65082         relative_time_table, time_zone_table, military_table,
65083         lookup_zone, lookup_word, get_date):
65084         Use NULL instead of 0 where appropriate.
65085         (to_hour): Avoid abort (), to avoid a dependency on
65086         stdlib.h.
65087         (yyerror, yylex): Now accepts parser_control * arg.
65088         (main) [TEST]: Use '\0' rather than 0 for char.
65089
65090 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65091
65092         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
65093
65094 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65095
65096         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
65097         It's now the caller's responsibility to handle the case where
65098         !HAVE_GETPAGESIZE && !defined getpagesize.
65099
65100         * lib/mktime.c (leapyear): Arg is long int, not int.
65101
65102 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
65103
65104         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
65105
65106 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65107
65108         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
65109         missing.  Problem reported by James Youngman.
65110
65111 2004-10-16  Simon Josefsson  <jas@extundo.com>
65112
65113         * gnulib-tool: Fix comments.  Fix parse problem.
65114         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
65115
65116 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
65117
65118         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
65119         implementation of getopt_long.  Problem reported by Alexander Taler in:
65120         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
65121
65122 2004-10-15  Bruno Haible  <bruno@clisp.org>
65123
65124         * gnulib-tool: Untabify. Initialize supplied_libname.
65125         (func_usage): More homogenous output.
65126         (func_modules_transitive_closure, func_modules_to_filelist,
65127         func_emit_lib_Makefile_am): New functions.
65128         (func_import): New function, extracted from big case statement. Use
65129         func_get_license, func_modules_transitive_closure,
65130         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
65131         opt_lgpl. Don't use test -a, as it's not portable.
65132         (func_create_testdir): Use func_modules_transitive_closure,
65133         func_modules_to_filelist, func_emit_lib_Makefile_am.
65134
65135 2004-10-15  Bruno Haible  <bruno@clisp.org>
65136
65137         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
65138
65139 2004-10-15  Bruno Haible  <bruno@clisp.org>
65140
65141         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
65142         the portions belonging to each module.
65143         Suggested by Derek Robert Price <derek@ximbiot.com>.
65144
65145 2004-10-12  Simon Josefsson  <jas@extundo.com>
65146
65147         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
65148         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
65149         to real functions.
65150
65151 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65152
65153         * modules/vsnprintf: New file.
65154
65155 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65156
65157         * m4/vsnprintf.m4: New file.
65158
65159 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65160
65161         * lib/vsnprintf.h: New file.
65162         * lib/vsnprintf.c: New file.
65163
65164 2004-10-11  Bruno Haible  <bruno@clisp.org>
65165
65166         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
65167         vsnprintf.
65168
65169 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65170
65171         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
65172
65173 2004-10-07  Bruno Haible  <bruno@clisp.org>
65174
65175         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
65176         fits into the provided buffer.
65177
65178 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
65179
65180         * lib/diacrit.c, diacrit.h: Add GPL notice.
65181
65182         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
65183         notice.
65184         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
65185         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
65186         This avoids a potential constant-folding bug.
65187
65188 2004-10-05  Bruno Haible  <bruno@clisp.org>
65189
65190         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
65191         for the declaration of strsep.
65192
65193 2004-10-05  Bruno Haible  <bruno@clisp.org>
65194
65195         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
65196
65197 2004-10-04  Simon Josefsson  <jas@extundo.com>
65198
65199         * modules/memmem: New file.
65200         * tests/test-memmem.c: New file.
65201         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
65202
65203 2004-10-04  Simon Josefsson  <jas@extundo.com>
65204
65205         * m4/memmem.m4: New file.
65206
65207 2004-10-04  Simon Josefsson  <jas@extundo.com>
65208
65209         * lib/memmem.h: New file.
65210         * lib/memmem.c: New file, taken from glibc.
65211
65212 2004-10-04  Simon Josefsson  <jas@extundo.com>
65213
65214         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
65215         '#ifdef USE_UNLOCKED_IO'.
65216
65217 2004-10-04  Simon Josefsson  <jas@extundo.com>
65218
65219         * config/srclist.txt: Add memmem from glibc.
65220
65221 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65222
65223         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
65224
65225         * modules/argmatch, modules/argp, modules/closeout, modules/error,
65226         modules/exclude, modules/getdate, modules/getline,
65227         modules/getndelim2, modules/getpass, modules/getpass-gnu,
65228         modules/getusershell, modules/linebuffer, modules/md5,
65229         modules/mountlist, modules/posixtm, modules/readtokens,
65230         modules/readutmp, modules/regex, modules/sha1,
65231         modules/version-etc, modules/yesno:
65232         Remove dependency on unlocked-io.
65233
65234 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65235
65236         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
65237
65238         * m4/unlocked-io.m4: Add copyright notice.
65239         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
65240
65241 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65242
65243         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
65244         * lib/xmalloc.c (xmemdup): Likewise.
65245         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
65246         XFREE): Remove these long-obsolescent macros.
65247         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
65248         * lib/xstrdup.c: Remove.
65249
65250         * lib/regex.c (re_comp): Cast gettext return value to char *,
65251         Problem reported by Martin Neitzel via Mark D. Baushke.
65252
65253 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
65256         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
65257         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
65258         regex.c, sha1.c, version-etc.c, yesno.c:
65259         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
65260         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
65261         the includer's responsibility.
65262
65263         Sync from coreutils.
65264
65265         * lib/modechange.c (mode_compile): Don't decrement a pointer that
65266         points to the start of a string, as the C Standard says the
65267         resulting behavior is undefined.
65268
65269         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
65270         simple -> simple_backups, numbered_existing ->
65271         numbered_existing_backups, numbered -> numbered_backups
65272         to avoid shadowing problems.  All uses changed.
65273         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
65274         * lib/backupfile.c (check_extension, numbered_backup):
65275         Rename locals to avoid shadowing 'basename'.
65276         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
65277         once.
65278
65279         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
65280         * lib/.cvsignore: Add getopt.h.
65281
65282 2004-10-04  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/README: New file.
65285         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
65286         not a module.
65287
65288 2004-10-02  Jim Meyering  <jim@meyering.net>
65289
65290         * lib/dirfd.h, getpagesize.h: Add copyright notice.
65291
65292 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65293
65294         * modules/strsep: New file.
65295
65296 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65297
65298         * m4/strsep.m4: New file.
65299
65300 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65301
65302         * lib/strsep.h: New file.
65303         * lib/strsep.c: New file.
65304
65305 2004-10-01  Simon Josefsson  <jas@extundo.com>
65306
65307         * lib/snprintf.c (snprintf): Handle size==0.
65308
65309 2004-10-01  Simon Josefsson  <jas@extundo.com>
65310             Bruno Haible  <bruno@clisp.org>
65311
65312         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
65313         (snprintf): Declare 'args'.
65314
65315 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
65316
65317         * lib/snprintf.c: Remove comments as to why each header is needed.
65318
65319 2004-10-01  Bruno Haible  <bruno@clisp.org>
65320
65321         * MODULES.html.sh: Add strsep.
65322
65323 2004-09-30  Simon Josefsson  <jas@extundo.com>
65324
65325         * modules/snprintf: New file.
65326
65327 2004-09-30  Simon Josefsson  <jas@extundo.com>
65328
65329         * m4/snprintf.m4: New file.
65330
65331 2004-09-30  Simon Josefsson  <jas@extundo.com>
65332
65333         * lib/snprintf.h, lib/snprintf.c: New files.
65334
65335 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65336
65337         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
65338         (hol_entry_help): Never translate an empty string.
65339         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
65340         * lib/argp.h (OPTION_NO_TRANS): New option.
65341
65342 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65343
65344         * modules/argp (Maintainer): Replace Simon Josefsson
65345         by Sergey Poznyakoff.
65346
65347 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65348
65349         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
65350         changes merged back into glibc.
65351
65352 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65353
65354         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
65355
65356 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65357
65358         * lib/xvasprintf.c: Include xalloc.h.
65359         (xvasprintf): Use xalloc_die, not xmalloc_die.
65360
65361 2004-09-29  Bruno Haible  <bruno@clisp.org>
65362
65363         * modules/alloca-opt: New file, derived from modules/alloca.
65364         * modules/allocsa: Depend on alloca-opt instead of alloca.
65365         * modules/setenv: Likewise.
65366         * modules/vasnprintf: Likewise.
65367         * MODULES.html.sh: Add alloca-opt.
65368
65369 2004-09-28  Simon Josefsson  <jas@extundo.com>
65370
65371         * gnulib-tool: New parameter --lgpl, to asseert that modules are
65372         LGPL, and to replace license template from GPL to LGPL.
65373
65374 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
65375
65376         * modules/dummy: Change license to LGPL.
65377
65378 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
65379
65380         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
65381
65382 2004-09-24  Simon Josefsson  <jas@extundo.com>
65383
65384         * modules/minmax (License): Change from GPL to LGPL.
65385
65386 2004-09-23  Simon Josefsson  <jas@extundo.com>
65387
65388         * gnulib-tool (--import): Typo.
65389
65390 2004-09-23  Simon Josefsson  <jas@extundo.com>
65391
65392         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
65393
65394 2004-09-22  Bruno Haible  <bruno@clisp.org>
65395
65396         * modules/*: Add 'License' field.
65397         * gnulib-tool: Accept --extract-license option.
65398         (func_get_license): New function.
65399
65400 2004-09-21  Bruno Haible  <bruno@clisp.org>
65401
65402         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
65403         Reported by Simon Josefsson.
65404
65405 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65406
65407         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
65408         gl_AC_TYPE_LONG_LONG.
65409
65410 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65411
65412         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
65413
65414 2004-09-18  Simon Josefsson  <jas@extundo.com>
65415         and  Paul Eggert  <eggert@cs.ucla.edu>
65416
65417         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
65418         calls with autoreconf.  Define GL_LIB.
65419
65420 2004-09-14  Karl Berry  <karl@gnu.org>
65421
65422         * config/srclist.txt: unsync setenv.c, sigh.
65423
65424 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65425
65426         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
65427         Problem reported by Bruno Haible in:
65428         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
65429
65430 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65431
65432         * config/srclist.txt: Comment out argp-pvh.c.
65433
65434 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
65435
65436         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
65437         in case some system header has #define'd it.  Problem reported by
65438         Soeren D. Schulze in
65439         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
65440
65441 2004-09-09  Karl Berry  <karl@gnu.org>
65442
65443         * regex.[ch]: delete from the root.  These were supposed to be
65444                 synced with emacs cvs, but this has not happened for about
65445                 a year, and anyway nothing else uses emacs regex.[ch].
65446                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
65447                 lib/regex[.ch] is untouched.
65448
65449 2004-09-09  Bruno Haible  <bruno@clisp.org>
65450
65451         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
65452
65453 2004-09-09  Bruno Haible  <bruno@clisp.org>
65454
65455         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
65456         modifications.
65457         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
65458
65459 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
65460
65461         * modules/xvasprintf: New file.
65462         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
65463
65464 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
65465
65466         * lib/xvasprintf.h: New file.
65467         * lib/xvasprintf.c: New file.
65468         * lib/xasprintf.c: New file.
65469
65470 2004-09-08  Bruno Haible  <bruno@clisp.org>
65471
65472         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
65473
65474 2004-09-08  Bruno Haible  <bruno@clisp.org>
65475
65476         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
65477         length is > INT_MAX.
65478         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
65479         more.
65480
65481 2004-09-08  Bruno Haible  <bruno@clisp.org>
65482
65483         * lib/stdint_.h: New file, taken from GNU clisp.
65484
65485 2004-09-08  Bruno Haible  <bruno@clisp.org>
65486             Oskar Liljeblad  <oskar@osk.mine.nu>
65487
65488         * modules/stdint: New file.
65489         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
65490
65491 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65492
65493         Import from coreutils.
65494         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
65495         strings on unbounded length.  alloca's performance benefits aren't
65496         that important here.
65497         (V_STRDUP): Remove.
65498         (parse_with_separator): New function, with most of the internals
65499         of the old parse_user_spec.  Allow user to omit both user and group,
65500         for compatibility with FreeBSD.
65501         Clone only the user name, not the entire spec.
65502         Do not set *uid, *gid unless entirely successful.
65503         Avoid memory leak in some failing cases.
65504         Fix regression for USER.GROUP reported by Dmitry V. Levin in
65505         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
65506         (parse_user_spec): Rewrite to use parse_with_separator.
65507
65508 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65509
65510         * modules/userspec: Don't depend on alloca.
65511
65512 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65513
65514         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
65515
65516 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65517
65518         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
65519         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
65520         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
65521
65522 2004-08-16  Simon Josefsson  <jas@extundo.com>
65523
65524         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
65525         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
65526         Add --dry-run for --import.
65527         Let user provided command line parameters override configure.ac
65528         settings.
65529
65530 2004-08-12  Simon Josefsson  <jas@extundo.com>
65531
65532         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
65533         as discussed with Paul Eggert in threads rooted at
65534         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
65535         and
65536         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
65537         Before, the test was empty, and relied on ELIDE_CODE in source
65538         code.)
65539         (gl_PREREQ_GETOPT): New macro.
65540         (gl_GETOPT): Use them.
65541
65542 2004-08-12  Simon Josefsson  <jas@extundo.com>
65543
65544         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
65545         * lib/getopt_.h: Renamed from getopt.h.
65546
65547 2004-08-12  Simon Josefsson  <jas@extundo.com>
65548
65549         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
65550         Change default library name from libfoo to libgnu.
65551         Now, if you have a configure.ac that says:
65552                 gl_SOURCE_BASE(gl)
65553                 gl_M4_BASE(gl/m4)
65554                 gl_MODULES(error getopt etcetera)
65555                 gl_INIT
65556         you can import all you need by running:
65557                 ../gnulib/gnulib-tool --import
65558
65559         * modules/getopt (Files): Rename getopt.h to getopt_.h.
65560         (Makefile.am): Rewrite, use logic from argz.
65561         (Include): Use <getopt.h> instead of "getopt.h".
65562
65563 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65564
65565         * modules/argp (Files): Add m4/unlocked-io.m4.
65566         (Depends-on): Add extensions.
65567
65568 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65569
65570         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
65571         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
65572         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
65573         Check for program_invocation_name, program_invocation_short_name,
65574         flockfile, funlockfile, features.h, _getopt_long_only_r.
65575
65576 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65577
65578         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
65579         its complicated substitute.
65580         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
65581         and program_invocation_name.
65582         (__argp_basename) [!_LIBC]: Remove; the only use was
65583         replaced by its body.
65584         (__argp_short_program_name): Change condition from
65585         !defined __argp_short_program_name to
65586         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
65587         to match argp-namefrob.h.
65588         (__argp_failure): Don't assume strerror_r returns char *.
65589         * lib/argp-parse.c (N_): Define unconditionally.
65590         (argp_default_options): Fill out initializers with 0 to avoid
65591         gcc warnings.
65592
65593 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65594
65595         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
65596         getopt1.c.
65597
65598 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65599
65600         Merge from coreutils.
65601
65602         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
65603
65604         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
65605         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
65606
65607 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65608
65609         Merge from coreutils.
65610
65611         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
65612         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
65613         for Reliant Unix 5.43.
65614
65615         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
65616         (union fooround): Use uintmax_t, not long int.
65617         The rest is a merge from libc:
65618         [defined _LIBC]: Include <shlib-compat.h>.
65619         (_obstack) [defined _LIBC]: Remove after 2.3.4.
65620
65621         * lib/settime.c (settime): Recode to avoid warning with
65622         Sun Forte C 6U2.
65623
65624         * lib/strverscmp.c: Convert to UTF-8.
65625
65626 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65627
65628         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65629         m4/uintmax_t.m4.
65630
65631 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65632
65633         * modules/xalloc-die: New file.
65634         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
65635
65636         * modules/md5 (Files): Add m4/uint32_t.m4.
65637         * modules/sha1: Renamed from modules/sha.
65638         (Files):
65639         Rename lib/sha.h to lib/sha1.h.
65640         Rename lib/sha.c to lib/sha1.c.
65641         Rename m4/sha.m4 to m4/sha1.m4.
65642         (lib_SOURCES): Likewise.
65643         (configure.ac): Rename gl_SHA to gl_SHA1.
65644         (Include): sha.h -> sha1.h.
65645
65646 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65647
65648         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
65649         * m4/sha1.m4: Renamed from sha.m4.
65650         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
65651
65652 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65653
65654         * lib/obstack.h (obstack_empty_p):
65655         Don't assume that chunk->contents is suitably aligned.
65656         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
65657         Likewise. Problem reported by Benno in
65658         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
65659
65660         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
65661         readable.  This could be improved further but it'd take some work.
65662
65663 2004-08-08  Simon Josefsson  <jas@extundo.com>
65664
65665         * modules/xgethostname (Depends-on): Remove exit and error (not
65666         used).
65667
65668         * modules/getpass-gnu: Add getpass.h.
65669         (Depends-on): Add stdbool.
65670         * modules/getpass: Add getpass.h.
65671
65672 2004-08-08  Simon Josefsson  <jas@extundo.com>
65673
65674         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
65675         Check getpass declaration.
65676
65677 2004-08-08  Simon Josefsson  <jas@extundo.com>
65678
65679         * lib/xgethostname.c: Don't include error.h (not used).
65680
65681         * lib/getpass.h: Add.
65682         * lib/getpass.c: Include getpass.h first.
65683
65684 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
65685
65686         * lib/xalloc-die.c: New file.
65687         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
65688         All uses removed.
65689         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
65690         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
65691         xalloc-die.c.
65692         (_, N_, xalloc_die): Move to xalloc-die.c.
65693         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
65694         so that we needn't mess with xalloc_msg_memory_exhausted.
65695
65696         * lib/sha1.h: Renamed from sha.h.
65697         (SHA1_H): Renamed from _SHA_H.
65698         (sha1_ctx): Renamed from sha_ctx.
65699         (sha1_init_ctx): Renamed from sha_init_ctx.
65700         (sha1_process_block): Renamed from sha_process_block.
65701         (sha1_process_bytes): Renamed from sha_process_bytes.
65702         (sha1_finish_ctx): Renamed from sha_finish_ctx.
65703         (sha1_read_ctx): Renamed from sha_read_ctx.
65704         (sha1_stream): Renamed from sha_stream.
65705         (sha1_buffer): Renamed from sha_buffer.
65706         * lib/sha1.c: Likewise; renamed from sha.c.
65707         Do not include <sys/types.h>.
65708         Include <stddef.h> rather than <stdlib.h>.
65709
65710 2004-08-08  Bruno Haible  <bruno@clisp.org>
65711
65712         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
65713         FILESYSTEM_PREFIX_LEN.
65714         * lib/progreloc.c: Likewise.
65715         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
65716
65717 2004-08-06  Simon Josefsson  <jas@extundo.com>
65718
65719         * modules/progname (Depends-on): Don't depend on stdbool.
65720
65721 2004-08-06  Simon Josefsson  <jas@extundo.com>
65722
65723         * modules/getsubopt: New file.
65724         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65725         getsubopt.
65726
65727 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65728
65729         More merge from coreutils.
65730
65731         * m4/utimens.m4, m4/utimecmp.m4: New files.
65732         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
65733         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
65734         prereq.m4, sha.m4: Import changes from coreutils.
65735
65736 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65737
65738         More merge from coreutils.
65739         * modules/raise, modules/readtokens0, modules/utimens:
65740         * modules/utimecmp, module/xnanosleep: New files.
65741         * modules/strftime: Add lib/strftime.h.
65742         Change include from <time.h> to "strftime.h".
65743         * modules/yesno: Add lib/yesno.h.
65744         * modules/backupfile: Remove lib/addext.c.
65745         * modules/euidaccess: Add stat-macros.h.
65746         * modules/canonicalize, modules/euidaccess,
65747         modules/filemode, modules/lchown, modules/makepath,
65748         modules/rmdir, modules/stat: Likewise.
65749
65750 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65751
65752         Merge from tar.
65753         * lib/argp-help.c (make_hol, hol_append): Don't assume that
65754         SIZE_MAX is a valid preprocessor constant.
65755         (__argp_basename): Change from "#ifndef _LIBC"
65756         to "#ifndef __argp_short_program_name", so that
65757         we don't compile these functions for tar.
65758
65759         More merges from coreutils.
65760         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
65761         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
65762         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
65763         * lib/addext.c: Remove; no longer needed.
65764         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
65765         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
65766         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
65767         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
65768         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
65769         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
65770         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
65771         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
65772         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
65773         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65774         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
65775         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
65776         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
65777         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
65778         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
65779         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
65780         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
65781         Import changes from coreutils.
65782
65783 2004-08-05  Simon Josefsson  <jas@extundo.com>
65784
65785         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
65786
65787 2004-08-05  Simon Josefsson  <jas@extundo.com>
65788
65789         * m4/getsubopt.m4: New file.
65790
65791 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65792
65793         Merge from coreutils.
65794
65795         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
65796         * m4/getcwd-path-max.m4: New files.
65797
65798         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
65799         FILESYSTEM_PREFIX_LEN ->
65800         FILE_SYSTEM_PREFIX_LEN.
65801         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
65802         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
65803         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
65804         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
65805
65806         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
65807         prerequisite modules now handle the DOS stuff.
65808         Don't check for unistd.h.
65809
65810 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65811
65812         Merge from coreutils.
65813
65814         * lib/.gdb-history: Remove; this doesn't belong here.
65815
65816         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
65817         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
65818         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
65819         * lib/getcwd.c: New files.
65820
65821         * lib/dirname.h: Include <stdbool.h>.
65822         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
65823         for consistency with POSIX terminology.  All uses changed.
65824         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
65825         (strip_trailing_slashes): Use bool for booleans.
65826         * lib/stripslash.c (strip_trailing_slashes): Likewise.
65827
65828         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
65829         sometimes returns a positive errno value even when it succeeds.
65830         (print_errno_message) [!LIBC]: Fall back on strerror if
65831         __strerror_r fails.
65832
65833         * lib/path-concat.c (mempcpy): Don't define if a system header defines
65834         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
65835         (longest_relative_suffix): New function.
65836         (path_concat): Use it.  Assume first argument is not NULL.
65837         Port to DOS.  Omit redundant separators.
65838         Report an error instead of returning NULL.
65839         Use mempcpy instead of memcpy.
65840         (xpath_concat): Remove: not declared or used.
65841
65842         * lib/same.h: Include <stdbool.h>
65843         (same_name): Return bool, not int.
65844         * lib/same.c (same_name): Likewise.
65845         (errno): Don't declare; we assume C89 or better now.
65846
65847         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
65848         if not already defined.
65849
65850         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
65851         * lib/dup-safer.c (errno): Likewise.
65852
65853 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65854
65855         Merge from coreutils.
65856         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
65857         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
65858         * modules/path-concat: Don't depend on strdup.
65859
65860 2004-08-03  Simon Josefsson  <jas@extundo.com>
65861
65862         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
65863         * lib/progname.h: Don't include stdbool.h.
65864
65865 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65866
65867         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
65868         * MODULES.html.sh (func_all_modules): Remove fatal.
65869
65870 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65871
65872         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
65873
65874 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65875
65876         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
65877         working.
65878
65879 2004-08-02  Simon Josefsson  <jas@extundo.com>
65880
65881         * lib/getsubopt.h: New file, with comments from Bruno Haible.
65882         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
65883         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
65884
65885 2004-08-01  Simon Josefsson  <jas@extundo.com>
65886
65887         * lib/xgetdomainname.c: Include stdlib.h, for free().
65888
65889 2004-07-19  Bruno Haible  <bruno@clisp.org>
65890
65891         * MODULES.html.sh (func_all_modules): Add dummy.
65892
65893 2004-07-16  Simon Josefsson  <jas@extundo.com>
65894
65895         * modules/dummy: New file.
65896
65897 2004-07-16  Simon Josefsson  <jas@extundo.com>
65898
65899         * lib/dummy.c: New file.
65900
65901 2004-07-16  Bruno Haible  <bruno@clisp.org>
65902
65903         * lib/backupfile.h: Add extern "C" for C++.
65904         * lib/closeout.h: Likewise.
65905         * lib/copy-file.h: Likewise.
65906         * lib/findprog.h: Likewise.
65907         * lib/full-write.h: Likewise.
65908         * lib/pathname.h: Likewise.
65909         * lib/progname.h: Likewise.
65910         * lib/stpcpy.h: Likewise.
65911         * lib/stpncpy.h: Likewise.
65912         * lib/strcase.h: Likewise.
65913         * lib/strstr.h: Likewise.
65914         * lib/xalloc.h: Likewise.
65915
65916         * lib/mbswidth.h: Add extern "C" for C++.
65917         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
65918
65919 2004-07-13  Robert Millan  <robertmh@gnu.org>
65920
65921         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
65922
65923 2004-07-09  Simon Josefsson  <jas@extundo.com>
65924
65925         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
65926         failed without this.)
65927
65928 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65929
65930         * modules/chown (Files): Add lib/fchown-stub.c, since
65931         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
65932
65933 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65934
65935         * lib/fchown-stub.c: New file.
65936
65937 2004-06-24  Jim Meyering  <jim@meyering.net>
65938
65939         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
65940
65941 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65942
65943         * modules/argz: Omit "#include".
65944
65945         * MODULES.html.sh (func_all_modules): Add calloc, to match
65946         2004-06-01 addition of calloc module.
65947
65948 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65949
65950         * m4/argz.m4: New file, which is autoupdated from libtool.
65951
65952 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65953
65954         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
65955         libtool.
65956
65957 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65958
65959         * config/srclist-update: Don't insist on "USA." before the
65960         close-comment, as libtool omits the period and puts the */ on a
65961         separate line.
65962         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
65963         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
65964
65965 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
65966
65967         * modules/argz: New file.
65968         * MODULES.html.sh (func_all_modules): Add argz.
65969
65970 2004-06-12  Jim Meyering  <jim@meyering.net>
65971         and  Paul Eggert  <eggert@cs.ucla.edu>
65972
65973         * modules/hash (Files): Add lib/xalloc.h.
65974         * modules/pipe (Depends-on): Add wait-process.
65975         * modules/stat (Depends-on): Add xalloc.
65976         * modules/userspec (Files): Add lib/userspec.h.
65977         * modules/xstrto
65978
65979         Upgrade from gettext-0.13.
65980         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
65981         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
65982         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
65983
65984 2004-06-10  Jim Meyering  <jim@meyering.net>
65985
65986         * lib/calloc.c: New file.
65987
65988 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65989
65990         * lib/getdate.y (yylex): Allow space between sign and number.
65991         Problem reported by Dan Jacobson.
65992
65993 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
65994
65995         Merge from coreutils CVS.
65996
65997         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
65998         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
65999         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
66000         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
66001         xstrtol.m4: Fix copyright date and/or serial number.
66002
66003         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
66004         See if we need an fchown replacement.
66005         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
66006         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
66007         and use the replacement function if we detect either defect.
66008
66009         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
66010         gl_UTIMECMP.
66011
66012 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
66013         and  Jim Meyering  <jim@meyering.net>
66014
66015         Merge from coreutils CVS.
66016
66017         * lib/stat-macros.h: New file, with contents from file-type.h
66018         and coreutils' system.h.
66019         * lib/file-type.c: Include "stat-macros.h".
66020         * lib/file-type.h (file_type): Move all macro definitions to new file,
66021         stat-macros.h.
66022
66023         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
66024         Wrap old code with this conditional.
66025         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
66026         function that does not dereference symlinks.
66027         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
66028
66029         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
66030         dependency problems.
66031         (xreadlink): Accept new arg SIZE, for efficiency.
66032         All decls and uses changed.
66033         * lib/xreadlink.h: Include <stddef.h>, for size_t.
66034
66035         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
66036         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
66037
66038         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
66039         sysexits.h.
66040
66041 2004-06-01  Jim Meyering  <jim@meyering.net>
66042
66043         * m4/calloc.m4: New file.
66044
66045 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
66046
66047         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
66048         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
66049         Also, fix a typo in a diagnostic.
66050
66051 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
66052
66053         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
66054         or AC_FUNC_REALLOC.
66055
66056 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
66057
66058         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
66059         macros to be defined.
66060         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
66061         the allocator returns NULL because the requested size is zero.
66062
66063 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66064
66065         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
66066         var.  Add comment explaining why libc still defines it.  This
66067         merges the following patch from glibc:
66068         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
66069
66070 2004-05-20  Andreas Schwab  <schwab@suse.de>
66071
66072         * m4/free.m4: Replace free if it not known to work, not the other
66073         way round.
66074
66075 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
66078         present in glibc since revision 1.1 of this file.
66079         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
66080         obstack_alignment_mask, obstack_alloc, obstack_base,
66081         obstack_blank, obstack_blank_fast, obstack_chunk_size,
66082         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
66083         obstack_grow0, obstack_init, obstack_int_grow,
66084         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
66085         obstack_next_free, obstack_object_size, obstack_ptr_grow,
66086         obstack_ptr_grow_fast, obstack_room): Remove declarations of
66087         nonexistent functions.
66088
66089 2004-05-18  Karl Berry  <karl@gnu.org>
66090
66091         * config/srclist.txt: break link for vasnprintf.c.
66092
66093 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66094
66095         Port obstack to the AS/400, where pointers are 16 bytes wide and
66096         you cannot cast an integer to a valid pointer.  This patch is
66097         currently waiting to be integrated into glibc; see
66098         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
66099
66100         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
66101         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
66102         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
66103         (struct obstack): temp member is now a union of a pointer and
66104         an integer, instead of an integer.  All integer uses changed.
66105         This does not affect the physical layout of struct obstack,
66106         except on hosts (like the AS/400) where the size or alignment of
66107         void * is greater than that of ptrdiff_t.
66108         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
66109         __STDC__)]: Store temporary in pointer member of union, not
66110         integer member.
66111         * lib/obstack.c: Include <stddef.h>, for offsetof.
66112         (struct fooalign): Remove; it doesn't need a name.
66113         (union fooround): Change double to long double, and add void *.
66114         (DEFAULT_ALIGNMENT): Use offsetof to compute.
66115         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
66116         not a macro.  Hence the values are always int; so remove all
66117         casts-to-int in uses.
66118
66119 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66120
66121         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
66122         we can get this patch merged into glibc.
66123
66124 2004-05-17  Derek R. Price  <derek@ximbiot.com>
66125             Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         * m4/argp: Depend on alloca.
66128
66129 2004-05-17  Derek R. Price  <derek@ximbiot.com>
66130             Paul Eggert  <eggert@cs.ucla.edu>
66131
66132         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
66133         freecoding.
66134
66135 2004-05-17  Bruno Haible  <bruno@clisp.org>
66136
66137         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
66138         precision that consists of a '.' followed by an empty digit string.
66139         Patch by Tor Lillqvist <tml@iki.fi>.
66140
66141 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66142
66143         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
66144         for backward compatibility with older code.  We need our own
66145         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
66146         it under some other name, and our alloca.h will define it.
66147
66148 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66149             Derek Price  <derek@ximbiot.com>
66150
66151         * lib/alloca.c: Include <alloca.h>, to get our interface.
66152         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
66153         include <alloca.h> first.  Use C89 prototype for alloca; this
66154         requires including <stddef.h> for size_t.  Use extern "C" if C++.
66155         Use #elif for simplicity, since we can assume C89 now.
66156         Don't try to source the system alloca.h since it will not be found
66157         and to prevent recursively including its replacement.
66158         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
66159         * lib/regex.c: Likewise.
66160
66161 2004-05-16  Derek Price  <derek@ximbiot.com>
66162             Paul Eggert  <eggert@cs.ucla.edu>
66163
66164         getline cleanup.  This changes the getndelim2 API: both order of
66165         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
66166         no delimiter).
66167
66168         * lib/getline.c: Don't include stddef.h or stdio.h, since our
66169         interface does that.
66170         (getline): Always use getdelim, so that we don't have two
66171         copies of this code.
66172         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
66173         if available.
66174         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
66175         (GETNDELIM2_MAXIMUM): New macro.
66176         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
66177         instead of the old practice of delim2==0.  All callers changed.
66178         Return -1 on overflow, instead of returning junk.
66179         Do not set *linesize unless allocation succeeds.
66180         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
66181         that we include sys/types.h.
66182         * lib/getnline.h: Likewise.
66183         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
66184         (getndelim2): Reorder arguments.
66185         * lib/getnline.c (getnline, getndelim):
66186         Don't discard the NMAX argument.
66187         (getnline): Invoke getndelim, to avoid code duplication.
66188         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
66189         of (size_t) -1 by callers of the getnline family.
66190
66191 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66192
66193         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
66194         Check for gettimeofday.
66195         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
66196         Check for settimeofday, stime.
66197
66198 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * lib/nanosleep.c (suspended): Change its type from int to
66201         sig_atomic_t volatile.
66202         (first_call): Make it private to rpl_nanosleep, and have it
66203         be zero initially as that's a bit faster.
66204         (my_usleep): Round up fractional times instead of truncating them,
66205         as this is the usual meaning for 'sleep'.
66206
66207         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
66208         doesn't work.
66209         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
66210         (ENOSYS): Define if not defined.
66211         (settime): Fall back on stime if it exists and settimeofday fails.
66212         But don't bother with fallbacks if a method fails with errno == EPERM.
66213
66214 2004-05-11  Jim Meyering  <jim@meyering.net>
66215
66216         Prior to this change, the save_cwd caller required read access to the
66217         current directory on most systems (ones with the fchdir function).
66218
66219         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
66220         fails, try write-only, and finally, resort to using xgetcwd.
66221
66222 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66223
66224         * lib/obstack.c, obstack.h: Import changes from libc.
66225
66226 2004-04-28  Bruno Haible  <bruno@clisp.org>
66227
66228         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
66229         also implicitly appends .exe to executables.
66230         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
66231         accepts Windows pathnames.
66232         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
66233         Treat Cygwin like Windows, since it now accepts Windows pathnames.
66234         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
66235         Treat Cygwin like Windows, since it now accepts Windows pathnames.
66236         Reported by Derek Robert Price <derek@ximbiot.com>.
66237
66238 2004-04-21  Karl Berry  <karl@gnu.org>
66239
66240         * config/srclist.txt (localcharset.c): break sync.
66241
66242 2004-04-20  Paul Eggert  <eggert@twinsun.com>
66243
66244         * m4/host-os.m4: Add a copyright notice.
66245
66246 2004-04-20  Jim Meyering  <jim@meyering.net>
66247
66248         Change UTILS_ to gl_ in AC_DEFINE'd names.
66249         Change utils_- and jm_-prefixed variables, too.
66250         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
66251         UTILS_FUNC_MKDIR_TRAILING_SLASH.
66252         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
66253
66254         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
66255         Don't emit trailing blanks.
66256         Also rename jm_-prefixed variables to have gl_ prefix.
66257
66258         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
66259         Also rename jm_-prefixed variables to have gl_ prefix.
66260
66261         * m4/jm-macros.m4: Reflect the renamings.
66262         * m4/prereq.m4: Likewise.
66263
66264 2004-04-20  Jim Meyering  <jim@meyering.net>
66265
66266         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
66267         memory.
66268
66269 2004-04-20  Jim Meyering  <jim@meyering.net>
66270             Bruno Haible  <bruno@clisp.org>
66271
66272         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
66273         memory when realloc fails.
66274
66275 2004-04-19  Jim Meyering  <jim@meyering.net>
66276
66277         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
66278         now that readutmp.c may call `free (0)'.
66279
66280 2004-04-19  Bruno Haible  <bruno@clisp.org>
66281
66282         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
66283         * m4/inttypes_h.m4: Likewise.
66284         * m4/stdint_h.m4: Likewise.
66285         * m4/intmax_t.m4: Likewise.
66286         * m4/uintmax_t.m4: Likewise.
66287
66288 2004-04-18  Jim Meyering  <jim@meyering.net>
66289
66290         * m4/prereq.m4: Don't forbid jm_ prefix.
66291
66292         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
66293         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
66294         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
66295         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
66296         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
66297         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
66298         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
66299         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
66300         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
66301         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
66302         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
66303         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
66304         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
66305         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
66306         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
66307         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
66308         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
66309         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
66310         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
66311
66312 2004-04-18  Jim Meyering  <jim@meyering.net>
66313
66314         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
66315         failure, don't leak memory and do call END_UTMP_ENT.
66316
66317 2004-04-16  Jim Meyering  <jim@meyering.net>
66318
66319         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
66320         coreutils' stat program.
66321         (gl_PREREQ): Don't require jm_PREREQ_STAT.
66322
66323 2004-04-11  Paul Eggert  <eggert@twinsun.com>
66324
66325         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
66326         C89.
66327         (CHAR_BIT): Remove, since we assume C89.
66328         Include <stdint.h> if available, as per current Autoconf CVS advice.
66329
66330 2004-03-31  Jim Meyering  <jim@meyering.net>
66331
66332         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
66333         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
66334         * m4/xalloc.m4: Likewise.
66335
66336 2004-03-30  Paul Eggert  <eggert@twinsun.com>
66337
66338         Merge from coreutils.
66339
66340         * m4/inttostr.m4: New file.
66341         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
66342         Require AM_STDBOOL_H and gl_TIMESPEC instead.
66343         Require gl_CLOCK_TIME.
66344         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
66345
66346 2004-03-30  Paul Eggert  <eggert@twinsun.com>
66347
66348         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
66349         not bool, to be more consistent with Unix conventions.
66350         Suggested by Bruno Haible.
66351
66352         Merge from coreutils.
66353
66354         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
66355         * lib/umaxtostr.c: New files.
66356
66357         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
66358         the usual <time.h> dance.
66359         (get_date): Change signature to support fractional time stamps.
66360         All callers changed.
66361         * lib/getdate.y: Include "getdate.h" first, as we can now
66362         assume C89 and don't need to worry about 'const'.
66363         Similarly, include "unlocked-io.h" near start, not in middle.
66364         Include <limits.h>.
66365         (textint.value): Use long int rather than int.
66366         (textint.digits): Use size_t rather than int.
66367         (BILLION, LOG10_BILLION): New constants.
66368         (parser_control): New member rel_ns.  Members day_ordinal,
66369         time_zone, month, day, hour, minutes, rel_year, rel_month,
66370         rel_day, rel_hour, rel_minutes, rel_seconds
66371         are now long int, not int.  Member seconds is now struct timespec,
66372         not int.  New member timespec_seen.  Members dates_seen, days_seen,
66373         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
66374         not int.
66375         (%union.intval): Now long int, not int.
66376         New member timespec.
66377         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
66378         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
66379         (spec): Now is a timespec or an item list.
66380         (timespec, items): New nonterminals.
66381         (time, rel, relunit, number, get_date):
66382         Add support for fractional seconds.
66383         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
66384         (gmtime, localtime, mktime): Remove decls; not needed with C89.
66385         (to_hour): First arg is now long int, not int.
66386         (to_year): Returns long int, not int.
66387         Don't treat year -70 like 70.
66388         (tm_diff): Returns long int, not int.
66389         (lookup_word): Use bool instead of int when appropriate.
66390         (yylex): Use size_t for count, not int.
66391         Detect overflow when parsing large integer constants.
66392         Add support for fractions.
66393         (get_date): Make pointers 'const' if possible.
66394         Use more-portable code to detect integer overflow.
66395         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
66396         Don't use ctime; it's not reliable if the year has >4 digits.
66397
66398         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
66399         This is for compatibility with BSD.
66400
66401         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
66402         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
66403         From coreutils' system.h.
66404
66405         * lib/userspec.c: Don't include "posixver.h".
66406         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
66407         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
66408         compatible extension.  Simplify code by removing a boolean int
66409         that was always nonzero if a string was nonnull.
66410
66411 2004-03-30  Jim Meyering  <jim@meyering.net>
66412
66413         Merge from coreutils.
66414
66415         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
66416         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
66417         on some systems one must include <grp.h> before it.
66418         Reported by Christian Krackowizer.
66419
66420 2004-03-30  Jim Meyering  <jim@meyering.net>
66421
66422         Merge from coreutils.
66423
66424         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
66425
66426         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
66427         an empty input stream.
66428
66429         * lib/readtokens.c: Include <stdbool.h>.
66430         (readtoken): Use `size_t' rather than int/long.
66431         All callers adjusted.
66432         Use `bool' rather than `int' where appropriate.
66433         Use memset rather than an explicit loop.
66434         Use x2nrealloc rather than xrealloc.
66435         Allow the use of `\0' as a delimiter.
66436         (readtokens): Likewise.
66437         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
66438
66439 2004-03-30  Jim Meyering  <jim@meyering.net>
66440
66441         * m4/realloc.m4: Remove file, since now it does no more than
66442         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
66443         the `configure.ac' section of module/realloc.
66444         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
66445
66446 2004-03-30  Bruno Haible  <bruno@clisp.org>
66447
66448         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
66449         nonnull.
66450
66451 2004-03-29  Paul Eggert  <eggert@twinsun.com>
66452
66453         Merge changes to getloadavg.c from coreutils and Emacs.
66454
66455         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
66456         Define to an expression, not to the empty string.
66457         Include cloexec.h and xalloc.h.
66458         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
66459         Use set_cloexec_flag rather than rolling our own.
66460         * lib/cloexec.c, lib/cloexec.h: New files.
66461
66462 2004-03-29  Paul Eggert  <eggert@twinsun.com>
66463
66464         * m4/cloexec.m4: New file.
66465
66466 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66467
66468         * lib/getopt.h: Sync with libc CVS.
66469
66470 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66471             Bruno Haible  <bruno@clisp.org>
66472
66473         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
66474         mbswidth.
66475
66476 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66477             Bruno Haible  <bruno@clisp.org>
66478
66479         * lib/mbswidth.h: Include <wchar.h> only if
66480         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
66481         <wchar.h>.
66482         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
66483
66484 2004-03-09  Paul Eggert  <eggert@twinsun.com>
66485
66486         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
66487         Sync with libc CVS.
66488         * lib/getopt_int.h: New file, also synced from libc.
66489
66490 2004-03-09  Paul Eggert  <eggert@twinsun.com>
66491
66492         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
66493         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
66494         Bring back getopt.c, getopt.h, getopt1.c.
66495
66496 2004-03-07  Paul Eggert  <eggert@twinsun.com>
66497
66498         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
66499         All uses changed.  Check for sa_sigaction member; this fixes
66500         a bug first reported by Jason Andrade in
66501         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
66502
66503 2004-03-07  Paul Eggert  <eggert@twinsun.com>
66504
66505         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
66506         '#if' expressions.  Unlike the code it replaces, it does not
66507         depend on (defined _SC_PAGESIZE).  However, it does depend on
66508         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
66509         first reported by Jason Andrade in
66510         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
66511
66512 2004-02-25  Simon Josefsson  <jas@extundo.com>
66513
66514         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
66515
66516 2004-02-25  Simon Josefsson  <jas@extundo.com>
66517
66518         * lib/strdup.h: New file.
66519         * lib/strdup.c: Include it.
66520         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
66521         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
66522
66523 2004-02-23  Karl Berry  <karl@gnu.org>
66524
66525         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
66526         (from fencepost.gnu.org:/gd/gnuorg).
66527
66528 2004-02-23  Karl Berry  <karl@gnu.org>
66529
66530         * config/srclistvars.sh (GNUORG) [karl]: redefine.
66531         * config/srclist.txt: add maintain/standards documents.
66532
66533 2004-02-18  Bruno Haible  <bruno@clisp.org>
66534
66535         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
66536         Reported by Derek Robert Price <derek@ximbiot.com>.
66537
66538 2004-02-16  Karl Berry  <karl@gnu.org>
66539
66540         * config/mkinstalldirs, install-sh: update from automake.
66541
66542 2004-02-06  Karl Berry  <karl@gnu.org>
66543
66544         * m4/po.m4: update from gettext 0.14.1.
66545
66546 2004-02-06  Karl Berry  <karl@gnu.org>
66547
66548         * lib/config.charset: update from gettext 0.14.1.
66549
66550 2004-02-05  Paul Eggert  <eggert@twinsun.com>
66551
66552         Add comments and code, prompted by suggestions from Bruno Haible
66553         for sh-quote.
66554         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
66555         describing the enum quoting_style values.
66556         * lib/quotearg.c (quotearg_alloc): New function.
66557         (quotearg_buffer_restyled): Treat lone { and } as special.
66558         Treat = as special.  Work around bug with older shells
66559         that "see" a '\' that is really the 2nd byte of a multibyte char.
66560         Quote empty string with shell_quoting_style.
66561
66562 2004-02-03  Bruno Haible  <bruno@clisp.org>
66563
66564         * m4/pipe.m4: New file, from GNU gettext.
66565
66566 2004-02-03  Bruno Haible  <bruno@clisp.org>
66567
66568         * lib/pipe.h: New file, from GNU gettext.
66569         * lib/pipe.c: New file, from GNU gettext.
66570
66571 2004-01-27  Bruno Haible  <bruno@clisp.org>
66572
66573         * m4/execute.m4: New file, from GNU gettext.
66574
66575 2004-01-27  Bruno Haible  <bruno@clisp.org>
66576
66577         * lib/execute.h: New file, from GNU gettext.
66578         * lib/execute.c: New file, from GNU gettext.
66579         * lib/w32spawn.h: New file, from GNU gettext.
66580
66581 2004-01-24  Paul Eggert  <eggert@twinsun.com>
66582
66583         Merge from diffutils.
66584
66585         * lib/file-type.c (file_type): Add typed memory objects.
66586         * lib/file-type.h (S_TYPEISTMO): New macro.
66587
66588         * lib/c-stack.h (c_stack_action): Remove argv argument.
66589         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
66590         (die): Don't calculate message unless segv_action returns.
66591         (get_stack_location, min_address_from_argv, max_address_from_argv,
66592         volatile stack_base, volatile_stack_size): Remove.
66593         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
66594         that every segmentation violation is a stack overflow.  (Ouch!)
66595         See Debian bug 136249 (still outstanding) for more info about why
66596         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
66597
66598 2004-01-24  Paul Eggert  <eggert@twinsun.com>
66599
66600         Exit-status fix from coreutils.
66601
66602         Use exit_failure consistently in place of EXIT_FAILURE,
66603         so that program exit statuses are consistent on failure.
66604
66605         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
66606         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
66607         * lib/argmatch.h: Comment fix to match the above.
66608         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
66609         Now a macro referring to exit_failure, instead of a separate
66610         variable.  Include "exitfail.h" to get it.
66611         * lib/xstrtol.h: Include "exitfail.h".
66612         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
66613
66614         * lib/long-options.c (parse_long_options): Use prototype
66615         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
66616         for clarity.
66617
66618 2004-01-21  Jim Meyering  <jim@meyering.net>
66619
66620         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
66621         so as not to conflict with a different-sized __mktime_internal
66622         function in GNU libc.
66623         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
66624         Problem building statically-linked `ls' reported by Michael Brunnbauer.
66625
66626 2004-01-20  Karl Berry  <karl@gnu.org>
66627
66628         * config/config.guess: update from config.
66629
66630         * config/srclistvars.sh: GNUWWWLICENSES for karl.
66631
66632 2004-01-20  Bruno Haible  <bruno@clisp.org>
66633
66634         Safer stack allocation.
66635         * lib/setenv.c: Include allocsa.h.
66636         (alloca): Remove fallback definition.
66637         (freea): Remove macro.
66638         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
66639         instead of freea.
66640
66641 2004-01-20  Bruno Haible  <bruno@clisp.org>
66642
66643         * m4/eealloc.m4: New file, from GNU gettext.
66644
66645 2004-01-20  Bruno Haible  <bruno@clisp.org>
66646
66647         * m4/allocsa.m4: New file, from GNU gettext.
66648
66649 2004-01-20  Bruno Haible  <bruno@clisp.org>
66650
66651         * lib/xallocsa.h: New file, from GNU gettext.
66652         * lib/xallocsa.c: New file, from GNU gettext.
66653
66654 2004-01-20  Bruno Haible  <bruno@clisp.org>
66655
66656         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
66657
66658 2004-01-20  Bruno Haible  <bruno@clisp.org>
66659
66660         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
66661         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
66662         specially.
66663
66664 2004-01-20  Bruno Haible  <bruno@clisp.org>
66665
66666         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
66667         patch.
66668
66669 2004-01-20  Bruno Haible  <bruno@clisp.org>
66670
66671         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
66672
66673 2004-01-20  Bruno Haible  <bruno@clisp.org>
66674
66675         * lib/eealloc.h: New file.
66676
66677 2004-01-20  Bruno Haible  <bruno@clisp.org>
66678
66679         * lib/binary-io.h: Avoid warnings on Cygwin.
66680
66681 2004-01-20  Bruno Haible  <bruno@clisp.org>
66682
66683         * lib/allocsa.h: New file, from GNU gettext.
66684         * lib/allocsa.c: New file, from GNU gettext.
66685
66686 2004-01-18  Karl Berry  <karl@gnu.org>
66687
66688         * doc/gpl.texi, doc/lgpl.texi: new files.
66689
66690 2004-01-18  Karl Berry  <karl@gnu.org>
66691
66692         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
66693         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
66694
66695 2004-01-15  Paul Eggert  <eggert@twinsun.com>
66696
66697         Merge from coreutils.
66698
66699         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
66700         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
66701         (gl_DEFAULT_POSIX2_VERSION): Move
66702         the documentation from 'configure' into 'config.hin',
66703         so that 'configure --help' isn't burdened by it and
66704         we don't have to worry about its formatting there.
66705         Reword the documentation so that it's more succinct
66706         and can be run together into a single paragraph.
66707         * m4/same.m4 (gl_SAME): Check for pathconf.
66708
66709 2004-01-15  Paul Eggert  <eggert@twinsun.com>
66710
66711         Merge from coreutils.
66712
66713         * lib/posixver.c: Include posixver.h.
66714
66715         * lib/same.c: Include <stdbool.h>, <limits.h>.
66716         (_POSIX_NAME_MAX): Define if not defined.
66717         (MIN): New macro.
66718         (same_name): If file names are silently truncated, report
66719         that the file names are the same if they are the same after
66720         the silent truncation.
66721
66722         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
66723         conversion function.
66724         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
66725         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
66726         longer needed.
66727
66728 2004-01-15  Jim Meyering  <jim@meyering.net>
66729
66730         Merge from coreutils.
66731
66732         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
66733         if no library is required.
66734         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
66735         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
66736         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
66737         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
66738         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
66739         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
66740         value, $ac_cv_search_crypt, if it's "none required".
66741         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
66742         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
66743         not gl_FUNC_GETLOADAVG.
66744         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
66745         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
66746
66747 2004-01-15  Jim Meyering  <jim@meyering.net>
66748
66749         Merge from coreutils.
66750
66751         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
66752         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
66753         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
66754
66755         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
66756         optional configure-time default.
66757
66758         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66759
66760         * lib/xreadlink.c (xreadlink): Correct outdated comment.
66761
66762 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
66763
66764         Merge from coreutils.
66765
66766         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
66767         value, $ac_cv_search_nanosleep, if it's "none required".
66768
66769 2004-01-14  Paul Eggert  <eggert@twinsun.com>
66770
66771         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
66772         with like-named macro in fnmatch.c.
66773         (EXT): Use an internal constant instead.
66774
66775         Merge fnmatch patches from glibc.
66776         * lib/fnmatch.c (mbsinit): Remove define.
66777         Add libc_hidden_ver (__fnmatch, fnmatch).
66778         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
66779         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
66780
66781 2004-01-14  Karl Berry  <karl@gnu.org>
66782
66783         * config/install-sh: update from automake.
66784
66785 2004-01-13  Karl Berry  <karl@gnu.org>
66786
66787         * config/install-sh: update from automake.
66788
66789 2004-01-09  Karl Berry  <karl@gnu.org>
66790
66791         * config/install-sh: update from automake.
66792
66793 2004-01-05  Karl Berry  <karl@gnu.org>
66794
66795         * config/config.{sub,guess}: update from config.
66796
66797 2003-12-31  Karl Berry  <karl@gnu.org>
66798
66799         * config/depcomp: update from automake.
66800
66801 2003-12-14  Karl Berry  <karl@gnu.org>
66802
66803         * lib/config.charset: update from gettext-runtime.
66804
66805 2003-12-03  Paul Eggert  <eggert@twinsun.com>
66806
66807         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
66808         Bug reported by Alfred M. Szmidt.
66809
66810 2003-12-03  Bruno Haible  <bruno@clisp.org>
66811
66812         * m4/gettext.m4: Upgrade from gettext-0.13.
66813         * m4/po.m4: Upgrade from gettext-0.13.
66814         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
66815         * m4/intmax.m4: New file, from gettext-0.13.
66816         * m4/printf-posix.m4: New file, from gettext-0.13.
66817
66818 2003-11-29  Karl Berry  <karl@gnu.org>
66819
66820         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
66821
66822 2003-11-25  Paul Eggert  <eggert@twinsun.com>
66823             Bruno Haible  <bruno@clisp.org>
66824
66825         * lib/printf-parse.h: Don't include sys/types.h.
66826         (ARG_NONE): New macro.
66827         (char_directive): Change type of *arg_index fields to size_t.
66828         * lib/printf-parse.c: Don't include sys/types.h.
66829         (SSIZE_MAX): Remove macro.
66830         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
66831         Remove unnecessary overflow check.
66832         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
66833         fields.
66834
66835 2003-11-25  Bruno Haible  <bruno@clisp.org>
66836
66837         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
66838
66839 2003-11-25  Bruno Haible  <bruno@clisp.org>
66840
66841         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
66842         gt_TYPE_SSIZE_T.
66843
66844 2003-11-24  Paul Eggert  <eggert@twinsun.com>
66845
66846         * modules/alloca: Remove dependency on xalloc.
66847
66848 2003-11-24  Paul Eggert  <eggert@twinsun.com>
66849
66850         * lib/alloca.c: Remove dependency on xalloc module.
66851         (xalloc_die): Remove.
66852         (memory_full) [!defined emacs]: New macro.
66853         [!defined emacs]: Don't include xalloc.h.
66854         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
66855         address arithmetic overflows.  Change datatypes a bit to avoid
66856         unnecessary casts.
66857
66858 2003-11-22  Jim Meyering  <jim@meyering.net>
66859
66860         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
66861         s/size/size_t/.
66862
66863 2003-11-21  Karl Berry  <karl@gnu.org>
66864
66865         * config/config.{sub,guess}: update from config.
66866
66867 2003-11-18  Karl Berry  <karl@gnu.org>
66868
66869         * config/config.{sub,guess}: update from config.
66870
66871         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
66872
66873 2003-11-17  Paul Eggert  <eggert@twinsun.com>
66874
66875         * README: Mention that S+T cannot overflow if S is the size of
66876         an existing object and T is sufficiently small.
66877
66878 2003-11-17  Jim Meyering  <jim@meyering.net>
66879
66880         On systems without utime and without a utimes function capable of
66881         dealing with a NULL struct utimbuf* argument, this utime replacement
66882         could -- in unusual circumstances -- leak a file descriptor.
66883         * lib/utime.c: Include <unistd.h> and <errno.h>.
66884         (utime_null): Be sure to close `fd' and to preserve errno.
66885         Reported by Geoff Collyer via Arnold Robbins.
66886
66887 2003-11-17  Bruno Haible  <bruno@clisp.org>
66888
66889         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
66890         (Depends-on): Add xsize.
66891
66892 2003-11-17  Bruno Haible  <bruno@clisp.org>
66893
66894         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
66895
66896 2003-11-17  Bruno Haible  <bruno@clisp.org>
66897
66898         * lib/vasnprintf.c (alloca): Remove fallback definition.
66899         (freea): Remove definition.
66900         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
66901         Reported by Paul Eggert.
66902
66903 2003-11-16  Paul Eggert  <eggert@twinsun.com>
66904             Bruno Haible  <bruno@clisp.org>
66905
66906         Protect against address arithmetic overflow.
66907         * lib/printf-args.h: Include stddef.h.
66908         (arguments): Change type of field 'count' to size_t.
66909         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
66910         'unsigned int' where appropriate.
66911         * lib/printf-parse.h: Include sys/types.h.
66912         (char_directive): Change type of *arg_index fields to ssize_t.
66913         (char_directives): Change type of fields 'count', max_*_length to
66914         size_t.
66915         * lib/printf-parse.c: Include sys/types.h and xsize.h.
66916         (SSIZE_MAX): Define fallback value.
66917         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
66918         instead of 'int' where appropriate. Check a_allocated, d_allocated
66919         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
66920         * lib/vasnprintf.c: Include xsize.h.
66921         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
66922         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
66923         overflow. Avoid wraparound when converting a width or precision from
66924         decimal to binary.
66925
66926 2003-11-16  Bruno Haible  <bruno@clisp.org>
66927
66928         Update from GNU gettext.
66929         * lib/printf-parse.c: Generalize to it can be compiled for wide
66930         strings.
66931         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
66932         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
66933         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
66934         SNPRINTF): New macros.
66935         Don't include <alloca.h> if the file is used inside libintl.
66936         (local_wcslen): New function, for Solaris 2.5.1.
66937         (VASNPRINTF): Use it instead of wcslen.
66938
66939 2003-11-16  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/xsize.h (xmax): New function.
66942         (xsum, xsum3, xsum4): Declare as "pure" functions.
66943
66944 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66945
66946         * modules/xalloc (Files): Undo latest change, since xalloc.h
66947         no longer needs SIZE_MAX or PTRDIFF_MAX.
66948
66949 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66950
66951         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
66952         gl_PTRDIFF_MAX.
66953
66954 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66955
66956         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
66957         "return", to pacify some unknown compiler.  Problem reported
66958         by Joerg Schilling.
66959
66960 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66961
66962         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
66963         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
66964         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
66965         heuristic is just as accurate as far as we know, and it removes a
66966         dependency on size_max.m4 and ptrdiff_max.m4.
66967
66968 2003-11-11  Bruno Haible  <bruno@clisp.org>
66969
66970         * modules/xsize (Files): Add m4/size_max.m4.
66971         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
66972
66973 2003-11-11  Bruno Haible  <bruno@clisp.org>
66974
66975         * m4/size_max.m4: New file.
66976         * m4/ptrdiff_max.m4: New file.
66977         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
66978         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
66979         (gl_XALLOC): Invoke it.
66980
66981 2003-11-11  Bruno Haible  <bruno@clisp.org>
66982
66983         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
66984         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
66985         defined.
66986
66987 2003-11-10  Paul Eggert  <eggert@twinsun.com>
66988
66989         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
66990         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
66991         rejected some allocations of exactly SIZE_MAX - 2 bytes.
66992         From Bruno Haible.
66993         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
66994         not (size_t) -1, since it's defined here.
66995
66996 2003-11-09  Karl Berry  <karl@gnu.org>
66997
66998         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
66999
67000 2003-11-06  Paul Eggert  <eggert@twinsun.com>
67001
67002         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
67003         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
67004         Reject sizes of exactly SIZE_MAX bytes.
67005         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
67006         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
67007
67008 2003-11-05  Bruno Haible  <bruno@clisp.org>
67009
67010         * lib/xsize.h: Include limits.h, to avoid a possible collision with
67011         SIZE_MAX defined in <limits.h> on Solaris.
67012
67013 2003-11-04  Jim Meyering  <jim@meyering.net>
67014
67015         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
67016         variable names, rather than @VAR@.
67017         * modules/poll: Likewise.
67018
67019 2003-11-04  Bruno Haible  <bruno@clisp.org>
67020
67021         * modules/xsize: New file.
67022         * modules/linebreak: Depend on xsize.
67023         * MODULES.html.sh (func_all_modules): Add xsize.
67024
67025 2003-11-04  Bruno Haible  <bruno@clisp.org>
67026
67027         * m4/xsize.m4: New file.
67028
67029 2003-11-04  Bruno Haible  <bruno@clisp.org>
67030
67031         * lib/xsize.h: New file.
67032         * lib/linebreak.c: Include xsize.h.
67033         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
67034         argument for overflow.
67035         Suggested by Paul Eggert.
67036
67037 2003-11-03  Karl Berry  <karl@gnu.org>
67038
67039         * config/config.{guess,sub}: update from config.
67040
67041 2003-11-03  Jim Meyering  <jim@meyering.net>
67042
67043         * modules/userspec (lib_SOURCES): Add userspec.h.
67044         (Include): Add "userspec.h".
67045         Improve description.
67046
67047 2003-11-03  Jim Meyering  <jim@meyering.net>
67048
67049         * lib/userspec.c: Include "userspec.h".
67050         * lib/userspec.h: New file.
67051
67052 2003-11-03  Bruno Haible  <bruno@clisp.org>
67053
67054         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
67055
67056 2003-11-03  Bruno Haible  <bruno@clisp.org>
67057
67058         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
67059         available, to avoid (extremely rare) race condition.
67060         Suggested by Paul Eggert.
67061
67062 2003-11-02  Karl Berry  <karl@gnu.org>
67063
67064         * config/srclist.txt (vasprintf.c): sync broken, sigh.
67065
67066 2003-10-31  Paul Eggert  <eggert@twinsun.com>
67067
67068         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
67069         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
67070         (read_filesystem_list): Set and use me_type_malloced.
67071         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
67072         whatever the type happens to be), for brevity and consistency.
67073         Check for size calculation overflow on Alphas running OSF/1.
67074
67075 2003-10-31  Jim Meyering  <jim@meyering.net>
67076
67077         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
67078
67079         * lib/linebuffer.c: Include <string.h> for declaration of memset.
67080
67081 2003-10-30  Paul Eggert  <eggert@twinsun.com>
67082             Bruno Haible  <bruno@clisp.org>
67083
67084         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
67085         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
67086
67087 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
67088
67089         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
67090         netbsd*-gnu*.  Suggested by Robert Millan.
67091
67092 2003-10-29  Paul Eggert  <eggert@twinsun.com>
67093
67094         * modules/group-member: Depend on stdbool.
67095
67096 2003-10-29  Paul Eggert  <eggert@twinsun.com>
67097
67098         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
67099
67100 2003-10-29  Paul Eggert  <eggert@twinsun.com>
67101
67102         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
67103         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
67104         after the 'gnu' in these cases.  This fixes some bugs in the
67105         previous change, and is based on suggestions by Robert Millan.
67106
67107 2003-10-29  Paul Eggert  <eggert@twinsun.com>
67108
67109         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
67110         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
67111         no longer needed.
67112         * lib/quotearg.c (quotearg_n_options): Use it.
67113         * lib/group-member.c: Include <stdbool.h>.
67114         (free_group_info): Arg is now const *; don't free arg.
67115         (get_group_info): Now returns bool and accepts struct group_info *,
67116         rather than returning a malloc'ed struct group_info *.
67117         All uses changed.  Check for overflow in internal size calculation.
67118
67119         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
67120         rather than xmalloc/xrealloc.
67121         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
67122         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
67123         conformance bug: the old code used a pointer after freeing the
67124         storage that it addressed.
67125         * lib/hash.c (hash_initialize): Simplify the code by using
67126         xalloc_oversized rather than doing it by hand.
67127         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
67128         the buffer preserved.  Use free and xmalloc instead.
67129         * lib/quotearg.c (quotearg_n_options): Likewise.
67130         Use a simpler test for size overflow.  Don't use xalloc_oversized
67131         because unsigned int might be wider than size_t (!); this suggests
67132         that we should switch from unsigned int to size_t for slot numbers.
67133
67134 2003-10-28  Paul Eggert  <eggert@twinsun.com>
67135
67136         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
67137         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
67138         NetBSD kernels.  Requested by Richard Stallman.
67139
67140 2003-10-27  Paul Eggert  <eggert@twinsun.com>
67141
67142         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
67143         to allocate the returned structure.  Do not allocate a subarray,
67144         as x2nrealloc will do that.
67145         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
67146         instead of xnrealloc.
67147         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
67148
67149 2003-10-27  Bruno Haible  <bruno@clisp.org>
67150
67151         * lib/stdbool_.h: Better support for BeOS.
67152
67153 2003-10-26  Paul Eggert  <eggert@twinsun.com>
67154
67155         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
67156         now uses inline.
67157
67158 2003-10-26  Paul Eggert  <eggert@twinsun.com>
67159
67160         * lib/xalloc.h (xalloc_oversized): New static inline function, for
67161         callers that want to do their own size-overflow checking.  Include
67162         <stdbool.h>, since xalloc_oversized returns bool.
67163         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
67164         to use xalloc_oversized.
67165
67166         Add two functions x2realloc, x2nrealloc, for programs that grow
67167         arrays dynamically by doubling their sizes.
67168         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
67169         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
67170         New functions.
67171
67172         Port to C99 semantics for 'inline' of external functions.
67173         Bug reported by Bruno Haible.
67174         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
67175         with the old contents of xnmalloc.
67176         (xnmalloc, xmalloc): Use it.
67177         (xnrealloc_inline): New static inline function,
67178         with the old contents of xnrealloc.
67179         (xnrealloc, xrealloc): Use it.
67180
67181         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
67182         that.
67183
67184 2003-10-26  Karl Berry  <karl@gnu.org>
67185
67186         * config/srclist.txt (COPYING.DOC): no longer available from
67187         /gd/gnuorg; don't know where the ultimate source is.
67188
67189 2003-10-25  Paul Eggert  <eggert@twinsun.com>
67190
67191         Fix several address-calculation bugs in the hash modules,
67192         plus some minor code cleanup.
67193
67194         * lib/hash.h: Include <stdbool.h>, for bool.
67195         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
67196         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
67197         hash_get_n_entries, hash_get_max_bucket_length,
67198         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
67199         hash_rehash): Use size_t rather than unsigned.
67200         * lib/hash.c (struct hash_table, hash_get_n_buckets,
67201         hash_get_n_buckets_used, hash_get_n_entries,
67202         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
67203         hash_get_entries, hash_do_for_each, hash_string, is_prime,
67204         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
67205         Likewise.
67206         (SIZE_MAX): Define if not defined.
67207         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
67208         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
67209         hash_print):
67210         Use const * when possible.
67211         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
67212         (check_tuning): Fix bug: if tuning parameters were very close to
67213         0 or 1, rounding errors could have caused subscript violations.
67214         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
67215         (hash_initialize): Add 'fail:' label
67216         to free table and return NULL, and use it to simplify code.
67217         Use calloc rather than clearing the storage ourself.
67218         (hash_initialize, hash_rehash): Check for arithmetic overflow in
67219         buffer size calculations.
67220         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
67221         Include <stddef.h>, for size_t.
67222         * lib/hash-pjw.c (hash_pjw): Likewise.
67223         Switch to method described by Bruno Haible.
67224         Include <limits.h>, for CHAR_BIT.
67225         (SIZE_BITS): New macro.
67226
67227 2003-10-23  Paul Eggert  <eggert@twinsun.com>
67228
67229         * m4/getline.m4 (AM_FUNC_GETLINE):
67230         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
67231         hosts.  Problem reported by Derek Robert Price in
67232         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
67233         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
67234         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
67235
67236 2003-10-21  Paul Eggert  <eggert@twinsun.com>
67237
67238         * lib/getndelim2.c (getndelim2): When size calculation overflows,
67239         ceiling the allocation at NMAX bytes rather than silently
67240         discarding input bytes before NMAX is reached.  This makes
67241         a difference only if NMAX exceeds SIZE_MAX / 2.
67242
67243         * lib/obstack.c: Merge from glibc.
67244         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
67245         Add libc_hidden_def (_obstack_newchunk).
67246         (_obstack_free) [! defined _LIBC]: Remove.
67247         [defined _LIBC]: Make a strong alias from obstack_free, rather than
67248         a clone of the function body.
67249         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
67250         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
67251
67252         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
67253         glibc.
67254         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
67255         arg to memcpy.
67256
67257         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
67258         (obstack_ptr_grow_fast, obstack_int_grow_fast):
67259         Don't use lvalue casts, as GCC plans to remove support for them
67260         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
67261         was also present in the non-GCC version, indicating that this
67262         code had always been buggy and had never been widely used.
67263         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
67264         Use the fast variant of each macro, rather than copying the
67265         definiens of the fast variant; that way, we'll be more likely to
67266         catch future bugs in the fast variants.
67267
67268 2003-10-20  Bruno Haible  <bruno@clisp.org>
67269
67270         * modules/wait-process: New file.
67271         * MODULES.html.sh (func_all_modules): Add wait-process.
67272
67273 2003-10-20  Bruno Haible  <bruno@clisp.org>
67274
67275         * m4/wait-process.m4: New file.
67276
67277 2003-10-20  Bruno Haible  <bruno@clisp.org>
67278
67279         * lib/wait-process.h: New file, from GNU gettext.
67280         * lib/wait-process.c: New file, from GNU gettext.
67281
67282 2003-10-19  Jim Meyering  <jim@meyering.net>
67283
67284         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
67285         HPUX 10.20.
67286
67287 2003-10-18  Karl Berry  <karl@gnu.org>
67288
67289         * config/config.guess: update from config.
67290
67291 2003-10-16  Paul Eggert  <eggert@twinsun.com>
67292
67293         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
67294         (getgroups): First arg is int, not size_t.
67295         Don't let 'free' mangle errno.
67296
67297 2003-10-16  Paul Eggert  <eggert@twinsun.com>
67298
67299         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
67300
67301 2003-10-16  Karl Berry  <karl@gnu.org>
67302
67303         * config/config.{guess,sub}: update from config.
67304
67305 2003-10-16  Jim Meyering  <jim@meyering.net>
67306
67307         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
67308         memcpy.
67309
67310 2003-10-15  Paul Eggert  <eggert@twinsun.com>
67311
67312         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
67313         (SIZE_MAX): Remove.
67314         (new_exclude, add_exclude_file): Initial size no longer needs to
67315         be a power of 2.
67316         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
67317         our own address arithmetic overflow checking.
67318
67319         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
67320         (fnmatch): Do not alloca more than 2000 wide characters;
67321         instead, use malloc for large buffers.
67322         Check for address arithmetic overflow, and return -1
67323         with errno set to ENOMEM in that case.
67324         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
67325         (NEW_PATTERN): Do not alloca more than 8000 bytes;
67326         instead, return -1.  Check for address arithmetic overflow.
67327
67328 2003-10-14  Paul Eggert  <eggert@twinsun.com>
67329
67330         Handle invalid suffixes and overflow independently, so that
67331         callers can treat them independently as needed.  Fix some bugs in
67332         suffix handling, e.g., "100k@" was not diagnosed as an invalid
67333         suffix for a human-readable blocksize.  The major caller-visible
67334         change is the addition of a new
67335         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
67336         that both overflow and suffix chars were found.
67337
67338         * lib/human.c (humblock): Don't check separately for invalid suffix
67339         char; that is xstrtoumax's job (now that its bug is fixed).
67340         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
67341         INTMAX_MAX]: New macros.
67342         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
67343         TYPE_MAXIMUM): New macros.
67344         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
67345         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
67346         if overflow occurs, as it's what __strtol does and it's more useful
67347         in practice.
67348         (__xstrtol): If __strtol reports some error other than ERANGE,
67349         reflect it to the caller as LONGINT_INVALID.  If it reports
67350         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
67351         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
67352         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
67353         value.
67354         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
67355         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
67356         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
67357         [defined UINTMAX_MAX]: New macros.
67358
67359 2003-10-14  Bruno Haible  <bruno@clisp.org>
67360
67361         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
67362
67363 2003-10-14  Bruno Haible  <bruno@clisp.org>
67364
67365         * m4/sig_atomic_t: New file, from GNU gettext.
67366         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
67367
67368 2003-10-14  Bruno Haible  <bruno@clisp.org>
67369
67370         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
67371         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
67372         Also use volatile where needed.
67373
67374 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67375
67376         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
67377         Change maintainer from Bruno Haible to 'all'.
67378
67379 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67380
67381         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
67382
67383 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67384
67385         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
67386         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
67387         and define in terms of the other primitives.
67388         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
67389         (SIZE_MAX): Define if not already defined.
67390         (array_size_overflow): New function.
67391         (xalloc_die): Abort instead of exiting if 'error' returns.
67392         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
67393         (xmalloc, xrealloc): Use them.
67394         (xcalloc): Check for address arithmetic overflow.
67395         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
67396         a bit faster than strcpy.
67397
67398 2003-10-10  Simon Josefsson  <jas@extundo.com>
67399
67400         * modules/argp (Depends-on): Add restrict and strcase.
67401
67402 2003-10-10  Simon Josefsson  <jas@extundo.com>
67403
67404         * m4/argp.m4: Add AC_C_INLINE.
67405
67406 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67407
67408         Merge getpass from libc, plus a few fixes.
67409
67410         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
67411         Include <stdbool.h>.
67412         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
67413         __fsetlocking to empty.
67414         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
67415         do include <bits/libc-lock.h>.
67416         Do not include <fcntl.h>; not needed.
67417         [_LIBC]: Include <wchar.h>.
67418         (NOTCANCEL_MODE): New macro.
67419         (flockfile, funlockfile) [_LIBC]: New macros.
67420         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
67421         [!_LIBC]: New macros.
67422         (call_fclose): New function.
67423         (getpass): Use it.  Save tty stream separately; this simplifies the
67424         code and makes it more reliable if stdin happens to equal stdout.
67425         Invoke __fsetlocking on tty.
67426         Handle thread cancellation if needed.
67427         Namespace cleanup (use __tcgetattr, __getline).
67428         Use bool for Booleans.
67429         [USE_IN_LIBIO]: Handle wide streams.
67430         [!_LIBC]: Unconditionally do the fseek, since we don't know what
67431         stream might go where.
67432
67433         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
67434         doesn't have to include <stdio.h> before us.
67435         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
67436         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
67437         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
67438         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
67439         if not declared, so that we can use getpass.c code from libc without
67440         rewriting it.
67441         (flockfile, ftrylockfile, funlockfile): New macros.
67442
67443 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67444
67445         * modules/getpass: Depend on stdbool.
67446
67447 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67448
67449         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
67450
67451 2003-10-07  Karl Berry  <karl@gnu.org>
67452
67453         * config/config.{guess,sub}: update from config.
67454
67455 2003-10-06  Jim Meyering  <jim@meyering.net>
67456             Bruno Haible  <bruno@clisp.org>
67457
67458         This lets translators provide better translations for the
67459         "Written by ..." part of --version output.
67460         * lib/version-etc.h: Include stdarg.h.
67461         (version_etc_copyright): Declare as readonly.
67462         (version_etc): Make this function variadic with a NULL-terminated list
67463         of author name strings.
67464         (version_etc_va): New declaration.
67465         * lib/version-etc.c: Include stdarg.h, stdlib.h.
67466         (version_etc_copyright): Declare as readonly.
67467         (version_etc_va): New function. Provide a different translatable string
67468         for each possible number of authors < 10. Abbreviate when there are 10
67469         authors or more.
67470         (version_etc): Make this function variadic. Call version_etc_va.
67471         Suggestion from Gary V. Vaughan.
67472
67473         * lib/long-options.h (parse_long_options): Change prototype: the
67474         authors string is moved to the end and becomes variadic.
67475         * lib/long-options.c: Include stdarg.h.
67476         (parse_long_options): Make this function variadic, too.
67477         Call version_etc_va, not version_etc.
67478
67479 2003-10-06  Bruno Haible  <bruno@clisp.org>
67480
67481         * modules/version-etc-2: Remove file.
67482         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
67483
67484 2003-10-06  Bruno Haible  <bruno@clisp.org>
67485
67486         * modules/fatal-signal: New file.
67487         * MODULES.html.sh (func_all_modules): Add fatal-signal.
67488
67489 2003-10-06  Bruno Haible  <bruno@clisp.org>
67490
67491         * m4/fatal-signal.m4: New file.
67492         * m4/signalblocking.m4: New file, from GNU gettext.
67493
67494 2003-10-06  Bruno Haible  <bruno@clisp.org>
67495
67496         * lib/version-etc-2.h: Remove file.
67497         * lib/version-etc-2.c: Remove file.
67498
67499 2003-10-06  Bruno Haible  <bruno@clisp.org>
67500
67501         * lib/fatal-signal.h: New file, from GNU gettext.
67502         * lib/fatal-signal.c: New file, from GNU gettext.
67503
67504 2003-10-05  Paul Eggert  <eggert@twinsun.com>
67505
67506         * README: Rework advice for preventing empty .o files.
67507         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
67508         not <sys/types.h>.
67509
67510 2003-10-04  Karl Berry  <karl@gnu.org>
67511
67512         * lib/argp*: update from libc.
67513
67514 2003-10-04  Karl Berry  <karl@gnu.org>
67515
67516         * config/config.{guess,sub}: update from config.
67517
67518 2003-10-02  Bruno Haible  <bruno@clisp.org>
67519
67520         * modules/lchown (Include): Add lchown.h.
67521         * modules/time_r (Include): Use "..." syntax.
67522         * modules/xgetdomainname (Include): Add xgetdomainname.h.
67523
67524 2003-10-01  Simon Josefsson  <jas@extundo.com>
67525
67526         * MODULES.html.sh (func_all_modules): Move gethostname from section
67527         'based on' to section 'lacking' POSIX:2001.
67528
67529 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
67530
67531         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
67532         to output mode on the same stream.
67533
67534 2003-09-29  Paul Eggert  <eggert@twinsun.com>
67535
67536         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
67537         Fix arg typo in previous patch.
67538
67539 2003-09-28  Jim Meyering  <jim@meyering.net>
67540
67541         * lib/error.c: Correct cpp indentation.
67542
67543 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67544
67545         * modules/free: New file.
67546
67547 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67548
67549         * m4/free.m4: New file.
67550
67551 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67552
67553         * lib/minmax.h (MIN, MAX)
67554         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
67555         Omit the special code that used __typeof__, since we worry that
67556         it could be more trouble than it's worth.  See:
67557         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
67558         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
67559
67560         * lib/free.c: New file.
67561
67562 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
67563
67564         Trivial fixes to Makefile.am parts of module listings.
67565         * modules/strstr: Append strstr.h to lib_SOURCES.
67566         * modules/strcase: Likewise, for strcase.h.
67567
67568 2003-09-27  Karl Berry  <karl@gnu.org>
67569
67570         * config/mkinstalldirs: update from automake.
67571
67572 2003-09-26  Paul Eggert  <eggert@twinsun.com>
67573
67574         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
67575         (error_tail): Do not loop, reallocating temporary buffer, since
67576         the output cannot contain more wide characters than the input
67577         contains bytes, the size must be big enough already.  This avoids
67578         one potential size overflow calculation.  Check for size overflow
67579         when calculating temporary buffer size.  Free temporary buffer
67580         when done, if it was allocated with malloc; this plugs a memory
67581         leak.  Remove casts from void * to pointers, that are no longer
67582         needed now that we're assuming C89 or better.
67583
67584         Merge error changes from glibc.
67585
67586         * lib/error.c, error.h: Update copyright notice header to match glibc.
67587         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
67588         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
67589         Disable cancellation while printing error.
67590         * lib/error.h: Prepend __ to parameter names.
67591
67592 2003-09-26  Jim Meyering  <jim@meyering.net>
67593
67594         * lib/error.c (error_tail): Move some declarations
67595         into inner scope where the local variables are used.
67596
67597 2003-09-26  Bruno Haible  <bruno@clisp.org>
67598
67599         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
67600         stpncpy().
67601         Don't define stpncpy through config.h; it's now done through stpncpy.h.
67602
67603 2003-09-26  Bruno Haible  <bruno@clisp.org>
67604
67605         * lib/stpncpy.h (gnu_stpncpy): New declaration.
67606         (stpncpy): Define as alias for gnu_stpncpy.
67607         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
67608
67609 2003-09-25  Simon Josefsson  <jas@extundo.com>
67610
67611         * lib/xgetdomainname.h: New file.
67612         * lib/xgetdomainname.c: New file.
67613
67614 2003-09-25  Simon Josefsson  <jas@extundo.com>
67615             Bruno Haible  <bruno@clisp.org>
67616
67617         * modules/getdomainname: New file.
67618         * modules/xgetdomainname: New file.
67619         * MODULES.html.sh (func_all_modules): Add getdomainname,
67620         xgetdomainname.
67621
67622 2003-09-25  Simon Josefsson  <jas@extundo.com>
67623             Bruno Haible  <bruno@clisp.org>
67624
67625         * m4/getdomainname.m4: New file.
67626
67627 2003-09-25  Simon Josefsson  <jas@extundo.com>
67628             Bruno Haible  <bruno@clisp.org>
67629
67630         * lib/getdomainname.h: New file.
67631         * lib/getdomainname.c: New file.
67632
67633 2003-09-25  Karl Berry  <karl@gnu.org>
67634
67635         * lib/argp-fmtstream.c, argp-help.c: update from libc.
67636
67637 2003-09-25  Karl Berry  <karl@gnu.org>
67638
67639         * config/install-sh: update from automake.
67640
67641 2003-09-25  Bruno Haible  <bruno@clisp.org>
67642
67643         * modules/version-etc-2: New file, from modules/version-etc with
67644         modifications.
67645         * MODULES.html.sh (func_all_modules): Add version-etc-2.
67646
67647 2003-09-25  Bruno Haible  <bruno@clisp.org>
67648
67649         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
67650         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
67651
67652 2003-09-24  Simon Josefsson  <jas@extundo.com>
67653
67654         * modules/xgethostname: Add xgethostname.h.
67655
67656 2003-09-24  Paul Eggert  <eggert@twinsun.com>
67657
67658         * lib/linebuffer.c (freebuffer): Don't free the argument, just
67659         the buffer associated with the argument.  Bug reported by
67660         Simon Josefsson.
67661
67662 2003-09-24  Paul Eggert  <eggert@twinsun.com>
67663
67664         * README: Document assumptions that 'int' is at least 32 bits
67665         wide, that integer arithmetic is 2's complement without overflow,
67666         that there are no holes in integer values, that adding sizes of
67667         two nonoverlapping objects can't overflow, and that all-bits-zero
67668         yields scalar zero.  Fix spelling and capitalization typos.
67669
67670 2003-09-19  Karl Berry  <karl@gnu.org>
67671
67672         * lib/argp.h: update from libc.
67673
67674 2003-09-17  Paul Eggert  <eggert@twinsun.com>
67675
67676         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
67677         to avoid spurious warnings like "AC_RUN_IFELSE was called before
67678         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
67679
67680 2003-09-17  Paul Eggert  <eggert@twinsun.com>
67681
67682         * gnulib-tool: Use "test -h", not "test -L", for portability
67683         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
67684         (tags_regexp): Remove, since \| doesn't conform to POSIX.
67685         (sed_extract_prog): Issue s commands one-by-one, rather than
67686         using \| in one s command.
67687
67688 2003-09-16  Paul Eggert  <eggert@twinsun.com>
67689
67690         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
67691         input error, instead of returning NULL the next time we are called
67692         (and therefore losing track of errno).
67693
67694 2003-09-16  Bruno Haible  <bruno@clisp.org>
67695
67696         * gnulib-tool (func_create_testdir): Warn about duplicated
67697         dependencies.
67698
67699 2003-09-15  Paul Eggert  <eggert@twinsun.com>
67700
67701         * modules/argmatch, modules/fatal, modules/obstack,
67702         modules/xalloc, modules/xgethostname: Sort dependencies by
67703         importance, not alphabetically.
67704
67705 2003-09-15  Paul Eggert  <eggert@twinsun.com>
67706
67707         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
67708         fails, so that the caller gets the proper errno.
67709
67710         * lib/readutmp.c (read_utmp): Likewise.
67711         Check for fstat error.  Close stream and free storage
67712         when failing.
67713
67714 2003-09-14  Karl Berry  <karl@gnu.org>
67715
67716         * config/srclist.txt (strdup.c): disable for c89 changes.
67717
67718 2003-09-14  Jim Meyering  <jim@meyering.net>
67719
67720         * lib/getloadavg.c: Correct cpp indentation.
67721         * lib/strdup.c: Likewise.
67722         * lib/vasnprintf.c: Likewise.
67723
67724 2003-09-14  Bruno Haible  <bruno@clisp.org>
67725
67726         * modules/fwriteerror: New file.
67727         * MODULES.html.sh (func_all_modules): Add fwriteerror.
67728
67729 2003-09-14  Bruno Haible  <bruno@clisp.org>
67730
67731         * lib/fwriteerror.h: New file.
67732         * lib/fwriteerror.c: New file.
67733
67734 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67735
67736         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
67737         modules/xgethostname, modules/xalloc: Depend on exit.
67738
67739 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67740
67741         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
67742
67743         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
67744         and AC_MINIX, too, so that their extensions are available.
67745
67746         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
67747         This macro has been superseded by gl_BACKUPFILE.
67748
67749         More patches to assume C89 or better.
67750
67751         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
67752
67753         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
67754         unconditionally.
67755         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
67756         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
67757         Include <string.h>, <stdlib.h> unconditionally.
67758         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
67759         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
67760         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
67761         headers or for string.h.
67762         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
67763         or strtoul.
67764
67765         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
67766         headers.
67767         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
67768         * m4/userspec.m4 (gl_USERSPEC): Likewise.
67769         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
67770         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
67771         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67772         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
67773         memcpy, memset.
67774         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
67775         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
67776         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
67777         strtol.
67778         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
67779         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
67780         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
67781         strtoul.
67782
67783 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67784
67785         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
67786         * lib/obstack.c [!defined _LIBC]: Likewise.
67787         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
67788         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
67789         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
67790
67791         More changes to assume C89 or better.
67792
67793         * lib/error.c (error_tail): Assume vprintf.
67794
67795         * lib/argmatch.c (getenv): Remove decl.
67796         * lib/progreloc.c (get_full_program_name): Define via prototype.
67797         * lib/setenv.c (clearenv): Likewise.
67798         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
67799         needed.
67800         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
67801         (malloc, memcpy): Remove decls.
67802         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
67803         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
67804         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
67805         (memcpy): Remove macro.
67806         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
67807         (__P): Remove.  All uses removed.
67808         (PTR): Remove.  All uses changed to void *.
67809         (CHAR_BIT, NULL): Remove.
67810         (spaces, zeros, memset_space, memset_zero)
67811         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
67812         Remove.
67813         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
67814         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
67815         Define with prototype.
67816         Remove now-unnecessary prototype decl.
67817         (extra_args_spec): Assume ANSI C.  All uses changed.
67818         (extra_args_spec_iso): Remove.
67819         (my_strftime, emacs_strftimeu): Define via prototype.
67820         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
67821         unconditionally.
67822         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
67823         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
67824         (strtoul, strtol): Remove decls.
67825         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
67826         LONG_MAX): Remove.
67827         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
67828         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
67829         (LOCALE_PARAM_PROTO): New macro.
67830         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
67831         (INTERNAL (strtol), strtol): Define with a prototype.
67832         (PARAMS): Remove.  All uses removed.
67833         * lib/tempname.c: Include <string.h> unconditionally.
67834         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
67835         * lib/xgethostname.c (main): Define with a prototype.
67836         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
67837         Include <stdlib.h> unconditionally.
67838         (calloc, malloc, realloc, free): Remove decls.
67839         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
67840         Include <stdlib.h> unconditionally.  Sort include file names.
67841         (strtod): Remove.
67842         (xstrtod): Define with a prototype.
67843         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
67844         (strtol, strtoul): Remove decls.
67845
67846 2003-09-11  Paul Eggert  <eggert@twinsun.com>
67847
67848         More patches to assume C89 or better.
67849         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
67850         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
67851         string.h, memchr, STDC_HEADERS.
67852
67853 2003-09-11  Paul Eggert  <eggert@twinsun.com>
67854
67855         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
67856         Include <stdlib.h>, <string.h> unconditionally.
67857         Remove now-unnecessary cast to char *.
67858         * lib/strnlen.c: Include <string.h> unconditionally.
67859         * lib/yesno.c (yesno): Define with a prototype.
67860
67861 2003-09-11  Bruno Haible  <bruno@clisp.org>
67862
67863         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
67864
67865 2003-09-10  Jim Meyering  <jim@meyering.net>
67866
67867         * lib/error.c: Correct indentation of cpp directives.
67868
67869 2003-09-10  Bruno Haible  <bruno@clisp.org>
67870
67871         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
67872         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
67873         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
67874         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
67875         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
67876         <stdlib.h> and <string.h> checks.
67877         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
67878         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
67879
67880 2003-09-10  Bruno Haible  <bruno@clisp.org>
67881
67882         * lib/strcspn.c: Include <string.h> unconditionally.
67883         * lib/strpbrk.c: Include <string.h> unconditionally.
67884         * lib/strstr.c: Include <string.h> unconditionally.
67885         * lib/unicodeio.c: Include <string.h> unconditionally.
67886         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
67887         * lib/unsetenv.c: Likewise.
67888         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
67889         * lib/yesno.c: Include <stdlib.h> unconditionally.
67890         (rpmatch): Add prototype.
67891
67892 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67893
67894         More patches to assume C89 or better.
67895         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
67896         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
67897         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
67898         or for string.h.
67899         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
67900         stdlib.h.
67901         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
67902         C headers.
67903         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
67904         string.h.
67905         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
67906         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
67907         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
67908         or for string.h.
67909         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
67910         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
67911         C headers.
67912         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
67913         memcpy.
67914         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
67915         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
67916         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
67917         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
67918         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
67919         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
67920         string.h, free.
67921         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
67922         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
67923         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
67924         C headers, or for string.h.
67925         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
67926         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
67927         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
67928         headers, memory.h, stdlib.h, string.h, strings.h.
67929         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
67930         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
67931         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
67932         strchr.
67933         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
67934         headers, memory.h, string.h.
67935         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
67936         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
67937         free.
67938         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
67939         headers.
67940         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
67941         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
67942         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
67943         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
67944         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
67945
67946 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67947
67948         More K&R removal.
67949
67950         * lib/acosl.c (main): Use a prototype.
67951         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
67952         tanl.c: Likewise.
67953
67954         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
67955
67956         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
67957         (getopt, etopt_long, getopt_long_only, _getopt_internal)
67958         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
67959         with a prototype.
67960         * lib/getopt.c (const): Remove macro.
67961         Include <string.h> unconditionally.
67962         (my_index): Remove; all uses changed to strchr.
67963         (strlen): Remove decl.
67964         (exchange): Remove forward decl; no longer needed.
67965         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
67966         Define with prototype.
67967         * lib/getopt1.c (const): Remove macro.
67968         (getopt_long, getopt_long_only, main): Define with prototype.
67969
67970         * lib/getugroups.c: Include <string.h> unconditionally.
67971
67972         * lib/getusershell.c: Include <stdlib.h> unconditionally.
67973         (getusershell, setusershell, endusershell, readname, main):
67974         Define with prototypes.
67975
67976         * lib/group-member.c: Include group-member.h first.
67977         Include <stdlib.h> unconditionally.
67978
67979         * lib/hard-locale.c: Include hard-locale.h first.
67980         Include <stdlib.h>, <string.h> unconditionally.
67981
67982         * lib/hash.c (free, malloc): Remove decls.
67983         Include <stdlib.h> unconditionally.
67984
67985         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
67986         (getenv): Do not declare.
67987
67988         * lib/idcache.c: Include <string.h> unconditionally.
67989
67990         * lib/long-options.c: Include long-options.h first, to test interface.
67991         Include <stdlib.h> unconditionally.
67992
67993         * lib/makepath.c: Include makepath.h first, to test interface.
67994         Include <stdlib.h> and <string.h> unconditionally.
67995
67996         * lib/linebuffer.c: Include <stdlib.h>.
67997         (free): Remove decl.
67998
67999         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
68000         stddef.h. rpl_malloc returns void *, not char *.
68001         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
68002         prototype.
68003
68004         * lib/md5.h: Include <limits.h> unconditionally.
68005         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
68006         (__P): Remove; all uses removed.
68007         * lib/md5.c: Include "md5.h" first.
68008         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
68009         md5_buffer, md5_process_bytes, md5_process_block):
68010         Define with prototypes.
68011         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
68012         * lib/sha.c: Include "sha.h" first.
68013         Include <stdlib.h>, <string.h> unconditionally.
68014
68015         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
68016         * lib/memcmp.c (__ptr_t): Likewise.
68017         * lib/memrchr.c (__ptr_t): Likewise.
68018         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
68019         Include <string.h> unconditionally.
68020         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
68021         * lib/memchr.c: Include <stdlib.h> unconditionally.
68022         * lib/memchr.c (LONG_MAX): Remove.
68023         * lib/memrchr.c (LONG_MAX): Likewise.
68024         * lib/memchr.c (__memchr): Define via a prototype.
68025         * lib/memrchr.c (__memrchr): Likewise.
68026         * lib/memcmp.c (__P): Remove, and remove all uses.
68027         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
68028         Remove forward decls; no longer needed.
68029         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
68030         Use types required by C89 in prototype.
68031
68032         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
68033         * lib/savedir.c: Likewise.
68034         * lib/mkdir.c (free): Remove decl.
68035         * lib/rmdir.c (rmdir): Define with a prototype.
68036         * lib/savedir.c: Include savedir.h first, to test interface.
68037
68038         * lib/mktime.c (STDC_HEADERS): Remove.
68039         Include <stdlib.h>, <string.h> unconditionally.
68040
68041         * lib/modechange.c: Include <stdlib.h> unconditionally.
68042         (malloc): Remove decl.
68043
68044         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
68045         (free): Remove decl.
68046
68047         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
68048         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
68049         (This type really should be intptr_t, but that's a C99ism.)
68050         (_obstack_memcpy): Remove: all uses changed to memcpy.
68051         Include <string.h> unconditionally.
68052         (struct obstack): Assume __STDC__ for types of members
68053         chunkfun, freefun, extra_arg.
68054         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
68055         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
68056         obstack_begin, obstack_specify_allocation,
68057         obstack_specify_allocation_with_arg, obstack_chunkfun,
68058         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
68059         Remove unprototyped decls and the macros that use them.
68060         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
68061         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
68062         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
68063         (defined __STDC__ && __STDC__)]:
68064         Remove nonprototyped code.
68065         Include <stdlib.h> unconditionally.
68066         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
68067         _obstack_allocated_p, _obstack_free, obstack_free,
68068         _obstack_memory_used, print_and_abort):
68069         Define using prototypes.
68070         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
68071         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
68072         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
68073         obstack_next_free, obstack_object_size, obstack_room) [0]:
68074         Remove unused, unprototyped code.
68075
68076         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
68077
68078         * lib/physmem.c (physmem_total, physmem_available, main): Define
68079         with prototypes.
68080
68081         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
68082         (main): Define with a prototype.
68083
68084         * lib/posixver.c (getenv): Remove decl.
68085
68086         * lib/putenv.c (malloc): Returns void *, not char *.
68087         Include <string.h> unconditionally.
68088         (strchr, memcpy, NULL): Do not define.
68089
68090         * lib/readtokens.c: Include readtokens.h first, to test interface.
68091         Include <stdlib.h>, <string.h> unconditionally.
68092         (init_tokenbuffer): Define with a prototype.
68093
68094         * lib/regex.c (PARAMS): Remove.  All uses removed.
68095         All uses of _RE_ARGS removed, too.
68096         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68097         unconditionally.
68098         (bzero): Assume memset exists.
68099         (memcmp, memcpy, NULL): Remove.
68100         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
68101         char, or assignments to local vars of type signed char.
68102         (init_syntax_once, PREFIX(extract_number_and_incr),
68103         PREFIX(print_partial_compiled_pattern),
68104         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
68105         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
68106         PREFIX(regex_grow_registers), PREFIX(regex_compile),
68107         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
68108         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
68109         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
68110         wcs_compile_range, byte_compile_range, truncate_wchar,
68111         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
68112         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
68113         count_mbs_length, wcs_re_match_2_internal,
68114         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
68115         PREFIX(alt_match_null_string_p),
68116         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
68117         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
68118         regfree, PREFIX(extract_number)): Define with prototype.  Remove
68119         now-unnecessary declaration, if any.
68120         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
68121         regcomp, regexec):
68122         Remove now-unnecessary casts among pointer types.
68123         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
68124
68125         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
68126         (free): Remove decl.
68127
68128         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
68129
68130         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
68131         (free): Remove decl.
68132
68133         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
68134         * lib/xgetcwd.c: Likewise.
68135
68136         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
68137         (free): Remove decl.
68138
68139         * lib/strchrnul.c (strchrnul): Define with a prototype.
68140         Fix bug: c_in was not converted to char before searching.
68141
68142         The following changes are not K&R related:
68143
68144         * lib/group-member.h: Include <sys/types.h>, so that this file is
68145         self-contained.
68146         * lib/makepath.h: Likewise.
68147
68148         * lib/getusershell.c (readname, default_index, line_size, readname):
68149         Use size_t, not int, for sizes.
68150         (readname): If the size overflows, report an error instead of
68151         looping forever.
68152
68153 2003-09-09  Paul Eggert  <eggert@twinsun.com>
68154
68155         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
68156         libc.
68157
68158 2003-09-09  Paul Eggert  <eggert@twinsun.com>
68159
68160         * README: New section: portability guidelines.
68161
68162 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
68163
68164         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
68165         C89 spec.
68166
68167 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
68168
68169         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
68170
68171 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68172
68173         Assume C89 or better; remove K&R cruft.
68174         A few of these changes were first proposed by Derek Robert Price
68175         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
68176
68177         * lib/addext.c: Include <string.h> unconditionally.
68178         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
68179         Don't declare getenv or malloc.
68180
68181         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
68182         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
68183         (NULL): Remove.
68184         (find_stack_direction, alloca): Use prototypes.
68185
68186         * lib/atexit.c (atexit): Define using a prototype.
68187
68188         * lib/basename.c, dirname.c, stripslash.c:
68189         Include <string.h> unconditionally.
68190
68191         * lib/bcopy.c: Include <stddef.h>.
68192         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
68193
68194         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
68195
68196         * lib/error.h (error, error_at_line, error_print_progname)
68197         [! (defined (__STDC__) && __STDC__)]: Remove decls.
68198         * lib/error.c: Include error.h first, to check interface.
68199         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
68200         (VA_START): Remove; all uses changeed to va_start.
68201         (exit, strerror): Remove decls.
68202         (error_print_progname): Prototype uncondionally.
68203         Don't include <errno.h>; no longer needed.
68204         (private_strerror): Remove.
68205         (error_tail): Always define.
68206         (error, error_at_line): Assume C89 or better; always use prototypes.
68207         * lib/fatal.c: Include "fatal.h" first, to test interface.
68208         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
68209         (VA_START): Remove; all uses changed to va_start.
68210         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
68211         this case.
68212         (exit): Remove decl.
68213         (fatal): Prototype unconditionally.  Assume va_start works.
68214         Abort at end, to pacify gcc.
68215
68216         * lib/euidaccess.c (main): Define with a prototype.
68217
68218         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
68219
68220         * lib/exitfail.c: Include <stdlib.h> unconditionally.
68221
68222         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
68223         prototypes.
68224         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
68225         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
68226         (getenv): Remove decl.
68227         (fnmatch): Define using a prototype.
68228         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
68229         (FCT): Define using a prototype.
68230
68231         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
68232
68233         * lib/gethostname.c: Include <stddef.h>.
68234         (gethostname): Define with prototype.  Length is size_t, not int.
68235
68236 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68237
68238         Assume C89 or better; remove K&R cruft.
68239         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
68240         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
68241         string.h, getenv, malloc.
68242         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
68243         headers.
68244         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
68245         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
68246         do not check for strerror.
68247         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
68248         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
68249         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
68250         do not check for doprnt or vprintf.
68251         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
68252         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
68253
68254 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68255
68256         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
68257         getversion.c should have been removed then, but was accidentally
68258         preserved.
68259
68260         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
68261         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
68262
68263 2003-09-08  Karl Berry  <karl@gnu.org>
68264
68265         * config/config.sub, config.guess, srclistvars.sh: update from savannah
68266                 config, forget about prep.
68267
68268         * config/depcomp, missing: update from automake.
68269
68270 2003-09-07  Paul Eggert  <eggert@twinsun.com>
68271
68272         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
68273         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
68274
68275 2003-09-07  Paul Eggert  <eggert@twinsun.com>
68276
68277         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
68278         copy_tm_result.  Bug reported by Simon Josefsson in
68279         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
68280
68281 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68282
68283         * m4/time_r.m4: New file.
68284         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
68285         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
68286         is. Check for timegm declaration.
68287         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
68288         Do not check for gmtime_r.
68289         Replace mktime if __mktime_internal does not exist and if mktime
68290         hasn't been replaced already.
68291
68292 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68293
68294         * lib/time_r.c, lib/time_r.h: New files.
68295
68296         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
68297         __localtime_r.
68298         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
68299         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
68300
68301         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
68302         __gmtime_r.
68303         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
68304         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
68305         Include <time_r.h>.
68306
68307         * lib/timegm.c: Switch to glibc implementation, with the following
68308         changes:
68309         [defined HAVE_CONFIG_H]: Include <config.h>.
68310         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
68311         (__mktime_internal) [!defined _LIBC]: New decl.
68312         (__gmtime_r) [!defined _LIBC]: New macro and function.
68313         (timegm): Use a prototype, since gnulib assumes C89.
68314         Do not bother declaring tmp to be const, as it's not really usefu.
68315         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
68316         (timegm): Declare only if HAVE_DECL_TIMEGM.
68317
68318 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68319
68320         * MODULES.html.sh (func_all_modules): Add time_r.
68321         * modules/time_r: New file.
68322         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
68323         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
68324
68325 2003-09-03  Paul Eggert  <eggert@twinsun.com>
68326
68327         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
68328         Bug reported by Lute Kamstra in
68329         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
68330
68331         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
68332         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
68333         course with correspondingly smaller numbers for tomorrow and
68334         yesterday.  From Tadayoshi Funaba.  Originally installed into
68335         sh-utils on 1999-08-07, but the patch got lost (I guess during the
68336         coreutils merge?).
68337
68338 2003-08-31  Simon Josefsson  <jas@extundo.com>
68339
68340         * modules/timegm: New file.
68341         * MODULES.html.sh (func_all_modules): Add timegm.
68342
68343 2003-08-31  Simon Josefsson  <jas@extundo.com>
68344
68345         * m4/timegm.m4: New file.
68346
68347 2003-08-31  Simon Josefsson  <jas@extundo.com>
68348
68349         * lib/timegm.h: New file.
68350         * lib/timegm.c: New file.  Based on
68351         wget-1.8.2/src/http.c:mktime_from_utc.
68352
68353 2003-08-31  Karl Berry  <karl@gnu.org>
68354
68355         * lib/argp.h: update from libc.
68356
68357 2003-08-28  Bruno Haible  <bruno@clisp.org>
68358
68359         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
68360         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
68361         followed by '#define fnmatch fnmatch_posix' gives an error.
68362
68363 2003-08-28  Bruno Haible  <bruno@clisp.org>
68364
68365         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
68366         warning on QNX, which defines O_BINARY to 000000.
68367
68368 2003-08-27  Jim Meyering  <jim@meyering.net>
68369
68370         * m4/mkstemp.m4: Require that the system mkstemp be able to create
68371         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
68372         would fail after 32.  Reported by Danny Levinson.  Details here:
68373         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
68374
68375 2003-08-24  Bruno Haible  <bruno@clisp.org>
68376
68377         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
68378         MSVC7 <stdio.h> is included later.
68379
68380 2003-08-22  Simon Josefsson  <jas@extundo.com>
68381
68382         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
68383
68384 2003-08-20  Karl Berry  <karl@gnu.org>
68385
68386         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
68387
68388 2003-08-20  Bruno Haible  <bruno@clisp.org>
68389
68390         * modules/progname: New file.
68391         * MODULES.html.sh (func_all_modules): Add progname.
68392
68393 2003-08-20  Bruno Haible  <bruno@clisp.org>
68394
68395         * lib/progname.h: New file, from GNU gettext.
68396         * lib/progname.c: New file, from GNU gettext.
68397         * lib/progreloc.c: New file, from GNU gettext.
68398
68399 2003-08-19  Jim Meyering  <jim@meyering.net>
68400
68401         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
68402         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
68403
68404 2003-08-19  Bruno Haible  <bruno@clisp.org>
68405
68406         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
68407         more.
68408
68409 2003-08-19  Bruno Haible  <bruno@clisp.org>
68410
68411         * lib/xstrdup.c: Assume <string.h> exists.
68412
68413 2003-08-18  Paul Eggert  <eggert@twinsun.com>
68414
68415         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
68416         in makefile rules.
68417
68418 2003-08-18  Jim Meyering  <jim@meyering.net>
68419
68420         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
68421         * m4/lib-ld.m4: Likewise.
68422
68423 2003-08-18  Jim Meyering  <jim@meyering.net>
68424
68425         * lib/setenv.h: Indent nested cpp directive.
68426         * lib/vasnprintf.c: Remove trailing blanks.
68427
68428 2003-08-17  Simon Josefsson  <jas@extundo.com>
68429
68430         * modules/xstrndup: New file.
68431         * MODULES.html.sh (func_all_modules): Add xstrndup.
68432
68433 2003-08-17  Simon Josefsson  <jas@extundo.com>
68434
68435         * modules/argp: Fix autoconf macro name. Add more dependencies.
68436
68437 2003-08-17  Simon Josefsson  <jas@extundo.com>
68438
68439         * m4/xstrndup.m4: New file.
68440
68441 2003-08-17  Simon Josefsson  <jas@extundo.com>
68442
68443         * m4/argp.m4: New file.
68444
68445 2003-08-17  Simon Josefsson  <jas@extundo.com>
68446             Bruno Haible  <bruno@clisp.org>
68447
68448         * lib/xstrndup.h: New file.
68449         * lib/xstrndup.c: New file.
68450
68451 2003-08-17  Bruno Haible  <bruno@clisp.org>
68452
68453         * modules/strndup (Files, Include): Add lib/strndup.h.
68454
68455 2003-08-17  Bruno Haible  <bruno@clisp.org>
68456
68457         * modules/euidaccess (Files): Add lib/euidaccess.h.
68458
68459 2003-08-17  Bruno Haible  <bruno@clisp.org>
68460
68461         * lib/strndup.h: New file.
68462
68463 2003-08-17  Bruno Haible  <bruno@clisp.org>
68464
68465         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
68466         like AC_GNU_SOURCE.
68467         * modules/extensions (configure.ac): Comment out the invocation of
68468         gl_USE_SYSTEM_EXTENSIONS.
68469
68470 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68471
68472         Merges from coreutils, etc.
68473         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
68474         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
68475         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
68476         fixing a typo.
68477         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
68478         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
68479
68480 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68481
68482         Document merge from coreutils.
68483         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
68484         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
68485         * modules/utime: Add m4/utimes-null.m4.
68486
68487 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68488
68489         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
68490         space, undoing this 2003-08-12 change:
68491         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
68492
68493 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68494
68495         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
68496         strtoul.c from libc, undoing this 2003-08-12 change:
68497         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
68498
68499 2003-08-16  Jim Meyering  <jim@meyering.net>
68500
68501         Merges from coreutils.
68502         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
68503         prefix.  Adjust cache variables similarly.  Create 500 rather than
68504         just 300 files, to exercise bug on Darwin6.5, too.
68505         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
68506         $missing_dir.
68507         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
68508         AM_SYS_POSIX_TERMIOS.
68509         Reported by mkc@mathdogs.com.
68510         Also change use of $am_cv_sys_posix_termios
68511         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
68512         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
68513         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
68514         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
68515         in /proc/mounts until it finds one with matching device number.  This
68516         is unnecessary when the FILE argument *is* a mount point.  No stat call
68517         is necessary in that case.  So, disable the statvfs-testing code on
68518         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
68519         as RedHat bug# 84846.
68520         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
68521         to 1MB, so as not to render systems with no stack size limit (e.g.,
68522         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
68523         Include <unistd.h>.  On some systems,
68524         it is required for the definition of _SC_PAGESIZE.
68525
68526 2003-08-16  Jim Meyering  <jim@meyering.net>
68527
68528         Merge from coreutils.
68529         * lib/xstrtoimax.c: #else #if -> #elif.
68530         * lib/xstrtoumax.c: Likewise.
68531
68532 2003-08-16  Jim Meyering  <jim@meyering.net>
68533
68534         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
68535         * m4/utimes.m4: Removed.
68536         * m4/utimes-null.m4: Renamed from utimes.m4.
68537
68538         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
68539         to 1MB, so as not to render systems with no stack size limit (e.g.,
68540         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
68541         Include <unistd.h>.  On some systems,
68542         it is required for the definition of _SC_PAGESIZE.
68543
68544 2003-08-16  Jim Meyering  <jim@meyering.net>
68545         and Paul Eggert  <eggert@cs.ucla.edu>
68546
68547         Merges from coreutils, etc.
68548
68549         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
68550         using the latest version from cvs.  This avoids problems with #line
68551         directives using a vendor (Sun) compiler.
68552         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
68553         Don't set GETGROUPS_LIB here; now it's
68554         done via getgroups.m4's wrapper function.
68555         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
68556         rather than just in sh-util/configure.in, so that the
68557         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
68558         same.
68559         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
68560         AC_FUNC_GETLOADAVG where to find getloadavg.c.
68561         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
68562         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
68563         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
68564         Remove code that is now done by the newly-required macros.
68565         Append $(EXEEXT) to DF_PROG.
68566         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
68567         Do not invoke or require the following here,
68568         since prereq.m4 or some gnulib .m4 now does this for us:
68569         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
68570         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
68571         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
68572         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
68573         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
68574         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
68575         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
68576         AC_FUNC_OBSTACK.
68577         Do not replace the following functions, as this is now the job
68578         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
68579         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
68580         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
68581         atexit getpass, strdup, getpagesize.
68582         Replace 'raise'.
68583         Do not check for the following functions, as this is now the job
68584         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
68585         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
68586         setregid.
68587         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
68588         Check for sys/sysctl.h.
68589         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
68590         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
68591         of checking for ssize_t ourselves.
68592
68593         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
68594         Require every macro that gnulib/modules/* suggests for us.
68595         (jm_PREREQ_ADDEXT): New macro.
68596         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
68597         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
68598
68599         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
68600         (gl_PHYSMEM): Use it.
68601         Also check for `table' function.
68602         Check for new headers and functions.
68603         Add check for sys/sysmp.h.
68604         With suggestions from Kaveh Ghazi.
68605         Ignore headers that are present but cannot be compiled.  This
68606         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
68607         C 5.4.
68608
68609 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68610
68611         Document merge from coreutils.
68612         * modules/userspec: Depend on posixver.
68613         * modules/strftime: Depend on tzset.
68614
68615 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68616
68617         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
68618         rather than tab, after '#' in shell-script copyright notices.
68619         Suggested by Bruno Haible.
68620
68621 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68622
68623         * config/srclist-update: Use three spaces, rather than tab, after '#'
68624         in shell-script copyright notices.  Suggested by Bruno Haible.
68625         Remove unnecessary parenthesization in regular expression.
68626
68627 2003-08-15  Jim Meyering  <jim@meyering.net>
68628
68629         Merge from coreutils.
68630         * lib/xgethostname.c: Include <stdlib.h>.
68631         (xghostname): Don't exit for anything other than memory-related
68632         failure; just return NULL.
68633         * lib/userspec.c: Include "posixver.h".
68634         (parse_user_spec): Accept `.' as a separator only
68635         in pre-POSIX-200112 mode.
68636         * lib/strtoimax.c: Use #elif rather than #else #if.
68637         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
68638         Remove function, now that we can rely on a working tzset function.
68639         [!_LIBC]: Ensure that the required autoconf test has been run.
68640         [!defined _NL_CURRENT && HAVE_STRFTIME]:
68641         Use underlying_strftime for %r.
68642         * lib/sha.c: Merge in some clean-up and optimization changes from
68643         glibc.
68644         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
68645         Ensure that it is a multiple of 64.
68646         Rearrange loop exit tests so as to avoid performing an
68647         additional fread after encountering an error or EOF.
68648         * lib/realloc.c: Update copyright date.
68649
68650 2003-08-15  Jim Meyering  <jim@meyering.net>
68651         and Paul Eggert  <eggert@twinsun.com>
68652
68653         Merge from coreutils.
68654         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
68655         member but strut utmpx does not.  Needed for AIX 4.3.3.
68656         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
68657
68658 2003-08-15  Jim Meyering  <jim@meyering.net>
68659         and Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         Merges from coreutils, etc.
68662         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
68663         Require gl_FUNC_TZSET_CLOBBER.
68664         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
68665         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
68666         members.
68667
68668 2003-08-14  Paul Eggert  <eggert@twinsun.com>
68669
68670         Help the merge from coreutils.
68671         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
68672         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
68673         * m4/tzset.m4: Use it too.
68674
68675 2003-08-14  Paul Eggert  <eggert@twinsun.com>
68676
68677         * modules/tzset: New file.
68678
68679 2003-08-14  Jim Meyering  <jim@meyering.net>
68680
68681         Merges from coreutils.
68682         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
68683         variable names, rather than @FNMATCH_H@.
68684         * modules/alloca: Likewise for $(ALLOCA_H).
68685
68686         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
68687         the three copies of the literal target, `fnmatch.h'.
68688         * modules/alloca (alloca.h): Likewise.
68689
68690 2003-08-14  Jim Meyering  <jim@meyering.net>
68691
68692         Merge from coreutils.
68693         * m4/tzset.m4: New file.
68694         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
68695         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
68696         otherwise, AIX 5.1 systems would end up using the latter.
68697         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
68698         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
68699         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
68700         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
68701
68702 2003-08-14  Jim Meyering  <jim@meyering.net>
68703
68704         Merge from coreutils.
68705         * lib/obstack.h: Whitespace changes.
68706         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
68707         and xcalloc return values.
68708         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
68709         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
68710         hang on OSF/1 5.1 for DIR on both local and remote file systems.
68711         Reported by (and fix confirmed by) Nelson H. F. Beebe.
68712         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
68713         error from mntctl.
68714         Use mntctl's return value to drive the entry-processing loop, since
68715         we can't rely on the value of the vmt_length member in the last
68716         entry.  On some systems doing so could result in exhausting
68717         virtual memory.  Based in part on a patch from Mike Jetzer.
68718
68719 2003-08-14  Jim Meyering  <jim@meyering.net>
68720         and Paul Eggert  <eggert@twinsun.com>
68721
68722         Merges from coreutils, plus other fixes.
68723         * lib/physmem.c: Merge in portability changes from gcc/libiberty
68724         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
68725         for credits and details.  Thanks to Kaveh Ghazi for helping
68726         to keep these files in sync.
68727         (ARRAY_SIZE): Define it.
68728         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
68729         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
68730         (memcasecmp): Don't assume size_t fits in unsigned int.
68731         Remove casts and duplicate code.
68732         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
68733         (memcpy): Remove definition.
68734         Merge in some clean-up and optimization changes from glibc.
68735         [BLOCKSIZE]: Move definition to top of file.
68736         Ensure that it is a multiple of 64.
68737         Rearrange loop exit tests so as to avoid performing an
68738         additional fread after encountering an error or EOF.
68739         * lib/md5.h (md5_uintptr): Define.
68740         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
68741         return to the initial working directory.  Preserve errno
68742         for caller.
68743         * lib/idcache.c: Include "xalloc.h".
68744         (xmalloc, xrealloc): Remove decls.
68745         (getuser): Remove casts no longer required in C89.
68746         * lib/human.c: Include stdio.h, for sprintf.
68747         * lib/group-member.c: Include "xalloc.h".
68748         (xmalloc, xrealloc): Remove decls.
68749         (get_group_info): Remove casts no longer required in C89.
68750         * lib/getusershell.c (readname): Remove casts no longer required in
68751         C89.
68752         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
68753         * lib/getline.c: Whitespace fix, from coreutils.
68754
68755 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68756
68757         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
68758         Check for isascii.
68759
68760         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
68761         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
68762         Undo previous (whitespace-only) change.
68763
68764 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68765
68766         * lib/exclude.c: Include <ctype.h>
68767         (IN_CTYPE_DOMAIN): New macro.
68768         (is_space): New fn.
68769         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
68770         and empty lines.
68771
68772         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
68773         Undo previous (whitespace-only) change.
68774
68775 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68776
68777         * config/srclist-update: Change update back to the old behavior,
68778         leaving whitespace alone.  Use one 'sed' command rather than a
68779         pipeline.
68780         (fixlicense): Now a variable, not a function.
68781         (remove_trailing_blanks): Remove.
68782         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
68783         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
68784         Undo previous (whitespace-only) change.
68785
68786 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68787
68788         Merge from coreutils.
68789         * modules/euidaccess: Add lib_SOURCES, include for new
68790         file euidaccess.h
68791
68792 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68793
68794         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
68795         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
68796         Normalize leading white space and remove trailing white space.
68797
68798         Merge from coreutils
68799         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
68800
68801         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
68802         0.12.1.  These files are now being upgraded automatically by
68803         ../config/srclist-update.
68804
68805 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68806
68807         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
68808         Normalize leading white space and remove trailing white space.
68809         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
68810         notice, as per ../config/srclist-update.
68811
68812         Merge from coreutils.
68813         * lib/euidaccess.h: New file.
68814         * lib/euidaccess.c: Include it.
68815         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
68816         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
68817         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
68818
68819 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68820
68821         * config/srclist-update: Add copyright notice.
68822         (remove_id_lines, remove_trailing_blanks): New constants.
68823         (fixfile): Use them to normalize spacing a bit in copied files.
68824         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
68825         Normalize leading white space and remove trailing white space.
68826
68827         * config/texinfo.tex: Sync with texinfo.
68828
68829         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
68830         strtoul.c from libc, to merge coreutils whitespace changes.
68831
68832         * config/srclist.txt: Get the following m4 files from gettext:
68833         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
68834         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
68835         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
68836         wint_t.m4.
68837
68838 2003-08-12  Karl Berry  <karl@gnu.org>
68839
68840         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
68841         been made.
68842
68843 2003-08-11  Paul Eggert  <eggert@twinsun.com>
68844
68845         * modules/gnu-source, m4/gnu-source.m4:
68846         Remove; we're assuming Autoconf 2.54 or later now.
68847         Suggested by Bruno Haible.
68848         * MODULES.html.sh (func_all_modules): Remove gnu-source.
68849
68850 2003-08-11  Bruno Haible  <bruno@clisp.org>
68851
68852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
68853
68854 2003-08-11  Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
68857         (vasnprintf): Use it instead of wcslen.
68858
68859 2003-08-11  Bruno Haible  <bruno@clisp.org>
68860
68861         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
68862         value to ensure that _Bool promotes to int. Use #define for _Bool when
68863         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
68864
68865 2003-08-10  Karl Berry  <karl@gnu.org>
68866
68867         * lib/regex.h: update from libc (whitespace fix).
68868
68869 2003-08-09  Paul Eggert  <eggert@twinsun.com>
68870
68871         Merge some files from coreutils.  These changes were
68872         originally made by Jim Meyering.
68873         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
68874         many older Unixes require this.
68875         * lib/alloca.c (alloca): Remove cast to argument of free;
68876         no longer needed in C89.
68877         * lib/alloca_.h, regex.h: Fix white space to match
68878         what GNU indent does.
68879
68880 2003-08-09  Paul Eggert  <eggert@twinsun.com>
68881
68882         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
68883         apparently Emacs's Unicode mode got confused before my 2003-08-05
68884         checkin.
68885
68886 2003-08-08  Paul Eggert  <eggert@twinsun.com>
68887
68888         * m4/extensions.m4: New file.
68889         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
68890         Require gl_USE_SYSTEM_EXTENSIONS.
68891         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
68892         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
68893
68894 2003-08-08  Paul Eggert  <eggert@twinsun.com>
68895
68896         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
68897         * modules/extensions, modules/gnu-source: New files.
68898         * modules/timespec, modules/unlocked-io: Depend on extensions.
68899
68900 2003-08-07  Paul Eggert  <eggert@twinsun.com>
68901
68902         * modules/restrict: New file.
68903         * MODULES.html.sh (func_all_modules): Add restrict.
68904         * modules/regex: Depend on restrict.
68905
68906 2003-08-07  Paul Eggert  <eggert@twinsun.com>
68907
68908         * m4/restrict.m4: New file.
68909         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
68910
68911 2003-08-07  Bruno Haible  <bruno@clisp.org>
68912
68913         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
68914         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
68915
68916 2003-08-07  Bruno Haible  <bruno@clisp.org>
68917
68918         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
68919         makes the module 'getndelim2' compatible with the module 'getline'.
68920
68921 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68922
68923         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
68924         byte with "\201" to avoid glitches when editing that source file
68925         with multi-gnome-terminal.
68926
68927 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68928
68929         * lib/bumpalloc.h: Remove.
68930
68931 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68932
68933         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
68934         * modules/bumpalloc: Remove.
68935
68936 2003-08-04  Paul Eggert  <eggert@twinsun.com>
68937
68938         * lib/getloadavg.c: Change copyright notice and spacing to conform to
68939         GNU coding style.
68940
68941         Merge from coreutils.
68942         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
68943         1. From glibc.
68944         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
68945         from Karl Berry, implemented by Jim Meyering.
68946         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
68947         from Dmitry V. Levin.
68948         Remove anachronistic cast of xrealloc.
68949         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
68950         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
68951         type. Otherwise, it wouldn't compile with at least /bin/cc on
68952         ymp-cray-unicos9.0.2.X.
68953         Combine two mostly-identical uses of alloca into one.
68954         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
68955
68956 2003-08-04  Dave Love  <d.love@dl.ac.uk>
68957
68958         [From Emacs.]
68959
68960         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
68961         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
68962         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
68963         obsolete NLIST_NAME_UNION.
68964         [__GNU__]: Undef BSD and FSCALE.
68965         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
68966
68967 2003-08-03  Paul Eggert  <eggert@twinsun.com>
68968
68969         * lib/stdbool_.h (_Bool): Make it signed char, instead of
68970         an enum type, so that it's guaranteed to promote to int.  See:
68971         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
68972
68973 2003-08-03  Karl Berry  <karl@gnu.org>
68974
68975         * config/depcomp: update from automake.
68976
68977 2003-07-31  Paul Eggert  <eggert@twinsun.com>
68978
68979         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
68980         (strerror): Don't assume that a printable int fits in 14 bytes.
68981
68982 2003-07-31  Bruno Haible  <bruno@clisp.org>
68983
68984         * modules/getpass-gnu: New file.
68985         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
68986
68987 2003-07-31  Bruno Haible  <bruno@clisp.org>
68988
68989         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
68990
68991 2003-07-24  Karl Berry  <karl@gnu.org>
68992
68993         * config/missing: update from automake.
68994
68995 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
68996             Bruno Haible  <bruno@clisp.org>
68997
68998         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
68999         * lib/getline.c (getline, getdelim): Likewise.
69000         Remove _GNU_SOURCE define; now it's defined in config.h through
69001         m4/getline.m4.
69002
69003 2003-07-23  Karl Berry  <karl@gnu.org>
69004
69005         * config/config.sub: update from prep.
69006
69007 2003-07-22  Paul Eggert  <eggert@twinsun.com>
69008
69009         * modules/xalloc (Depends-on): Add exitfail.
69010         * modules/xmemcoll: Likewise.
69011
69012 2003-07-22  Paul Eggert  <eggert@twinsun.com>
69013
69014         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
69015         over-parenthesization in macros.
69016
69017         Sync with coreutils.
69018
69019         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
69020         required by C99.
69021
69022         Use `exit_failure' for xalloc and xmemcoll instead of their own
69023         private exit-failure variables.
69024         * lib/xalloc.h (xalloc_exit_failure): Remove.
69025         * lib/xmalloc.c: Likewise.  Include exitfail.h.
69026         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
69027         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
69028         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
69029         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
69030
69031 2003-07-20  Jim Meyering  <jim@meyering.net>
69032
69033         * modules/closeout (Depends-on): Add exitfail.
69034         Suggestion from Bruno Haible.
69035
69036 2003-07-19  Karl Berry  <karl@gnu.org>
69037
69038         * config/config.sub: update from prep.
69039
69040 2003-07-18  Paul Eggert  <eggert@twinsun.com>
69041
69042         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
69043         Remove.
69044         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
69045         to test that it can stand by itself.  Include "exitfail.h".
69046         Clients should set exit_failure instead.
69047         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
69048
69049 2003-07-18  Bruno Haible  <bruno@clisp.org>
69050
69051         * modules/getndelim2: New file.
69052         * modules/getline: Share files with module getndelim2.
69053         * modules/getnline: Depend on getndelim2 instead of sharing files with
69054         it. Add getnline.c to lib_SOURCES.
69055         * MODULES.html.sh (func_all_modules): Add getndelim2.
69056
69057 2003-07-18  Bruno Haible  <bruno@clisp.org>
69058
69059         * m4/getndelim2.m4: New file.
69060         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
69061         invoke gl_PREREQ_GETNDELIM2.
69062         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
69063         gl_PREREQ_GETNDELIM2.
69064         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
69065         gl_GETNDELIM2.
69066
69067 2003-07-18  Bruno Haible  <bruno@clisp.org>
69068
69069         * lib/getndelim2.h: New file.
69070         * lib/getndelim2.c: Make into a module of its own. Include config.h,
69071         getndelim2.h.
69072         (getndelim2): Make non-static. Change return type to ssize_t.
69073         * lib/getline.h: Change argument names.
69074         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
69075         * lib/getnline.c: Include getndelim2.h.
69076
69077 2003-07-18  Andreas Schwab  <schwab@suse.de>
69078
69079         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
69080
69081 2003-07-17  Karl Berry  <karl@gnu.org>
69082
69083         * config/config.sub: update from prep.
69084
69085 2003-07-17  Bruno Haible  <bruno@clisp.org>
69086
69087         * modules/getnline: New file.
69088         * modules/getline: Add lib/getndelim2.c to source file list.
69089         * MODULES.html.sh (func_all_modules): Add getnline.
69090
69091 2003-07-17  Bruno Haible  <bruno@clisp.org>
69092
69093         * m4/getnline.m4: New file.
69094
69095 2003-07-17  Bruno Haible  <bruno@clisp.org>
69096
69097         * m4/Makefile.am.in: Remove file.
69098         * m4/Makefile.am: Remove file.
69099         * m4/Makefile.in: Remove file.
69100
69101 2003-07-17  Bruno Haible  <bruno@clisp.org>
69102
69103         * lib/getnline.h: New file.
69104         * lib/getnline.c: New file.
69105         * lib/getndelim2.c: New file, extracted from getline.c.
69106         (getndelim2): Renamed from getdelim2, with added nmax argument.
69107         * lib/getline.c: Include getndelim2.c.
69108         (getdelim2): Moved out to getndelim2.c.
69109         (getline, getdelim): Update.
69110
69111 2003-07-17  Bruno Haible  <bruno@clisp.org>
69112
69113         * lib/Makefile.am: Remove file.
69114         * lib/Makefile.in: Remove file.
69115
69116 2003-07-17  Bruno Haible  <bruno@clisp.org>
69117
69118         * configure.in: Remove file.
69119         * Makefile.in: Remove file.
69120
69121 2003-07-17  Bruno Haible  <bruno@clisp.org>
69122
69123         * MODULES.html.sh: Put the </BODY> right before </HTML>.
69124
69125 2003-07-16  Karl Berry  <karl@gnu.org>
69126
69127         * config/srclist-update: was running fixlicense twice, which caused
69128                 texinfo.tex to be nullified for some reason.  Simplify,
69129                 $gplsrc is no longer needed as far as I can see?
69130
69131 2003-07-16  Jim Meyering  <jim@meyering.net>
69132
69133         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
69134
69135 2003-07-15  Paul Eggert  <eggert@twinsun.com>
69136
69137         * config/srclist.txt: Get the following files from gettext-runtime/intl
69138         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
69139         ref-del.sin.  From Bruno Haible.
69140         * config/srclist-update (fixfile): Change grep pattern again, since the
69141         previous fix didn't work (there was another trailing $).  Use
69142         '[$]' to escape the $s.
69143
69144 2003-07-15  Karl Berry  <karl@gnu.org>
69145
69146         * lib/vasnprintf.c: update from gettext.
69147
69148 2003-07-15  Karl Berry  <karl@gnu.org>
69149
69150         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
69151         gets expanded when surrounded by '$'.
69152
69153 2003-07-15  Jim Meyering  <jim@meyering.net>
69154
69155         * modules/save-cwd: Don't depend on error.  From Derek Price.
69156
69157 2003-07-15  Jim Meyering  <jim@meyering.net>
69158
69159         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
69160
69161 2003-07-14  Simon Josefsson  <jas@extundo.com>
69162
69163         * modules/mempcpy: New file.
69164         * MODULES.html.sh (func_all_modules): Add mempcpy.
69165
69166 2003-07-14  Simon Josefsson  <jas@extundo.com>
69167
69168         * m4/mempcpy.m4: New file.
69169
69170 2003-07-14  Simon Josefsson  <jas@extundo.com>
69171
69172         * lib/mempcpy.h: New file.
69173         * lib/mempcpy.c: New file.
69174
69175 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69176
69177         * modules/getdate, modules/posixtm: Depend on mktime.
69178
69179 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69180
69181         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
69182         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
69183         unicodeio.c, unicodeio.h, unlocked-io.h:
69184         Switch from LGPL to GPL.
69185
69186 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69187
69188         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
69189         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
69190         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
69191         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
69192         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
69193         updated automatically by ../config/srclist-update.  This changes
69194         their license from LPGL to GPL.
69195
69196 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69197
69198         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
69199         assumed to refer to the root of the most recent stable gettext version.
69200         * config/srclistvars.sh: Add defaults for eggert.
69201         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
69202         Match "This program" as well as "The program".  This is needed
69203         for gettext.
69204
69205 2003-07-14  Jim Meyering  <jim@meyering.net>
69206
69207         Don't emit diagnostics.  Let callers do that.
69208         * lib/save-cwd.c: Don't include "error.h".
69209         (save_cwd): Don't call error.  Ensure that errno is valid
69210         when returning nonzero.
69211
69212         * lib/save-cwd.h (restore_cwd): Update prototype.
69213         * lib/save-cwd.c (restore_cwd): Remove two parameters.
69214         Simplify.  Don't call error upon failure.  Let callers do that.
69215         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
69216         when auditing is enabled.  But don't bother updating the #if.
69217
69218 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
69219
69220         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
69221         it breaks C++ compilation.
69222         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
69223
69224 2003-07-10  Simon Josefsson  <jas@extundo.com>
69225
69226         * modules/strchrnul (Makefile.am): Add strchrnul.h.
69227
69228 2003-07-10  Jim Meyering  <jim@meyering.net>
69229
69230         * m4/clock_time.m4: Remove trailing blank.
69231         * m4/intmax_t.m4: Likewise.
69232
69233 2003-07-10  Jim Meyering  <jim@meyering.net>
69234
69235         * lib/vasnprintf.c: Remove trailing blanks.
69236         Make cpp indentation consistent.
69237
69238 2003-07-09  Paul Eggert  <eggert@twinsun.com>
69239
69240         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
69241         posixver.c, strftime.c, strnlen.c, strverscmp.c:
69242         Switch from LGPL to GPL.
69243
69244 2003-07-09  Paul Eggert  <eggert@twinsun.com>
69245
69246         * config/srclist.txt: Sort sublists.  Add
69247         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
69248         that differ from gnulib for one reason or another; we'd like this list
69249         to be smaller but for now let's document what we have.
69250
69251 2003-07-08  Paul Eggert  <eggert@twinsun.com>
69252
69253         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
69254         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
69255         and sweeter "eval x=$x".
69256         * config/srclist.txt: Get lib/argp* from glibc.
69257
69258 2003-07-07  Paul Eggert  <eggert@twinsun.com>
69259
69260         * lib/mktime.c: Fix some boundary cases and remove need for floating
69261         point.
69262
69263         Issue a compile-time diagnostic if time_t is floating point, or if
69264         two's complement arithmetic is not in effect, or if arithmetic
69265         right shift does not propagate the sign.  These assumptions were
69266         all in the original code but they weren't checked.
69267
69268         (TIME_T_MIDPOINT, verify): New macros.
69269         (__isleap): Remove; it has integer overflow problems.
69270         (leapyear): New function, without those problems.
69271         (ydhms_tm_diff): Remove; splitting into two parts.
69272         (ydhms_diff): New function, containing the arithmetic part of
69273         the old ydhms_tm_diff function.  Issue a compile-time
69274         diagnostic if we are not using C99 integer division.
69275         Avoid casts when possible.
69276         (guess_time_tm): New function, containing the checking part of
69277         the old ydhms_tm_diff function.  Return the new value, rather than
69278         the difference between it and the old.  Accept a new argument T
69279         so that *T specifies the old value.  Check for overflow in the result.
69280
69281         (__mktime_internal): Use a time_t offset, not a long int offset.
69282         This undoes the 2003-06-04 change, which is no longer needed now
69283         that we have better overflow checking.
69284         (localtime_offset): Likewise.
69285
69286         (__mktime_internal): Avoid harmful overflow on hosts where time_t
69287         and long are 64-bit but int is only 32-bit.
69288         (ydhms_diff): Use long int to store year1 and yday1.
69289         Issue a compile-time diagnostic if long int is not wide enough.
69290
69291         (__mktime_internal): Use long int to store adjusted year and yday.
69292         Use plain C rather than preprocessor commands, if that doesn't
69293         affect efficiency.
69294         Check for overflow (and try to repair) after each probe
69295         rather than checking only at the very end.  This avoids some bugs
69296         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
69297         does not equal GMT offset at maximum time).
69298         Use integer to check for overflow rather than floating point; this
69299         is more portable to non-IEEE hosts, and is a tad faster.
69300         When we detect that we are oscillating between two values,
69301         don't check whether tm_isdst has the requested value, since
69302         we already know the answer.  When tm_isdst has the wrong value,
69303         use a different heuristic to find the right one, based on the
69304         extreme values actually observed in practice in tz2003a,
69305         rather than the (overly optimistic) "previous 3 calendar quarters".
69306
69307         (not_equal_tm, print_tm, check_result): Use "const T" rather than
69308         "T const" to accommodate glibc style.
69309         (check_result): Use less-confusing report format.  "long" -> "long int.
69310         (main): Likewise.
69311         Don't loop if the iteration overflows time_t.
69312         Allow a negative step in the iteration.
69313
69314 2003-07-06  Karl Berry  <karl@gnu.org>
69315
69316         * config/depcomp: update from automake.
69317         * config/config.sub: update from prep.
69318
69319 2003-07-03  Karl Berry  <karl@gnu.org>
69320
69321         * config/config.guess: update from prep.
69322
69323 2003-07-01  Paul Eggert  <eggert@twinsun.com>
69324
69325         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
69326         xreadlink.c now includes it unconditionally.
69327
69328 2003-07-01  Paul Eggert  <eggert@twinsun.com>
69329
69330         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
69331         having it depend on HAVE_SYS_TYPES_H.
69332
69333 2003-07-01  Bruno Haible  <bruno@clisp.org>
69334
69335         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
69336         <sys/types.h> should be sufficient.
69337         Reported by Paul Eggert.
69338
69339 2003-06-26  Karl Berry  <karl@gnu.org>
69340
69341         * config/depcomp: update from automake.
69342
69343 2003-06-26  Bruno Haible  <bruno@clisp.org>
69344
69345         * modules/human: Depend on module stdbool.
69346
69347 2003-06-25  Bruno Haible  <bruno@clisp.org>
69348
69349         * modules/readlink: New file.
69350         * modules/xreadlink: Depend on it.
69351         * MODULES.html.sh (func_all_modules): Add readlink.
69352
69353 2003-06-25  Bruno Haible  <bruno@clisp.org>
69354
69355         * m4/readlink.m4: New file.
69356
69357 2003-06-25  Bruno Haible  <bruno@clisp.org>
69358
69359         * lib/readlink.c: New file.
69360
69361 2003-06-22  Karl Berry  <karl@gnu.org>
69362
69363         * config/srclist.txt: update mkinstalldirs from automake.
69364         * config/mkinstalldirs: update.
69365
69366 2003-06-22  Bruno Haible  <bruno@clisp.org>
69367
69368         Portability to mingw32.
69369         * m4/ssize_t.m4: New file, from GNU gettext.
69370         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
69371         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
69372
69373 2003-06-22  Bruno Haible  <bruno@clisp.org>
69374
69375         * modules/safe-read: Add m4/ssize_t.m4.
69376         * modules/xreadlink: Add m4/ssize_t.m4.
69377
69378 2003-06-20  Bruno Haible  <bruno@clisp.org>
69379
69380         Assume C89, so PARAMS isn't needed.
69381         * lib/unicodeio.h (PARAMS): Remove.
69382         * lib/unicodeio.c: Don't use PARAMS.
69383
69384 2003-06-18  Karl Berry  <karl@gnu.org>
69385
69386         * config/config.{guess,sub}: update from prep.
69387
69388 2003-06-18  Jim Meyering  <jim@meyering.net>
69389
69390         Merge changes from coreutils.
69391         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
69392         Remove explicit declarations of xmalloc and realloc.
69393         Include xalloc.h.
69394         (read_utmp): Remove anachronistic cast of xmalloc.
69395
69396 2003-06-17  Paul Eggert  <eggert@twinsun.com>
69397
69398         Assume C89, so PARAMS isn't needed.
69399         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
69400         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
69401         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
69402         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
69403         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
69404         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
69405         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
69406         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
69407         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
69408         lib/xstrtod.h, lib/xstrtol.h: Likewise.
69409         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
69410         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
69411         no longer needed. Anyway, config.h should always be included before any
69412         other file.
69413
69414 2003-06-11  Simon Josefsson  <jas@extundo.com>
69415
69416         * modules/sysexits: New file.
69417         * MODULES.html.sh (func_all_modules): Add sysexits.
69418
69419 2003-06-11  Simon Josefsson  <jas@extundo.com>
69420
69421         * lib/sysexit_.h: New file.
69422
69423 2003-06-11  Derek Price  <derek@ximbiot.com>
69424
69425         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
69426         necessary.
69427
69428 2003-06-11  Bruno Haible  <bruno@clisp.org>
69429
69430         * m4/sysexits.m4: New file.
69431
69432 2003-06-10  Simon Josefsson  <jas@extundo.com>
69433
69434         * lib/argp.h: New file, from glibc.
69435         * lib/argp-ba.c: New file, from glibc.
69436         * lib/argp-eexst.c: New file, from glibc.
69437         * lib/argp-fmtstream.c: New file, from glibc.
69438         * lib/argp-fmtstream.h: New file, from glibc.
69439         * lib/argp-fs-xinl.c: New file, from glibc.
69440         * lib/argp-help.c: New file, from glibc.
69441         * lib/argp-namefrob.h: New file, from glibc.
69442         * lib/argp-parse.c: New file, from glibc.
69443         * lib/argp-pv.c: New file, from glibc.
69444         * lib/argp-pvh.c: New file, from glibc.
69445         * lib/argp-xinl.c: New file, from glibc.
69446
69447 2003-06-10  Simon Josefsson  <jas@extundo.com>
69448
69449         * modules/strchrnul: New file.
69450
69451 2003-06-10  Simon Josefsson  <jas@extundo.com>
69452
69453         * modules/argp: New file.
69454
69455 2003-06-10  Simon Josefsson  <jas@extundo.com>
69456
69457         * m4/strchrnul.m4: New file.
69458
69459 2003-06-10  Simon Josefsson  <jas@extundo.com>
69460
69461         * lib/strchrnul.h: New file.
69462         * lib/strchrnul.c: New file.
69463
69464 2003-06-10  Bruno Haible  <bruno@clisp.org>
69465
69466         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
69467
69468 2003-06-07  Karl Berry  <karl@gnu.org>
69469
69470         * config/config.{guess,sub}: update from prep.
69471
69472 2003-06-07  Jim Meyering  <jim@meyering.net>
69473
69474         * modules/strtod: Use $(...) notation, not @...@ for
69475         AC_REPLACE'd variables.
69476         * modules/localcharset: Likewise.
69477
69478 2003-06-07  Jim Meyering  <jim@meyering.net>
69479
69480         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
69481         in place of my name in the copyright comment.
69482         Remove definition and uses of __P.
69483
69484         From coreutils.
69485         * lib/stat.c: Don't declare xmalloc explicitly.
69486         Instead, include "xalloc.h".
69487         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
69488         xrealloc, and xcalloc return values.
69489         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
69490         Improve comment.
69491         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
69492
69493 2003-06-07  Bruno Haible  <bruno@clisp.org>
69494
69495         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
69496         avoid AC_CONFIG_LINKS.
69497         * modules/fnmatch (Makefile.am): Use explicit creation rule for
69498         fnmatch.h, to avoid AC_CONFIG_LINKS.
69499         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
69500
69501 2003-06-07  Bruno Haible  <bruno@clisp.org>
69502
69503         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
69504         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
69505         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
69506         directory.
69507         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
69508         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
69509         directory.
69510
69511 2003-06-06  Jim Meyering  <jim@meyering.net>
69512
69513         Merge from coreutils.
69514         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
69515         Consolidate declarations and initializations of *_base* locals.
69516
69517         Merge from coreutils.
69518         This avoids a core dump on systems without GNU putenv,
69519         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
69520         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
69521         (unsetenv): New static function, from GNU libc.
69522         (rpl_putenv): Use it.
69523
69524         * lib/modechange.c: Remove trailing blanks.
69525
69526         Merge from coreutils.
69527         * lib/fsusage.c: Remove declaration of statfs.
69528         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
69529
69530         * lib/posixtm.c: Include <stdbool.h> unconditionally.
69531
69532 2003-06-06  Jim Meyering  <jim@meyering.net>
69533
69534         * lib/stdbool_.h: Renamed from stdbool.h.in.
69535
69536 2003-06-06  Jim Meyering  <jim@meyering.net>
69537             Bruno Haible  <bruno@clisp.org>
69538
69539         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
69540         Adjust Makefile.am snippet not to redirect directly to target.
69541         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
69542
69543 2003-06-05  Paul Eggert  <eggert@twinsun.com>
69544
69545         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
69546         mismatch, look in future quarters as well as past.  This fixes a
69547         bug when processing fall-backwards gaps immediately after a long
69548         period of daylight-saving time.
69549
69550         * lib/mktime.c: Assume freestanding C89 or better.
69551         (HAVE_LIMITS_H): Remove.  Assume it's 1.
69552         (__P): Remove; not used.
69553         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
69554         (mktime, not_equal_tm, print_tm, check_result,
69555         main): Use prototypes.  Use const * where appropriate.
69556         (main): Fix typo in testing code that uncovered by above changes.
69557         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
69558
69559 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69560
69561         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
69562         locale.h, localeconv.  This merges changes from coreutils.
69563
69564         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
69565         It can be removed after the next Autoconf is released.
69566         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
69567         needed.
69568
69569 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69570
69571         * lib/mktime.c: Fix Debian bug 177940
69572         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
69573         (localtime_offset): Now long int, not time_t, because we want it
69574         to be guaranteed to be signed.  All uses changed.
69575         (__mktime_internal): If overflow would occur when adding offset,
69576         don't add it.
69577
69578         Merge 'human' changes from coreutils.  Rewrite to support
69579         locale-specific notations like thousands separators.
69580         * lib/human.c: Simplify authorship notice.
69581         Include human.h immediately after config.h.
69582         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
69583         <limits.h>: Do not include, since human.h does.
69584         (SIZE_MAX, UINTMAX_MAX): New macros.
69585         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
69586         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
69587         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
69588         (power_letter): Renamed from suffixes.
69589         (generate_suffix_backwards): Remove.
69590         (adjust_value): Now takes int style (because of human.h changes)
69591         and long double value (for greater precision on some platforms).
69592         (group_number): New function.
69593         (human_readable): Use it.  Use integer options, not enum.
69594         Put the options before the sizes in the arg list.
69595         Support all the new options.
69596         The old human_readable function has been removed;
69597         use inttostr.h instead.
69598         (human_readable, default_block_size, humblock):
69599         Use uintmax_t, not int, for block sizes.
69600         (human_readable_inexact, block_size_types): Remove.
69601         (block_size_opts): New constant.
69602         (human_options): Renamed from human_block_size, with new signature
69603         that allows block sizes up to UINTMAX_MAX.  All callers changed.
69604         * lib/human.h: Add copyright and authorship notice.
69605         Include <limits.h> and <stdbool.h> unconditionally.
69606         (PARAMS): Remove.  All uses removed.
69607         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
69608         (enum human_inexact_style): Remove tag; now a nameless enum.
69609         (human_floor, human_ceiling, human_round_to_even): Now have
69610         values 2, 0, 1 rather than -1, 1, 0.
69611         (human_group_digits, human_suppress_point_zero, human_autoscale,
69612         human_base_1024, human_SI, human_B): New constants.
69613         (human_readable_inexact, human_block_size): Remove.
69614         (human_readable): Size args are now uintmax_t, not int.
69615         (human_options): New decl.
69616
69617         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
69618         unnecessary now that we assume C89 or better.  This change
69619         imported from coreutils.
69620
69621         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
69622         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
69623         in the 2003-05-30 sync from glibc.
69624
69625         .h files should stand alone, but we shouldn't include <sys/types.h>
69626         if we can get away with just <stddef.h>.
69627
69628         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
69629         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
69630         rather than <sys/types.h>, as we merely need size_t.
69631         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
69632         to get size_t.
69633         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
69634         Include <stdio.h>, to get FILE.
69635         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
69636         memcasecmp.h has included <stddef.h> and all we need is size_t.
69637         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
69638         our interface, instead of including <sys/types.h>
69639
69640 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69641
69642         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
69643         now, as glibc mktime is buggy on non-glibc systems.
69644
69645 2003-06-03  Karl Berry  <karl@gnu.org>
69646
69647         * config/config.sub: update from prep.
69648
69649 2003-06-02  Paul Eggert  <eggert@twinsun.com>
69650
69651         [from coreutils]
69652         Fix some minor time-related bugs with POSIX time arguments.
69653         Some valid time stamps were being rejected (notably -1, and
69654         time stamps before 1900 on 64-bit hosts).  And some invalid
69655         time stamps were being accepted, e.g. September 31.
69656
69657         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
69658         that we can return (time_t) -1 successfully.
69659         * lib/posixtm.c: Likewise.
69660         [HAVE_STDBOOL_H]: Include <stdbool.h>.
69661         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
69662         (t): Remove static var.
69663         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
69664         of static var.  All uses changed.
69665         (year): Do not reject years before 1900; they can occur with
69666         64-bit time_t.
69667         (posix_time_parse): Do not check for out-of-range components;
69668         that is now the caller's responsibility, since our checks were
69669         only approximations.
69670         (posixtime): Use mktime to check for out-of-range components,
69671         since it knows them exactly.
69672         If mktime returns (time_t) -1, check whether an error actually occurred
69673         by invoking localtime on -1.
69674         (main) [TEST_POSIXTIME]: Check for input data errors, and report
69675         posixtime failures better.
69676         Improve the test data (in comments only).
69677
69678 2003-06-02  Karl Berry  <karl@gnu.org>
69679
69680         * config/mkinstalldirs (version): new variable.
69681         (--version): new option.
69682         (usage): improve message.
69683
69684 2003-05-30  Karl Berry  <karl@gnu.org>
69685
69686         * lib/mktime.c: update from libc.
69687
69688 2003-05-30  Bruno Haible  <bruno@clisp.org>
69689
69690         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
69691         * config/config.rpath: Upgrade to gettext-0.12.1.
69692
69693 2003-05-30  Bruno Haible  <bruno@clisp.org>
69694
69695         * m4/gettext.m4: Upgrade to gettext-0.12.1.
69696         * m4/nls.m4: New file, from gettext-0.12.1.
69697         * m4/po.m4: New file, from gettext-0.12.1.
69698         * m4/progtest.m4: Upgrade to gettext-0.12.1.
69699
69700 2003-05-30  Bruno Haible  <bruno@clisp.org>
69701
69702         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
69703         * lib/localcharset.h: Likewise.
69704         * lib/localcharset.c: Likewise.
69705
69706 2003-05-29  Karl Berry  <karl@gnu.org>
69707
69708         * config/config.rpath: update from gettext.
69709
69710 2003-05-28  Paul Eggert  <eggert@twinsun.com>
69711
69712         Assume the headers required for C89 freestanding compilers.
69713         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
69714         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
69715         * m4/human.m4 (gl_HUMAN): Likewise.
69716         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
69717         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
69718         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69719         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
69720         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69721         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
69722
69723 2003-05-28  Paul Eggert  <eggert@twinsun.com>
69724
69725         Assume the headers required for C89 freestanding compilers.
69726         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
69727         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
69728         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
69729         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
69730         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
69731         define, since <limits.h> is guaranteed to do that.
69732         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
69733         * lib/exclude.c: Include <stdbool.h> unconditionally.
69734         * lib/tempname.c: Include <stddef.h> unconditionally.
69735         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
69736         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
69737         <stddef.h> does that.
69738         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
69739         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
69740         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
69741         needed.
69742         * lib/xstrtol.c: Likewise.
69743         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
69744         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
69745
69746         * lib/addext.c (addext): Use assignment rather than cast, to avoid
69747         warnings on some platforms.
69748
69749         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
69750         arbitrarily.
69751
69752 2003-05-26  Jim Meyering  <jim@meyering.net>
69753
69754         Merge in a change from coreutils:
69755         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
69756         that is guaranteed to be `no'.  Use `no_such_member' to indicate
69757         that condition, rather than `-1' which is slightly misleading.
69758         Change the name of the cache variable to have the gl_ prefix.
69759         Prompted by a patch from Richard Dawe for DJGPP.
69760
69761 2003-05-24  Karl Berry  <karl@gnu.org>
69762
69763         * config/config.guess: update from prep.
69764
69765 2003-05-22  Karl Berry  <karl@gnu.org>
69766
69767         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
69768
69769 2003-05-20  Karl Berry  <karl@gnu.org>
69770
69771         * config/config.guess: update from prep.
69772
69773 2003-05-18  Karl Berry  <karl@gnu.org>
69774
69775         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
69776         might actually be set by the user.
69777
69778         * config/depcomp, install-sh, mdate-sh: update from automake.
69779
69780 2003-05-17  Bruno Haible  <bruno@clisp.org>
69781
69782         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
69783         invalid expansion for AC_EGREP_CPP.
69784         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
69785         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
69786         Suggested by Akim Demaille <akim@epita.fr> in
69787         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
69788
69789 2003-05-12  Jim Meyering  <jim@meyering.net>
69790
69791         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
69792         the space-padded-by-default conversion specifiers, %e, %k, %l.
69793
69794 2003-05-12  Bruno Haible  <bruno@clisp.org>
69795
69796         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
69797         the string is longer than 4 KB.
69798
69799 2003-05-11  Karl Berry  <karl@gnu.org>
69800
69801         * config/config.{guess,sub}: update from prep.
69802
69803 2003-05-09  Bruno Haible  <bruno@clisp.org>
69804
69805         * modules/error: Add m4/strerror_r.m4 to file list.
69806
69807 2003-05-03  Bruno Haible  <bruno@clisp.org>
69808
69809         Upgrade to Unicode-4.0.
69810         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
69811         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
69812         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
69813         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
69814         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
69815         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
69816         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
69817         Change width of U+E0100..U+E01EF from 1 to 0.
69818
69819 2003-04-25  Jim Meyering  <jim@meyering.net>
69820
69821         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
69822         of type size_t, not int.
69823
69824 2003-04-25  Bruno Haible  <bruno@clisp.org>
69825
69826         * lib/copy-file.c: Include <stddef.h>, for size_t.
69827
69828 2003-04-21  Paul Eggert  <eggert@twinsun.com>
69829
69830         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
69831         code which expansion is under static control.  Patch imported from
69832         Akim Demaille's patch to Bison; see
69833         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
69834
69835 2003-04-14  Bruno Haible  <bruno@clisp.org>
69836
69837         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
69838
69839 2003-04-11  Jim Meyering  <jim@meyering.net>
69840
69841         Merge changes from Coreutils.
69842
69843         2003-03-22  Jim Meyering  <jim@meyering.net>
69844
69845         * lib/strftime.c (widen): Cast alloca return value to proper type.
69846
69847         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
69848
69849         From GNU libc.
69850         * lib/strftime.c (my_strftime): Handle very large width
69851         specifications for numeric values correctly.  Improve checks for
69852         overflow.
69853
69854         2003-01-19  Jim Meyering  <jim@meyering.net>
69855
69856         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
69857         definitions.
69858         (nl_get_alt_digit) [! defined my_strftime]: Define.
69859         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
69860         _nl_get_alt_digit and _nl_get_walt_digit.
69861
69862         * lib/strftime.c (my_strftime): Merge in locale-related changes from
69863         libc. These changes have no effect outside of _LIBC.
69864
69865 2003-04-10  Bruno Haible  <bruno@clisp.org>
69866
69867         * modules/findprog: New file.
69868         * MODULES.html.sh (func_all_modules): Add it.
69869
69870 2003-04-10  Bruno Haible  <bruno@clisp.org>
69871
69872         * m4/findprog.m4: New file.
69873         * m4/eaccess.m4: New file.
69874
69875 2003-04-10  Bruno Haible  <bruno@clisp.org>
69876
69877         * lib/findprog.h: New file, from GNU gettext.
69878         * lib/findprog.c: New file, from GNU gettext.
69879
69880 2003-04-05  Jim Meyering  <jim@meyering.net>
69881
69882         Merge changes from Coreutils.
69883
69884         * lib/exclude.h (PARAMS): Remove definition and uses.
69885         * lib/exclude.c: Remove uses of `PARAMS'.
69886
69887         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
69888         Add test-cases for DOS filenames. Declare program_name.
69889         (main): Set up program_name.  Patch by Rich Dawe.
69890
69891         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
69892         error from mntctl.
69893         Use mntctl's return value to drive the entry-processing loop, since
69894         we can't rely on the value of the vmt_length member in the last
69895         entry.  On some systems doing so could result in exhausting
69896         virtual memory.  Based in part on a patch from Mike Jetzer.
69897
69898 2003-04-04  Bruno Haible  <bruno@clisp.org>
69899
69900         * modules/linebreak: New file.
69901         * MODULES.html.sh (func_all_modules): Add it.
69902
69903 2003-04-04  Bruno Haible  <bruno@clisp.org>
69904
69905         * m4/linebreak.m4: New file.
69906
69907 2003-04-04  Bruno Haible  <bruno@clisp.org>
69908
69909         * lib/linebreak.h: New file, from GNU gettext.
69910         * lib/linebreak.c: New file, from GNU gettext with slight
69911         modifications.
69912         * lib/lbrkprop.h: New file, from GNU gettext.
69913
69914 2003-04-03  Bruno Haible  <bruno@clisp.org>
69915
69916         * modules/utf8-ucs4: New file.
69917         * modules/utf16-ucs4: New file.
69918         * modules/ucs4-utf8: New file.
69919         * modules/ucs4-utf16: New file.
69920         * MODULES.html.sh (func_all_modules): Add them.
69921
69922 2003-04-03  Bruno Haible  <bruno@clisp.org>
69923
69924         * m4/utf-ucs4.m4: New file.
69925         * m4/ucs4-utf.m4: New file.
69926
69927 2003-04-03  Bruno Haible  <bruno@clisp.org>
69928
69929         * lib/utf8-ucs4.h: New file, from GNU gettext.
69930         * lib/utf16-ucs4.h: New file, from GNU gettext.
69931         * lib/ucs4-utf8.h: New file, from GNU gettext.
69932         * lib/ucs4-utf16.h: New file, from GNU gettext.
69933
69934 2003-04-02  Bruno Haible  <bruno@clisp.org>
69935
69936         * modules/binary-io: New file.
69937         * MODULES.html.sh (func_all_modules): Add it.
69938
69939 2003-04-02  Bruno Haible  <bruno@clisp.org>
69940
69941         * lib/binary-io.h: New file, from GNU gettext.
69942
69943 2003-04-01  Bruno Haible  <bruno@clisp.org>
69944
69945         * modules/pathname: New file.
69946         * MODULES.html.sh (func_all_modules): Add it.
69947
69948 2003-04-01  Bruno Haible  <bruno@clisp.org>
69949
69950         * lib/pathname.h: New file, from GNU gettext.
69951         * lib/concatpath.c: New file, from GNU gettext.
69952
69953 2003-03-30  Bruno Haible  <bruno@clisp.org>
69954
69955         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
69956
69957 2003-03-30  Bruno Haible  <bruno@clisp.org>
69958
69959         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
69960         function chown() doesn't exist.
69961
69962 2003-03-28  Bruno Haible  <bruno@clisp.org>
69963
69964         * modules/copy-file: New file.
69965         * MODULES.html.sh (func_all_modules): Add it.
69966
69967 2003-03-28  Bruno Haible  <bruno@clisp.org>
69968
69969         * m4/copy-file.m4: New file.
69970
69971 2003-03-28  Bruno Haible  <bruno@clisp.org>
69972
69973         * lib/copy-file.h: New file, from GNU gettext.
69974         * lib/copy-file.c: New file, from GNU gettext.
69975
69976 2003-03-18  Jim Meyering  <jim@meyering.net>
69977
69978         * lib/quote.c (quote_n): Fix typo in comment.
69979
69980 2003-03-18  Bruno Haible  <bruno@clisp.org>
69981
69982         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
69983         checking.
69984         * m4/onceonly_2_57.m4: Likewise.
69985
69986 2003-03-17  Bruno Haible  <bruno@clisp.org>
69987
69988         * m4/onceonly.m4: Require autoconf 2.54 or newer.
69989         (m4_quote): Remove macro.
69990         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
69991
69992 2003-03-14  Jim Meyering  <jim@meyering.net>
69993
69994         Merge changes from Coreutils.
69995         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
69996         to be const, in order to avoid warnings.
69997         (obstack_room): Likewise.
69998         (obstack_empty_p): Likewise.
69999
70000 2003-03-14  Bruno Haible  <bruno@clisp.org>
70001
70002         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
70003         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
70004
70005 2003-03-13  Paul Eggert  <eggert@twinsun.com>
70006
70007         Merge changes from Bison.
70008         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
70009         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
70010         when compiling Bison 1.875's `bitset bset = obstack_alloc
70011         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
70012         * lib/hash.c: Include <stdbool.h> unconditionally.
70013
70014 2003-03-13  Paul Eggert  <eggert@twinsun.com>
70015
70016         * m4/onceonly.m4 (m4_quote): New macro.
70017         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
70018         Quote AC_FOREACH variable-expansions properly.
70019
70020 2003-03-13  Paul Eggert  <eggert@twinsun.com>
70021
70022         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
70023
70024 2003-03-09  Paul Eggert  <eggert@twinsun.com>
70025
70026         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
70027         Reported by Bruce Becker; see:
70028         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
70029
70030 2003-03-03  Paul Eggert  <eggert@twinsun.com>
70031             Bruno Haible  <bruno@clisp.org>
70032
70033         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
70034         Reported by John Hughes, see
70035         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
70036
70037 2003-02-20  Bruno Haible  <bruno@clisp.org>
70038
70039         * MODULES.html.sh (func_all_modules): Add poll.
70040
70041 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
70042
70043         * modules/poll: New file.
70044
70045 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
70046
70047         * lib/poll_.h: New file.
70048         * lib/poll.c: New file.
70049
70050 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
70051
70052         * m4/poll.m4: New file.
70053
70054 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
70055
70056         * modules/mathl: New file.
70057
70058 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
70059
70060         * lib/mathl.h: New file.
70061         * lib/acosl.c: New file.
70062         * lib/asinl.c: New file.
70063         * lib/atanl.c: New file.
70064         * lib/ceill.c: New file.
70065         * lib/cosl.c: New file.
70066         * lib/expl.c: New file.
70067         * lib/floorl.c: New file.
70068         * lib/frexpl.c: New file.
70069         * lib/ldexpl.c: New file.
70070         * lib/logl.c: New file.
70071         * lib/sincosl.c: New file.
70072         * lib/sinl.c: New file.
70073         * lib/sqrtl.c: New file.
70074         * lib/tanl.c: New file.
70075         * lib/trigl.c: New file.
70076         * lib/trigl.h: New file.
70077
70078 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
70079
70080         * m4/mathl.m4: New file.
70081
70082 2003-02-18  Bruno Haible  <bruno@clisp.org>
70083
70084         * MODULES.html.sh (func_all_modules): Add mathl.
70085
70086 2003-02-17  Bruno Haible  <bruno@clisp.org>
70087
70088         * modules/mkdtemp: New module.
70089         * MODULES.html.sh (func_all_modules): Add it.
70090
70091 2003-02-17  Bruno Haible  <bruno@clisp.org>
70092
70093         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
70094
70095 2003-02-17  Bruno Haible  <bruno@clisp.org>
70096
70097         * lib/mkdtemp.h: New file, from GNU gettext.
70098         * lib/mkdtemp.c: New file, from GNU gettext.
70099
70100 2003-02-02  Jim Meyering  <jim@meyering.net>
70101
70102         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
70103         e.g. glibc-2.2.93.
70104
70105 2003-01-31  Bruno Haible  <bruno@clisp.org>
70106
70107         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
70108         'rpl_rename'.
70109         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
70110         'rpl_strnlen'.
70111         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
70112         'rpl_strtod'.
70113         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
70114         'rpl_utime'.
70115
70116 2003-01-31  Bruno Haible  <bruno@clisp.org>
70117
70118         * lib/rename.c: #undef rename before defining rpl_rename.
70119         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
70120
70121 2003-01-30  Bruno Haible  <bruno@clisp.org>
70122
70123         * modules/vasnprintf, modules/vasprintf: New modules.
70124         * MODULES.html.sh (func_all_modules): Add them.
70125
70126 2003-01-30  Bruno Haible  <bruno@clisp.org>
70127
70128         * m4/signed.m4: New file, from GNU gettext.
70129         * m4/longdouble.m4: New file, from GNU gettext.
70130         * m4/wchar_t.m4: New file, from GNU gettext.
70131         * m4/wint_t.m4: New file, from GNU gettext.
70132         * m4/vasnprintf.m4: New file.
70133         * m4/vasprintf.m4: New file.
70134
70135 2003-01-30  Bruno Haible  <bruno@clisp.org>
70136
70137         * lib/printf-args.h: New file, from GNU gettext.
70138         * lib/printf-args.c: New file, from GNU gettext.
70139         * lib/printf-parse.h: New file, from GNU gettext.
70140         * lib/printf-parse.c: New file, from GNU gettext.
70141         * lib/vasnprintf.h: New file, from GNU gettext.
70142         * lib/vasnprintf.c: New file, from GNU gettext.
70143         * lib/asnprintf.c: New file, from GNU gettext.
70144         * lib/vasprintf.h: New file, from GNU gettext with modifications.
70145         * lib/vasprintf.c: New file, from GNU gettext.
70146         * lib/asprintf.c: New file, from GNU gettext.
70147
70148 2003-01-29  Bruno Haible  <bruno@clisp.org>
70149
70150         * modules/stpncpy: New module.
70151         * MODULES.html.sh (func_all_modules): Add it.
70152
70153 2003-01-29  Bruno Haible  <bruno@clisp.org>
70154
70155         * m4/stpncpy.m4: New file.
70156
70157 2003-01-29  Bruno Haible  <bruno@clisp.org>
70158
70159         * lib/stpncpy.h: New file, from GNU gettext with modifications.
70160         * lib/stpncpy.c: New file, from GNU gettext with modifications.
70161
70162 2003-01-28  Bruno Haible  <bruno@clisp.org>
70163
70164         * modules/c-ctype: New module.
70165         * MODULES.html.sh (func_all_modules): Add it.
70166
70167 2003-01-28  Bruno Haible  <bruno@clisp.org>
70168
70169         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
70170         Paul Eggert.
70171         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
70172         Paul Eggert.
70173
70174 2003-01-27  Bruno Haible  <bruno@clisp.org>
70175
70176         * modules/xsetenv: New module.
70177         * MODULES.html.sh (func_all_modules): Add it.
70178
70179 2003-01-27  Bruno Haible  <bruno@clisp.org>
70180
70181         * lib/xsetenv.h: New file, from GNU gettext.
70182         * lib/xsetenv.c: New file, from GNU gettext.
70183
70184 2003-01-23  Jim Meyering  <jim@meyering.net>
70185
70186         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
70187         from working on systems without dirfd (at least Irix and OSF1/Tru64).
70188
70189 2003-01-23  Bruno Haible  <bruno@clisp.org>
70190
70191         * modules/minmax: New module.
70192         * MODULES.html.sh (func_all_modules): Add it.
70193
70194 2003-01-23  Bruno Haible  <bruno@clisp.org>
70195
70196         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
70197         Eggert.
70198
70199 2003-01-22  Bruno Haible  <bruno@clisp.org>
70200
70201         * modules/exit: New module.
70202         * MODULES.html.sh (func_all_modules): Add it.
70203
70204 2003-01-22  Bruno Haible  <bruno@clisp.org>
70205
70206         * lib/exit.h: New file, from GNU gettext.
70207
70208 2003-01-19  Bruno Haible  <bruno@clisp.org>
70209
70210         * gnulib-tool: Recognize option --extract-maintainer.
70211         (func_get_maintainer): New function.
70212         * modules/*: Add Maintainer entry.
70213
70214 2003-01-16  Jim Meyering  <jim@meyering.net>
70215
70216         * m4/regex.m4: The `regex' struct is both input and output.
70217         Initialize it before each use.  Patch by Tim Waugh.
70218
70219 2003-01-16  Bruno Haible  <bruno@clisp.org>
70220
70221         * MODULES.html.sh: Add a table of contents. Add the module name as
70222         leftmost column. Add hyperlinks.
70223
70224 2003-01-15  Bruno Haible  <bruno@clisp.org>
70225
70226         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
70227
70228 2003-01-15  Bruno Haible  <bruno@clisp.org>
70229
70230         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
70231         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
70232         suffix.
70233
70234 2003-01-15  Bruno Haible  <bruno@clisp.org>
70235
70236         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
70237
70238 2003-01-15  Bruno Haible  <bruno@clisp.org>
70239
70240         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
70241         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
70242
70243 2003-01-14  Jim Meyering  <jim@meyering.net>
70244
70245         * lib/same.c (same_name): Tweak a comment.
70246
70247 2003-01-14  Bruno Haible  <bruno@clisp.org>
70248
70249         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
70250         when a string comparison is sufficient.
70251
70252 2003-01-14  Bruno Haible  <bruno@clisp.org>
70253
70254         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
70255         'unsigned int'.
70256
70257 2003-01-14  Bruno Haible  <bruno@clisp.org>
70258
70259         * lib/hash-pjw.c: Add comment about low quality of this function.
70260
70261 2003-01-13  Bruno Haible  <bruno@clisp.org>
70262
70263         * modules/stpcpy: Distribute lib/stpcpy.h.
70264         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
70265
70266 2003-01-13  Bruno Haible  <bruno@clisp.org>
70267
70268         * modules/*: Add a description.
70269         * modules/strpbrk: Fix Makefile.am snippet.
70270         * modules/strtoimax: Fix dependencies.
70271         * modules/strtoumax: Likewise.
70272
70273 2003-01-13  Bruno Haible  <bruno@clisp.org>
70274
70275         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
70276         * modules/alloca (Makefile.am): All object files depend on alloca.h.
70277         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
70278
70279 2003-01-13  Bruno Haible  <bruno@clisp.org>
70280
70281         * gnulib-tool (func_create_testdir): Store config/* files in the main
70282         directory.
70283         * config.rpath: Move to ...
70284         * config/config.rpath: ... here.
70285         * modules/gettext: Contains config/config.rpath, not config.rpath.
70286         * modules/iconv: Likewise.
70287
70288 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70289
70290         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70291         to avoid collisions with libcurses and libreadline.
70292
70293         * m4/getstr.m4: Remove.
70294         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
70295
70296 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70297
70298         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70299         to avoid collisions with libcurses and libreadline.
70300
70301         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
70302         * lib/getstr.h, getstr.c: Remove.
70303         * lib/getline.c: Include "getline.h", to check interface.
70304         Move body of old getstr.c here: this defines MIN_CHUNK and
70305         declares getdelim2, which is renamed from getstr.
70306         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
70307
70308         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
70309         All uses changed.
70310         * lib/linebuffer.h: Likewise.
70311         (readline): Remove backward-compatibility macro.
70312
70313 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70314
70315         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70316         to avoid collisions with libcurses and libreadline.
70317         * getstr: Remove.
70318         * MODULES.html.sh: Remove getstr.
70319         * modules/getline: Depend on unlocked-io, not getstr.
70320
70321 2003-01-12  Jim Meyering  <jim@meyering.net>
70322
70323         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
70324
70325 2003-01-10  Bruno Haible  <bruno@clisp.org>
70326
70327         * modules/alloca: Change Makefile.am requirements. Simplify Include
70328         requirements. Add lib/alloca_.h to file list.
70329
70330 2003-01-10  Bruno Haible  <bruno@clisp.org>
70331
70332         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
70333
70334 2003-01-10  Bruno Haible  <bruno@clisp.org>
70335
70336         * lib/alloca_.h: New file.
70337         * lib/getdate.y: Unconditionally include alloca.h.
70338         * lib/makepath.c: Likewise.
70339         * lib/setenv.c: Likewise.
70340         * lib/userspec.c: Likewise.
70341
70342 2003-01-09  Karl Berry  <karl@gnu.org>
70343
70344         * MODULES.html.sh: include `dirname $0` in PATH, to find
70345         gnulib-tool.
70346
70347 2003-01-09  Bruno Haible  <bruno@clisp.org>
70348
70349         * modules/stdbool: Change configure.ac, Makefile.am requirements.
70350         Simplify Include requirements. Add lib/stdbool.h.in to file list.
70351
70352 2003-01-09  Bruno Haible  <bruno@clisp.org>
70353
70354         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
70355
70356 2003-01-09  Bruno Haible  <bruno@clisp.org>
70357
70358         * lib/stdbool.h.in: New file.
70359
70360 2003-01-09  Bruno Haible  <bruno@clisp.org>
70361
70362         * gnulib-tool (func_all_modules): Ignore files ending in ~.
70363         * MODULES.html.sh: Likewise.
70364
70365 2003-01-08  Jim Meyering  <jim@meyering.net>
70366
70367         * lib/full-write.c: Undefine and define-away `const' after inclusion
70368         of errno.h, not before.  Suggestion from Bruno Haible.
70369
70370 2003-01-08  Bruno Haible  <bruno@clisp.org>
70371
70372         * modules/full-read: Depend on full-write.
70373
70374 2003-01-08  Bruno Haible  <bruno@clisp.org>
70375
70376         * lib/safe-read.c: Include specification header first, to ensure its
70377         selfcontainedness.
70378         * lib/full-write.c: Likewise.
70379
70380 2003-01-07  Jim Meyering  <jim@meyering.net>
70381
70382         * lib/full-write.c: Rework so that it may serve to define full_read,
70383         too.
70384         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
70385
70386 2003-01-07  Bruno Haible  <bruno@clisp.org>
70387
70388         * lib/strtoimax.c: Include <stdint.h> as an alternative to
70389         <inttypes.h>.
70390         * lib/xstrtol.h: Likewise.
70391         * lib/xstrtoimax.c: Likewise.
70392         * lib/xstrtoumax.c: Likewise.
70393         * lib/human.h: Likewise.
70394
70395         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
70396         on systems that have <inttypes.h> but not <stdint.h>.
70397
70398 2003-01-07  Bruno Haible  <bruno@clisp.org>
70399
70400         * MODULES.html.sh: Add copyright notice.
70401         (missed_files): Omit CVS directory entries.
70402         (func_module): Make it work with sed-3.02.
70403         * MODULES.txt: Remove file.
70404
70405 2003-01-06  Jim Meyering  <jim@meyering.net>
70406
70407         * lib/version-etc.c: Update year in translatable copyright string.
70408
70409 2003-01-03  Karl Berry  <karl@gnu.org>
70410
70411         * config/config.{guess,sub}: update from prep.
70412
70413 2003-01-02  Karl Berry  <karl@gnu.org>
70414
70415         * doc/COPYING.DOC: belatedly updated to 1.2.
70416
70417 2003-01-01  Karl Berry  <karl@gnu.org>
70418
70419         * gnulib-tool (func_verify_module): report module name $module in
70420         error message, not $1.
70421         * gnulib-tool (create-testdir): don't complain if destdir couldn't
70422         be created, only if it doesn't exist.
70423         * gnulib-tool (last_checkin_date): don't expand the $Date here.
70424
70425 2002-12-31  Paul Eggert  <eggert@twinsun.com>
70426
70427         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
70428
70429 2002-12-31  Paul Eggert  <eggert@twinsun.com>
70430
70431         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
70432         memcmp if strcoll doesn't work.
70433
70434 2002-12-31  Bruno Haible  <bruno@clisp.org>
70435
70436         * lib/utime.c (utime_null): No need to call ftruncate if the file was
70437         nonempty.
70438
70439 2002-12-31  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/memcoll.c (STRCOLL): New macro.
70442         (memcoll): Use it.
70443
70444 2002-12-31  Bruno Haible  <bruno@clisp.org>
70445
70446         * lib/localcharset.h: New file.
70447         * lib/localcharset.c: Include it.
70448         * lib/unicodeio.c: Likewise.
70449
70450 2002-12-31  Bruno Haible  <bruno@clisp.org>
70451
70452         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
70453         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
70454
70455 2002-12-31  Bruno Haible  <bruno@clisp.org>
70456
70457         * lib/getline.h: Include <stddef.h>, for size_t.
70458
70459         * lib/unicodeio.h: Include <stddef.h>, for size_t.
70460         * lib/unicodeio.c: Don't include <stddef.h>.
70461
70462 2002-12-31  Bruno Haible  <bruno@clisp.org>
70463
70464         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
70465         HAVE_TM_ZONE.
70466
70467 2002-12-24  Karl Berry  <karl@gnu.org>
70468
70469         * config/config.guess: update from prep.
70470
70471 2002-12-24  Bruno Haible  <bruno@clisp.org>
70472
70473         General infrasructure.
70474         * m4/README: Rewritten.
70475         * m4/onceonly.m4: New file.
70476         * m4/onceonly_2_57.m4: New file.
70477
70478         Module atexit.
70479         * m4/atexit.m4: New file.
70480
70481         Module strtod.
70482         * m4/strtod.m4: New file.
70483
70484         Module strtol.
70485         * m4/strtol.m4: New file.
70486
70487         Module strtoul.
70488         * m4/strtoul.m4: New file.
70489
70490         Module memchr.
70491         * m4/memchr.m4: New file.
70492
70493         Module memcmp.
70494         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
70495         (jm_FUNC_MEMCMP): Invoke it.
70496
70497         Module memcpy.
70498         * m4/memcpy.m4: New file.
70499
70500         Module memmove.
70501         * m4/memmove.m4: New file.
70502
70503         Module memset.
70504         * m4/memset.m4: New file.
70505
70506         Module strcspn.
70507         * m4/strcspn.m4: New file.
70508
70509         Module strpbrk.
70510         * m4/strpbrk.m4: New file.
70511
70512         Module strstr.
70513         * m4/strstr.m4: New file.
70514
70515         Module strerror.
70516         * m4/strerror.m4: New file.
70517
70518         Module mktime.
70519         * m4/mktime.m4: Renamed from jm-mktime.m4.
70520         (gl_PREREQ_MKTIME): New macro.
70521         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
70522
70523         Module malloc.
70524         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
70525         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
70526         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
70527
70528         Module realloc.
70529         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
70530         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
70531         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
70532
70533         Module strftime.
70534         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
70535         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
70536         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
70537         gl_TM_GMTOFF.
70538         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
70539
70540         Module xalloc.
70541         * m4/xalloc.m4: New file.
70542
70543         Module alloca.
70544         * m4/alloca.m4: New file.
70545
70546         Module putenv.
70547         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
70548         (jm_FUNC_PUTENV): Invoke it.
70549
70550         Module setenv.
70551         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
70552         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
70553         when invoked twice.
70554         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
70555         gt_FUNC_SETENV.
70556
70557         Module memrchr.
70558         * m4/memrchr.m4: New file.
70559
70560         Module stpcpy.
70561         * m4/stpcpy.m4: New file.
70562
70563         Module strcase.
70564         * m4/strcase.m4: New file.
70565
70566         Module strdup.
70567         * m4/strdup.m4: New file.
70568
70569         Module strnlen.
70570         * m4/strnlen.m4: New file.
70571
70572         Module strndup.
70573         * m4/strndup.m4: New file.
70574
70575         Module xstrtod.
70576         * m4/xstrtod.m4: New file.
70577
70578         Module xstrtol.
70579         * m4/xstrtol.m4: New file.
70580
70581         Module getdate.
70582         * m4/getdate.m4: New file.
70583
70584         Module unlocked-io.
70585         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
70586         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
70587         * m4/jm-glibc-io.m4n: Remove file.
70588
70589         Module long-options.
70590         * m4/long-options.m4: New file.
70591
70592         Module md5.
70593         * m4/md5.m4: New file.
70594
70595         Module sha.
70596         * m4/sha.m4: New file.
70597
70598         Module getstr.
70599         * m4/getstr.m4: New file.
70600
70601         Module getline.
70602         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
70603         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
70604         <sys/types.h>, for size_t. Use the function name gnu_getline, not
70605         simply getline. Infoke gl_PREREQ_GETLINE.
70606
70607         Module obstack.
70608         * m4/obstack.m4: New file.
70609
70610         Module hash.
70611         * m4/hash.m4: New file.
70612
70613         Module readtokens.
70614         * m4/readtokens.m4: New file.
70615
70616         Module strverscmp.
70617         * m4/strverscmp.m4: New file.
70618
70619         Module stdbool.
70620         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
70621         OSF/1.
70622
70623         Module strtoll.
70624         * m4/strtoll.m4: New file.
70625
70626         Module strtoull.
70627         * m4/strtoull.m4: New file.
70628
70629         Module strtoimax.
70630         * m4/strtoimax.m4: New file.
70631
70632         Module strtoumax.
70633         * m4/strtoumax.m4: New file.
70634
70635         Module xstrtoimax.
70636         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
70637         jm_AC_PREREQ_XSTRTOIMAX.
70638         Moved the strtol prerequisites to strtol.m4.
70639         Moved the strtoll prerequisites to strtoll.m4.
70640         Moved the strtoimax prerequisites to strtoimax.m4.
70641
70642         Module xstrtoumax.
70643         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
70644         jm_AC_PREREQ_XSTRTOUMAX.
70645         Moved the strtoul prerequisites to strtoul.m4.
70646         Moved the strtoull prerequisites to strtoull.m4.
70647         Moved the strtoumax prerequisites to strtoumax.m4.
70648
70649         Module chown.
70650         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
70651         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
70652
70653         Module dup2.
70654         * m4/dup2.m4: New file.
70655
70656         Module ftruncate.
70657         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
70658         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
70659
70660         Module getgroups.
70661         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
70662         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
70663
70664         Module gettimeofday.
70665         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
70666         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
70667         gl_PREREQ_GETTIMEOFDAY.
70668
70669         Module mkdir.
70670         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
70671         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
70672
70673         Module mkstemp.
70674         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
70675         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
70676         jm_AC_TYPE_UINTMAX_T.
70677         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
70678
70679         Module stat.
70680         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
70681         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
70682
70683         Module lstat.
70684         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
70685         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
70686
70687         Module timespec.
70688         * m4/timespec.m4 (gl_TIMESPEC): New macro.
70689         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
70690         * m4/st_mtim.m4: Indentation.
70691
70692         Module nanosleep.
70693         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
70694         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
70695         gl_PREREQ_NANOSLEEP.
70696
70697         Module regex.
70698         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
70699         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
70700         (gl_REGEX): New macro.
70701
70702         Module rename.
70703         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
70704         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
70705
70706         Module rmdir.
70707         * m4/rmdir.m4: New file.
70708
70709         Module utime.
70710         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
70711         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
70712         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
70713
70714         Module dirname.
70715         * m4/dirname.m4: New file.
70716
70717         Module getopt.
70718         * m4/getopt.m4: New file.
70719
70720         Module unistd-safer.
70721         * m4/unistd-safer.m4: New file.
70722
70723         Module fnmatch.
70724         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
70725         declaration.
70726         (gl_PREREQ_FNMATCH_EXTRA): New macro.
70727         (gl_FUNC_FNMATCH_POSIX): New macro.
70728         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
70729         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
70730         simply fnmatch.
70731
70732         Module exclude.
70733         * m4/exclude.m4: New file.
70734
70735         Module human.
70736         * m4/human.m4: New file.
70737
70738         Module acl.
70739         * m4/acl.m4: Nop.
70740
70741         Module backupfile.
70742         * m4/backupfile.m4: New file.
70743         * m4/d-ino.m4: Indentation.
70744
70745         Module fsusage.
70746         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
70747         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
70748         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
70749
70750         Module dirfd.
70751         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
70752         requirements.
70753
70754         Module euidaccess.
70755         * m4/euidaccess.m4: New file.
70756
70757         Module file-type.
70758         * m4/file-type.m4: New file.
70759
70760         Module fileblocks.
70761         * m4/fileblocks.m4: New file.
70762
70763         Module filemode.
70764         * m4/filemode.m4: New file.
70765
70766         Module isdir.
70767         * m4/isdir.m4: New file.
70768
70769         Module lchown.
70770         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
70771         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
70772
70773         Module makepath.
70774         * m4/makepath.m4: New file.
70775
70776         Module modechange.
70777         * m4/modechange.m4: New file.
70778
70779         Module mountlist.
70780         * m4/mountlist.m4: New file.
70781         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
70782         Indentation.
70783
70784         Module path-concat.
70785         * m4/path-concat.m4: New file.
70786
70787         Module pathmax.
70788         * m4/pathmax.m4: New file.
70789
70790         Module same.
70791         * m4/same.m4: New file.
70792
70793         Module save-cwd.
70794         * m4/save-cwd.m4: New file.
70795
70796         Module savedir.
70797         * m4/savedir.m4: New file.
70798
70799         Module xgetcwd.
70800         * m4/xgetcwd.m4: New file.
70801         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
70802
70803         Module xreadlink.
70804         * m4/xreadlink.m4: New file.
70805
70806         Module safe-read.
70807         * m4/safe-read.m4: New file.
70808
70809         Module safe-write.
70810         * m4/safe-write.m4: New file.
70811
70812         Module closeout.
70813         * m4/closeout.m4: New file.
70814
70815         Module stdio-safer.
70816         * m4/stdio-safer.m4: New file.
70817
70818         Module getpass.
70819         * m4/getpass.m4: New file.
70820
70821         Module getugroups.
70822         * m4/getugroups.m4: New file.
70823
70824         Module group-member.
70825         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
70826         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
70827
70828         Module idcache.
70829         * m4/idcache.m4: New file.
70830
70831         Module userspec.
70832         * m4/userspec.m4: New file.
70833
70834         Module gettime.
70835         * m4/clock_time.m4: New file.
70836         * m4/gettime.m4: New file.
70837
70838         Module settime.
70839         * m4/settime.m4: New file.
70840
70841         Module posixtm.
70842         * m4/posixtm.m4: New file.
70843
70844         Module gethostname.
70845         * m4/gethostname.m4: New file.
70846
70847         Module canon-host.
70848         * m4/canon-host.m4: New file.
70849
70850         Module gettext.
70851         * m4/codeset.m4: New file, from gettext-0.11.5.
70852         * m4/gettext.m4: New file, from gettext-0.11.5.
70853         * m4/glibc21.m4: New file, from gettext-0.11.5.
70854         * m4/iconv.m4: New file, from gettext-0.11.5.
70855         * m4/intdiv0.m4: New file, from gettext-0.11.5.
70856         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
70857         * m4/inttypes.m4: New file, from gettext-0.11.5.
70858         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
70859         * m4/isc-posix.m4: New file, from gettext-0.11.5.
70860         * m4/lcmessage.m4: New file, from gettext-0.11.5.
70861         * m4/lib-ld.m4: New file, from gettext-0.11.5.
70862         * m4/lib-link.m4: New file, from gettext-0.11.5.
70863         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
70864         * m4/progtest.m4: New file, from gettext-0.11.5.
70865         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
70866         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
70867         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
70868
70869         Module localcharset.
70870         * m4/localcharset.m4: New file.
70871
70872         Module hard-locale.
70873         * m4/hard-locale.m4: New file.
70874
70875         Module mbswidth.
70876         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
70877         onceonly macros.
70878         * m4/mbrtowc.m4: Add comment.
70879
70880         Module memcasecmp.
70881         * m4/memcasecmp.m4: New file.
70882
70883         Module memcoll.
70884         * m4/memcoll.m4: New file.
70885
70886         Module unicodeio.
70887         * m4/unicodeio.m4: New file.
70888
70889         Module rpmatch.
70890         * m4/rpmatch.m4: New file.
70891
70892         Module yesno.
70893         * m4/yesno.m4: New file.
70894
70895         Module exitfail.
70896         * m4/exitfail.m4: New file.
70897
70898         Module c-stack.
70899         * m4/c-stack.m4 (gl_C_STACK): New macro.
70900         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
70901
70902         Module error.
70903         * m4/error.m4 (gl_ERROR): New macro.
70904         (jm_PREREQ_ERROR): Use onceonly macros.
70905
70906         Module fatal.
70907         * m4/fatal.m4: New file.
70908
70909         Module getloadavg.
70910         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
70911         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
70912
70913         Module getpagesize.
70914         * m4/getpagesize.m4: New file.
70915
70916         Module getusershell.
70917         * m4/getusershell.m4: New file.
70918
70919         Module physmem.
70920         * m4/physmem.m4: New file.
70921
70922         Module posixver.
70923         * m4/posixver.m4: New file.
70924
70925         Module quotearg.
70926         * m4/quotearg.m4: New file.
70927
70928         Module quote.
70929         * m4/quote.m4: New file.
70930
70931         Module readutmp.
70932         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
70933
70934         Module sig2str.
70935         * m4/sig2str.m4: New file.
70936
70937         Other.
70938         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
70939         ulonglong.m4.
70940         * m4/intmax_t.m4: New file.
70941         * m4/d-type.m4: Indentation.
70942         * m4/jm-macros.m4: Update.
70943         * m4/prereq.m4 (jm_PREREQ): Update.
70944         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
70945         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
70946         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
70947         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
70948         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
70949         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
70950         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
70951         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
70952         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
70953         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
70954         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
70955         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
70956         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
70957         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
70958         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
70959         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
70960         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
70961         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
70962         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
70963
70964 2002-12-24  Bruno Haible  <bruno@clisp.org>
70965
70966         * MODULES.txt: Update according to m4/ changes.
70967
70968         Module gettext.
70969         * config.rpath: New file, from gettext-0.11.5.
70970
70971         * modules/*: New module descriptions.
70972         * gnulib-tool: New file.
70973         * MODULES.html.sh: New file.
70974
70975 2002-12-21  Karl Berry  <karl@gnu.org>
70976
70977         * doc/fdl.texi: update to version 1.2.
70978
70979 2002-12-19  Karl Berry  <karl@gnu.org>
70980
70981         * config/config.guess: update from prep.
70982
70983 2002-12-18  Bruno Haible  <bruno@clisp.org>
70984
70985         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
70986         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
70987
70988 2002-12-17  Bruno Haible  <bruno@clisp.org>
70989
70990         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
70991         stdlib.h, string.h.
70992
70993 2002-12-17  Bruno Haible  <bruno@clisp.org>
70994
70995         * lib/canon-host.c (strdup): Remove unused declaration.
70996
70997         * lib/fsusage.c: Include full_read.h.
70998         (get_fs_usage): Use full_read instead of safe_read.
70999
71000         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
71001
71002 2002-12-12  Karl Berry  <karl@gnu.org>
71003
71004         * config/config.guess: update from prep.
71005
71006 2002-12-11  Bruno Haible  <bruno@clisp.org>
71007
71008         * m4/setenv.m4: New file, from gettext-0.11.5.
71009
71010 2002-12-11  Bruno Haible  <bruno@clisp.org>
71011
71012         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
71013         not unsetenv().
71014         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
71015         modifications:
71016
71017         2002-12-11  Bruno Haible  <bruno@clisp.org>
71018
71019                 * setenv.c (alloca): Fall back to malloc.
71020                 (freea): New macro.
71021                 (setenv): Use freea() to free memory allocated with alloca().
71022
71023         2002-11-13  Bruno Haible  <bruno@clisp.org>
71024
71025                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
71026                 function declarations.
71027                 * unsetenv.c (unsetenv): Likewise.
71028
71029         2002-03-04  Bruno Haible  <bruno@clisp.org>
71030
71031                 Portability to AIX 4.3.3.
71032                 * unsetenv.c: New file, extracted from setenv.c.
71033                 * setenv.c: Move the unsetenv() function to unsetenv.c.
71034
71035         2001-12-20  Bruno Haible  <bruno@clisp.org>
71036
71037                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
71038                 use malloc instead. For SunOS 4.
71039
71040         2001-12-11  Bruno Haible  <bruno@clisp.org>
71041
71042                 * setenv.c: Declare alloca.
71043                 (compar_fn_t): New typedef.
71044                 (KNOWN_VALUE, STORE_VALUE): Use it.
71045
71046         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
71047         setenv.h.
71048
71049 2002-12-10  Paul Eggert  <eggert@twinsun.com>
71050
71051         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
71052         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
71053         Choose values that are less likely to collide with system fnmatch
71054         options.
71055         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
71056         defined (e.g., a pure POSIX system).
71057         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
71058         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
71059
71060 2002-12-06  Paul Eggert  <eggert@twinsun.com>
71061
71062         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
71063         a pain in practice to deal with generated m4 files.  This change
71064         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
71065
71066         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
71067         and jm-glibc-io.m4, as they are no longer a special case.
71068         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
71069         kludge and the auto-generation stuff.  Check only whether the
71070         functions are declared, not whether they exist, since older hosts
71071         that don't declare the functions can't use the optimization anyway.
71072
71073 2002-12-06  Jim Meyering  <jim@meyering.net>
71074
71075         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
71076
71077         Merge in changes from libc's misc/error.c, in preparation
71078         for the merge of gnulib's changes back into libc.
71079
71080         * lib/error.c (_): Define only if not already defined.
71081         Move definition to follow all #include directives.
71082         Include unlocked-io.h only if !_LIBC.
71083         [_LIBC]: Include <libio/libioP.h>.
71084         [USE_IN_LIBIO]: Include <libio/iolibio.h>
71085         (fflush): Tweak definition to use INTUSE.
71086         (putc): Define.
71087
71088 2002-12-05  Paul Eggert  <eggert@twinsun.com>
71089
71090         * lib/alloca.c [defined emacs]: Include "lisp.h".
71091         (xalloc_die) [defined emacs]: New macro.
71092         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
71093         [! defined emacs]: Include <xalloc.h>.
71094         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
71095         (pointer): Typedef to POINTER_TYPE *.
71096         (malloc): Remove decl; we now always use xmalloc.
71097         (alloca): Use old-style definition, since Emacs needs this.
71098         Check for arithmetic overflow when computing combined size.
71099
71100 2002-12-04  Paul Eggert  <eggert@twinsun.com>
71101
71102         Do not generate unlocked-io.h automatically, since it's easier to
71103         maintain it by hand.
71104
71105         * lib/unlocked-io.h: New file, from GNU diffutils,
71106         but with proper copyright notice and attribution.
71107         * lib/gen-uio: Remove.
71108         * lib/Makefile.am: Add copyright notice.
71109         (libfetish_a_SOURCES): Add unlocked-io.h.
71110         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
71111         (DISTCLEANFILES, io_functions): Remove macros.
71112         (EXTRA_DIST): Remove gen_uio.
71113         (unlocked-io.h): Remove rule.
71114
71115 2002-12-04  Jim Meyering  <jim@meyering.net>
71116
71117         Reflect the fact that stat.c and lstat.c are no longer generated.
71118         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
71119         (DISTCLEANFILES): Likewise.
71120         (EXTRA_DIST): Likewise.
71121         (all_local): Don't depend on stat.c or lstat.c.
71122         (stat.c, lstat.c): Remove rules.
71123         (EXTRA_DIST): Remove xstat.in.
71124
71125         * lib/xstat.in: Remove file.  Contents moved into stat.c.
71126         * lib/stat.c: New file.  Contents mostly from xstat.in.
71127         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
71128         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
71129
71130         * lib/safe-read.c: Rework so that it may serve to define safe_write,
71131         too.
71132         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
71133
71134 2002-12-03  Jim Meyering  <jim@meyering.net>
71135
71136         * lib/safe-read.c, safe-write.c: Change variable names and comments,
71137         but not semantics, to minimize the differences between these two files.
71138         (safe_read): Change comment to mention SAFE_READ_ERROR.
71139
71140         * lib/safe-read.c (IS_EINTR): Define.
71141         (safe_read): Use IS_EINTR in place of in-function cpp directives.
71142
71143 2002-12-02  Jim Meyering  <jim@meyering.net>
71144
71145         * lib/safe-read.c (EINTR): Define.
71146         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
71147         (INT_MAX): Provide fallback.
71148         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
71149
71150         * lib/safe-read.h (SAFE_READ_ERROR): Define.
71151
71152 2002-12-02  Bruno Haible  <bruno@clisp.org>
71153
71154         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
71155         Define, taken from safe-read.c.
71156         (INT_MAX): Provide fallback.
71157         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
71158         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
71159
71160         * lib/safe-read.c (EINTR): Remove definition.
71161         (safe_read): Don't use EINTR if it is absent.
71162
71163 2002-12-01  Jim Meyering  <jim@meyering.net>
71164
71165         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
71166         zero.
71167         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
71168
71169 2002-11-27  Paul Eggert  <eggert@twinsun.com>
71170
71171         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
71172         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
71173         with `if (! (value < limit)) abort ();', for readability.
71174
71175 2002-11-26  Karl Berry  <karl@gnu.org>
71176
71177         * lib/strdup.c: copy from libc again, with jim's ok.
71178         * lib/.cppi-disable: re-add strdup.c
71179
71180 2002-11-25  Karl Berry  <karl@gnu.org>
71181
71182         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
71183         instead of "strtol.c".
71184
71185 2002-11-25  Karl Berry  <karl@gnu.org>
71186
71187         * config/install-sh: update from automake for variable quoting, $0 in
71188         error msgs, etc.
71189
71190         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
71191         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
71192         entry.
71193
71194 2002-11-25  Jim Meyering  <jim@meyering.net>
71195
71196         * lib/mktime.c: Sync from libc, now that it has the latest fix.
71197
71198 2002-11-24  Karl Berry  <karl@gnu.org>
71199
71200         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
71201         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
71202
71203 2002-11-24  Jim Meyering  <jim@meyering.net>
71204
71205         Update from coreutils:
71206
71207         * lib/mktime.c: Merge in changes from libc.
71208
71209         Avoid a link-time failure on some Linux systems.
71210         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
71211         (otherwise).
71212         (__mon_yday): Declare with the STATIC attribute.
71213         (__mktime_internal): Likewise.
71214         Based on a report from Greg Schafer.
71215
71216 2002-11-23  Jim Meyering  <jim@meyering.net>
71217
71218         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
71219         Use `unsigned', not `int', as type of index.
71220
71221         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
71222
71223         * lib/fsusage.c: Remove unneeded parentheses around operands of
71224         `defined'.
71225
71226 2002-11-22  Paul Eggert  <eggert@twinsun.com>
71227
71228         * lib/quotearg.h: Allow multiple inclusion by surrounding with
71229         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
71230         so that we can be included first.
71231         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
71232         * lib/quotearg.c: Include quotearg.h immediately after config.h.
71233         No need to include stddef.h or sys/types.h any more.
71234         Surround local include files with "", not "<>".
71235         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
71236         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
71237         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
71238         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
71239         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
71240         (ISPRINT): Remove; no longer needed now that we assume C89.
71241
71242         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
71243         Preserve errno.
71244
71245         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
71246         quotearg_char): Use SIZE_MAX rather than
71247         (size_t) -1 when we are talking about "infinity".
71248
71249         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
71250
71251 2002-11-22  Paul Eggert  <eggert@twinsun.com>
71252
71253         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
71254         hint that one should use `if (! x) abort ();' rather than `assert
71255         (x);', and anyway it's one less thing to worry about configuring.
71256         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
71257         hash_rehash, hash_insert): Use abort rather than assert.
71258
71259 2002-11-22  Bruno Haible  <bruno@clisp.org>
71260
71261         * lib/safe-read.h: Assume C89. Add comments.
71262         (safe_read): Change return type to size_t.
71263         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
71264         byte counts > SSIZE_MAX correctly.
71265         * lib/safe-write.h: New file.
71266         * lib/safe-write.c: New file.
71267         * lib/full-read.h: New file.
71268         * lib/full-read.c: New file.
71269         * lib/full-write.h: Assume C89. Add comments.
71270         * lib/full-write.c: Include safe-write.h.
71271         (full_write): Rewritten to use safe_write.
71272         Suggested by Jim Meyering and Paul Eggert.
71273
71274 2002-11-21  Jim Meyering  <jim@meyering.net>
71275
71276         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
71277
71278         Merge in changes from the coreutils.
71279
71280         2002-09-25  Paul Eggert  <eggert@twinsun.com>
71281         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
71282         <stdint.h>.
71283         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
71284         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
71285         int.  Work more efficiently if X is the same width as uintmax_t.
71286         Do not compare X to -1, to avoid bogus compiler warning.
71287         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
71288         Don't assume that f_frsize and f_bsize are the same type.
71289
71290         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
71291         warning on FreeBSD.
71292
71293         * lib/makepath.c (make_path): Restore umask *before* creating the final
71294         component.
71295         (make_path): Minor reformatting.
71296
71297         * lib/xmalloc.c: Adjust to work with new autoconf macros,
71298         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
71299         HAVE_MALLOC/HAVE_REALLOC.
71300
71301         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
71302         dummy ones.  At least on GNU/Linux systems, `auto' means something
71303         else.
71304         From Michael Stone.
71305
71306 2002-11-21  Bruno Haible  <bruno@clisp.org>
71307
71308         Remove case insensitive option matching.
71309         * lib/argmatch.h (argcasematch): Remove declaration.
71310         (ARGCASEMATCH): Remove macro.
71311         (__xargmatch_internal): Remove case_sensitive argument.
71312         (XARGMATCH): Update.
71313         (XARGCASEMATCH): Remove macro.
71314         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
71315         case_sensitive argument.
71316         (argcasematch): Remove function.
71317         (__xargmatch_internal): Remove case_sensitive argument.
71318         (main): Use XARGMATCH instead of XARGCASEMATCH.
71319
71320         * lib/xmalloc.c: Change compile-time error message. Add comment about
71321         required autoconf version.
71322
71323 2002-11-20  Paul Eggert  <eggert@twinsun.com>
71324
71325         Merge argmatch cleanups from Bison.  Assume C89.
71326
71327         * lib/argmatch.c: Include config.h here, not in argmatch.h.
71328         Include stdlib.h, for EXIT_FAILURE.
71329         Always include <string.h>, since we assume C89.
71330         (EXIT_FAILURE): Remove pre-C89 bug workaround.
71331         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
71332         Include <stddef.h> instead, since it's all we need for size_t.
71333         (PARAMS): Remove.  All uses removed.
71334         (ARRAY_CARDINALITY): Do not bother to #undef.
71335         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
71336         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
71337         Remove unnecessary parentheses.
71338         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
71339         Insert necessary parentheses.
71340         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
71341         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
71342
71343 2002-11-19  Bruno Haible  <bruno@clisp.org>
71344
71345         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
71346         * lib/mbswidth.h: Include <stddef.h>, for size_t.
71347
71348         * lib/mbswidth.h (PARAMS): Remove macro.
71349         (mbswidth, mbsnwidth): Use ANSI C function declarations.
71350         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
71351
71352         * lib/gcd.h (PARAMS): Remove macro.
71353         (gcd): Use ANSI C function declarations.
71354         * lib/gcd.c (gcd): Likewise.
71355
71356 2002-11-15  Bruno Haible  <bruno@clisp.org>
71357
71358         * lib/strcspn.c: Include <stddef.h>.
71359         (strcspn): Use ANSI C function declaration. Change return type to
71360         size_t. Use NULL.
71361         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
71362         (strpbrk): Use NULL.
71363         * lib/strpbrk.h (PARAMS): Remove macro.
71364         (strpbrk): Use ANSI C function declaration.
71365         * lib/strstr.c: Don't include <sys/types.h>.
71366         * lib/strstr.h (PARAMS): Remove macro.
71367         (strstr): Use ANSI C function declarations.
71368
71369 2002-11-14  Karl Berry  <karl@gnu.org>
71370
71371         * config/mkinstalldirs: `do' on separate line, instead of
71372         `for var; do'.
71373
71374 2002-11-06  Bruno Haible  <bruno@clisp.org>
71375
71376         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
71377         * lib/gcd.c (gcd): Likewise.
71378
71379 2002-11-05  Bruno Haible  <bruno@clisp.org>
71380
71381         * lib/gcd.h: New file, from gettext-0.11.5.
71382         * lib/gcd.c: New file, from gettext-0.11.5.
71383
71384 2002-11-05  Bruno Haible  <bruno@clisp.org>
71385
71386         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71387         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71388         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71389         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71390
71391         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
71392         <libintl.h>.
71393         * lib/makepath.c: Include gettext.h instead of <locale.h> and
71394         <libintl.h>.
71395
71396         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
71397         * lib/human.c: Include gettext.h instead of <libintl.h>.
71398         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
71399         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
71400         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
71401         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
71402         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
71403         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
71404         (textdomain): Remove definition.
71405         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
71406
71407         * lib/long-options.c: Remove include of <libintl.h> and definition of
71408         _.
71409         * lib/same.c: Remove include of <libintl.h> and definition of _.
71410
71411 2002-11-04  Owen Taylor  <otaylor@redhat.com>
71412
71413         * lib/config.charset: A few additions for Solaris.
71414
71415 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
71416
71417         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
71418         * lib/localcharset.c (locale_charset): Declare as extern "C".
71419
71420 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
71421
71422         * lib/config.charset: msdos in uk_UA uses CP1125.
71423
71424 2002-11-04  Bruno Haible  <bruno@clisp.org>
71425
71426         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
71427         * lib/strcase.h: New file, from GNU gettext-0.11.5.
71428         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
71429         * lib/strstr.h: New file, from GNU gettext-0.11.5.
71430         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
71431
71432 2002-11-04  Bruno Haible  <bruno@clisp.org>
71433
71434         * lib/localcharset.c (locale_charset): Don't return an empty string.
71435
71436 2002-11-04  Bruno Haible  <bruno@clisp.org>
71437
71438         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
71439         aliases.
71440
71441 2002-11-04  Bruno Haible  <bruno@clisp.org>
71442
71443         * lib/config.charset: Update for newest glibc. Add canonical names
71444         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
71445
71446 2002-11-04  Bruno Haible  <bruno@clisp.org>
71447
71448         * lib/config.charset: Add support for NetBSD.
71449
71450 2002-11-04  Bruno Haible  <bruno@clisp.org>
71451
71452         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
71453
71454 2002-11-01  Bruno Haible  <bruno@clisp.org>
71455
71456         * configure.in: Add AC_CONFIG_AUX_DIR call.
71457         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
71458         test/Makefile.
71459         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
71460
71461 2002-09-28  Karl Berry  <karl@gnu.org>
71462
71463         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
71464         installed automake until the next release, since changes have been
71465         made.
71466
71467 2002-09-25  Karl Berry  <karl@gnu.org>
71468
71469         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
71470         * lib/getopt*: copy from libc/posix.
71471         * lib/gettext.h: copy from gettext.
71472         * lib/.cppi-disable: add strdup.c, gettext.h.
71473
71474 2002-09-25  Karl Berry  <karl@gnu.org>
71475
71476         * config/srclist.txt: enable gettext.h check.
71477         * config/config.{guess,sub}: update from prep.
71478         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
71479                 from automake 1.6.3.
71480         See srclist*.
71481
71482 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
71483
71484         * regex.c (PATFETCH): Remove the translating fetch.
71485         (PATFETCH_RAW): Rename to PATFETCH.
71486         (set_image_of_range): New fun.
71487         (SET_RANGE_TABLE_WORK_AREA): Use it.
71488         (regex_compile): Don't translate the pattern chars so eagerly.
71489         Only do it when inserting an `exactn' bytecode or when handling
71490         a char-range.
71491         (mutually_exclusive_p): Avoid empty statement.
71492
71493 2002-07-06  Jim Meyering  <meyering@lucent.com>
71494
71495         * m4/README: Don't mention Makefile.am.in.
71496         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
71497
71498 2002-07-01  Jim Meyering  <meyering@lucent.com>
71499
71500         * lib/c-stack.c: Include sys/time.h.
71501         From Volker Borchert.
71502
71503 2002-06-26  Paul Eggert  <eggert@twinsun.com>
71504
71505         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
71506
71507 2002-06-26  Paul Eggert  <eggert@twinsun.com>
71508
71509         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
71510         New macro.  Use it uniformly instead of
71511         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
71512         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
71513         reported by Vin Shelton.
71514
71515 2002-06-22  Paul Eggert  <eggert@twinsun.com>
71516
71517         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
71518         Do not assume SA_SIGINFO behavior.
71519         Bug reported by Jim Meyering on NetBSD 1.5.2.
71520
71521 2002-06-22  Jim Meyering  <meyering@lucent.com>
71522
71523         * m4/c-stack.m4: New file, from diffutils-2.8.2.
71524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
71525
71526         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
71527         now that configure.ac uses AC_GNU_SOURCE.
71528         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
71529         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
71530
71531         Update to latest tools.  Suggestions from Paul Eggert.
71532         * m4/stdbool.m4: New file, from diffutils-2.8.2.
71533         * m4/gnu-source.m4: Update from diffutils-2.8.2.
71534         * m4/fnmatch.m4: Likewise.
71535         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
71536         to AC_HEADER_STDBOOL
71537
71538 2002-06-22  Jim Meyering  <meyering@lucent.com>
71539
71540         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
71541         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
71542
71543 2002-06-22  Jim Meyering  <meyering@lucent.com>
71544
71545         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
71546
71547         * lib/exitfail.c, exitfail.h: Likewise.
71548         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
71549
71550         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
71551         of fnmatch.h.
71552         (EXTRA_DIST): Add fnmatch_loop.c.
71553         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
71554
71555         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
71556         * lib/fnmatch.c: Update from diffutils-2.8.2.
71557         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
71558         * lib/fnmatch.h: Remove file.
71559
71560 2002-06-21  Jim Meyering  <meyering@lucent.com>
71561
71562         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
71563         * m4/mbrtowc.m4: Likewise.
71564
71565         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
71566         * m4/mbswidth.m4: Reflect name change:
71567         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
71568         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
71569
71570         * m4/lib-link.m4: Update from gettext-0.11.2.
71571         * m4/gettext.m4: Likewise.
71572
71573         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
71574         From Alfred M. Szmidt.
71575
71576 2002-06-18  Paul Eggert  <eggert@twinsun.com>
71577
71578         * lib/file-type.h: Report an error if neither S_ISREG nor
71579         S_IFREG is defined, instead of using a test specific to glibc
71580         2.2.  This should be safe, since POSIX requires S_ISREG and
71581         Unix Version 7 had S_IFREG.  We don't need to check for
71582         <sys/types.h> since we don't use any symbols that it defines.
71583
71584 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
71585
71586         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
71587         $@-t, so that each temporary file name is unique and valid in the first
71588         8 characters, for operation under DOS.
71589
71590 2002-06-15  Paul Eggert  <eggert@twinsun.com>
71591
71592         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
71593
71594 2002-06-15  Jim Meyering  <meyering@lucent.com>
71595
71596         Work even with DJGPP 2.03, which lacks support for symlinks.
71597         From Richard Dawe.
71598         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
71599         is defined.
71600         * lib/lchown.c (S_ISLNK): Likewise.
71601
71602 2002-06-15  Jim Meyering  <meyering@lucent.com>
71603
71604         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
71605         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
71606         have been included before this file.
71607
71608 2002-06-14  Jim Meyering  <meyering@lucent.com>
71609
71610         * lib/file-type.h: Use the version from diffutils-2.8.2.
71611         * lib/file-type.c: Likewise.
71612
71613 2002-06-07  Jim Meyering  <meyering@lucent.com>
71614
71615         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
71616         They're needed at least for NetBSD 1.5.2.
71617         ($statxfs_includes): Include those same headers.
71618         ($statxfs_includes): Include sys/vfs.h if available.
71619         ($statxfs_includes): Likewise for sys/statvfs.h.
71620         Check for the following members in both structs statfs and statvfs:
71621         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
71622
71623 2002-06-01  Jim Meyering  <meyering@lucent.com>
71624
71625         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
71626         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
71627
71628 2002-05-28  Jim Meyering  <meyering@lucent.com>
71629
71630         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
71631         Reported by Volker Borchert.
71632
71633 2002-05-27  Jim Meyering  <meyering@lucent.com>
71634
71635         Fix a problem seen only on nonconforming systems whereby ls.c's
71636         use of localtime, and then of gettimeofday would cause trouble:
71637         the localtime call used to initialize rpl_gettimeofday's save
71638         mechanism would clobber ls's current local time information so
71639         that in any long listing the first file would always be listed
71640         with date 1970-01-01.  Analysis by Volker Borchert.
71641
71642         * lib/gettimeofday.c (localtime): Undefine.
71643         (rpl_localtime): New function.
71644
71645 2002-05-27  Jim Meyering  <meyering@lucent.com>
71646
71647         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
71648         localtime.
71649
71650         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
71651         use the replacement function; it wouldn't resolve at link time.
71652         Reported by Volker Borchert.
71653
71654 2002-05-22  Jim Meyering  <meyering@lucent.com>
71655
71656         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
71657         file-type.h.
71658         * lib/file-type.h: New file.
71659         * lib/file-type.c (file_type): New file/function.  Extracted from
71660         diffutils.
71661
71662 2002-04-30  Jim Meyering  <meyering@lucent.com>
71663
71664         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
71665
71666 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71667
71668         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
71669
71670 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71671
71672         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
71673         Do not check for alloca.h (no longer used) or stdbool.h (was never
71674         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
71675
71676 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71677
71678         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
71679
71680 2002-04-29  Jim Meyering  <meyering@lucent.com>
71681
71682         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
71683         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
71684         Use AC_FUNC_STRNLEN here instead.
71685
71686         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
71687         With autoconf-2.53a, it's part of AC_PROG_CC.
71688
71689 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71690
71691         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
71692         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
71693
71694 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71695
71696         * lib/sig2str.h, lib/sig2str.c: New files.
71697         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
71698
71699 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71700
71701         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
71702         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
71703         of 127, since 64 is the largest conceivable number for ancient
71704         nonstandard hosts.
71705         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
71706
71707 2002-04-28  Jim Meyering  <meyering@lucent.com>
71708
71709         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
71710
71711 2002-04-24  Jim Meyering  <meyering@lucent.com>
71712
71713         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
71714         (jm_PREREQ): Use it.
71715
71716         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
71717         mach/mach.h fcntl.h.
71718         Check for this function: setlocale.
71719
71720 2002-04-24  Jim Meyering  <meyering@lucent.com>
71721
71722         * lib/gettext.h: New file, from Gettext.
71723         * lib/Makefile.am (INCLUDES): Remove -I../intl.
71724         (libfetish_a_SOURCES): Add gettext.h.
71725
71726 2002-04-16  Jim Meyering  <meyering@lucent.com>
71727
71728         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
71729         ut_pid, ut_id, ut_exit.
71730
71731 2002-04-16  Jim Meyering  <meyering@lucent.com>
71732
71733         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
71734         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
71735         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
71736
71737 2002-04-12  Jim Meyering  <meyering@lucent.com>
71738
71739         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
71740         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
71741         existence of the getmntinfo function.  Needed for Darwin 5.3.
71742
71743         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
71744         This is necessary at least on Darwin 5.3.
71745
71746         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
71747         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
71748         strnlen.o in the library, and that makes some versions of ranlib
71749         object.
71750
71751 2002-04-12  Jim Meyering  <meyering@lucent.com>
71752
71753         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
71754
71755 2002-04-09  Jim Meyering  <meyering@lucent.com>
71756
71757         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
71758         to be more precise.  Rather than saying we're checking whether the
71759         function `works', say what we're testing.
71760         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
71761         Reported by Bruno Haible.
71762
71763 2002-03-10  Jim Meyering  <meyering@lucent.com>
71764
71765         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
71766         Suggestion from Santiago Vila.
71767
71768 2002-03-08  Jim Meyering  <meyering@lucent.com>
71769
71770         * lib/rename.c: Mention that this wrapper is needed also on
71771         mips-dec-ultrix4.4 systems.
71772
71773 2002-03-02  Jim Meyering  <meyering@lucent.com>
71774
71775         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
71776         not HAVE_CLOCK_SETTIME.
71777
71778 2002-02-27  Paul Eggert  <eggert@twinsun.com>
71779
71780         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
71781         Check for clock_settime.
71782
71783 2002-02-27  Paul Eggert  <eggert@twinsun.com>
71784
71785         * lib/nanosleep.h: Rename to....
71786         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
71787
71788         * lib/gettime.c: New file.
71789         * lib/settime.c: New file.
71790         * lib/stime.c: Remove.
71791
71792         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
71793         timespec.h.  Remove nanosleep.h.
71794
71795 2002-02-25  Paul Eggert  <eggert@twinsun.com>
71796
71797         * m4/acl.m4: New file.
71798         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
71799         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
71800
71801 2002-02-25  Paul Eggert  <eggert@twinsun.com>
71802
71803         * lib/acl.c, lib/acl.h: New files.
71804         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
71805
71806 2002-02-24  Jim Meyering  <meyering@lucent.com>
71807
71808         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
71809         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
71810         cause trouble.  Reported by Nelson Beebe.
71811
71812 2002-02-23  Paul Eggert  <eggert@twinsun.com>
71813
71814         * lib/path-concat.c (xpath_concat): Reorder code to pacify
71815         compilers that don't know that xalloc_die never returns.
71816
71817 2002-02-20  Jim Meyering  <meyering@lucent.com>
71818
71819         * lib/getdate.c: Regenerate using bison-1.33.
71820
71821 2002-02-17  Jim Meyering  <meyering@lucent.com>
71822
71823         * config/config.guess (main): Don't use `head -1'; it's no longer
71824         portable. Use `sed 1q' instead.
71825
71826 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
71827
71828         * m4/codeset.m4: Upgrade to gettext-0.11.
71829         * m4/gettext.m4: Upgrade to gettext-0.11.
71830         * m4/glibc21.m4: Upgrade to gettext-0.11.
71831         * m4/iconv.m4: Upgrade to gettext-0.11.
71832         * m4/isc-posix.m4: Upgrade to gettext-0.11.
71833         * m4/lcmessage.m4: Upgrade to gettext-0.11.
71834         * m4/lib-ld.m4: New file, from gettext-0.11.
71835         * m4/lib-link.m4: New file, from gettext-0.11.
71836         * m4/lib-prefix.m4: New file, from gettext-0.11.
71837         * m4/progtest.m4: Upgrade to gettext-0.11.
71838
71839 2002-02-15  Paul Eggert  <eggert@twinsun.com>
71840
71841         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
71842         (jm_PREREQ): Use it.
71843
71844 2002-02-15  Paul Eggert  <eggert@twinsun.com>
71845
71846         * lib/posixver.c, lib/posixver.h: New files.
71847         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
71848
71849 2002-02-02  Paul Eggert  <eggert@twinsun.com>
71850             Bruno Haible  <bruno@clisp.org>
71851
71852         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
71853         (fwrite_success_callback): New declaration.
71854         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
71855         print_unicode_char. Call failure callback instead of error.
71856         (fwrite_success_callback): New function.
71857         (exit_failure_callback): New function.
71858         (fallback_failure_callback): New function.
71859         (print_unicode_char): Call unicode_to_mb.
71860
71861 2002-01-26  Jim Meyering  <meyering@lucent.com>
71862
71863         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
71864         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
71865
71866 2002-01-26  Jim Meyering  <meyering@lucent.com>
71867
71868         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
71869
71870 2002-01-22  Paul Eggert  <eggert@twinsun.com>
71871
71872         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
71873
71874 2002-01-22  Jim Meyering  <meyering@lucent.com>
71875
71876         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
71877         Otherwise, some versions of automake would omit the rule that makes
71878         Makefile from Makefile.in.
71879
71880 2002-01-21  Paul Eggert  <eggert@twinsun.com>
71881
71882         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
71883         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
71884         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
71885         (memcoll): Set errno to zero if there is no error.
71886
71887         * lib/quotearg.c (quotearg_buffer_restyled):
71888         Fix bug with quoting buffers containing NUL when backslashing escapes.
71889         This bug was exposed by the other changes in this patch.
71890         (quotearg_n_options): New arg ARGSIZE.
71891         All callers changed.
71892         (quoting_options_from_style): New function.
71893         (quotearg_n_style): Use it.
71894         (quotearg_n_style_mem): New function.
71895
71896         * lib/quotearg.h (quotearg_n_style_mem): New function.
71897
71898 2002-01-19  Jim Meyering  <meyering@lucent.com>
71899
71900         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
71901         Remove useless quotes: DF_PROG="df".
71902         * m4/strnlen.m4: New file.
71903
71904 2002-01-16  Paul Eggert  <eggert@twinsun.com>
71905
71906         * lib/backupfile.c (ISDIGIT): Comment fix.
71907         * lib/getdate.y (ISDIGIT): Likewise.
71908         * lib/posixtm.c (ISDIGIT, year): Likewise.
71909         * lib/strverscmp.c (ISDIGIT): Likewise.
71910         * lib/userspec.c (ISDIGIT): Likewise.
71911
71912 2002-01-16  Jim Meyering  <meyering@lucent.com>
71913
71914         * lib/getdate.y: Add three semicolons, each just before a closing
71915         brace. Bison (as of version 1.31) no longer papers over that mistake.
71916
71917 2002-01-05  Jim Meyering  <meyering@lucent.com>
71918
71919         * lib/version-etc.c (version_etc_copyright): Update copyright year.
71920
71921 2001-12-19  Paul Eggert  <eggert@twinsun.com>
71922
71923         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
71924         not silently exit merely because the output buffer happens to
71925         have nothing pending.
71926
71927 2001-12-18  Paul Eggert  <eggert@twinsun.com>
71928
71929         See the big note in ../ChangeLog.
71930         * lib/human.c (suffixes): Prefer K to k for 1024.
71931         (generate_suffix_backwards): New function.
71932         (human_readable_inexact): Use it.
71933         * lib/xstrtol.c (__xstrtol): If there is no number but there
71934         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
71935         Accept 'K' as well as 'k'.
71936
71937 2001-12-15  Jim Meyering  <meyering@lucent.com>
71938
71939         * lib/regex.h (__restrict_arr): Update from libc.
71940
71941         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
71942         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
71943         (STREQ): Define.
71944
71945 2001-12-14  Jim Meyering  <meyering@lucent.com>
71946
71947         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
71948         Suggestion from Bruno Haible.
71949
71950 2001-12-10  Jim Meyering  <meyering@lucent.com>
71951
71952         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
71953         xrealloc, Instead, include "xalloc.h".
71954         (initbuffer): Don't cast xmalloc return value to char*.
71955         (readline): Reword comment.
71956         Don't cast xrealloc return value to char*
71957         Return NULL, not 0.
71958
71959 2001-12-09  Jim Meyering  <meyering@lucent.com>
71960
71961         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
71962         about `signed and unsigned type in conditional expression'.
71963         * lib/posixtm.c (posix_time_parse): Likewise.
71964
71965         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
71966
71967         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
71968         to avoid a pedantic warning.
71969
71970         * lib/getstr.c: Don't include assert.h.
71971         (getstr): Remove warning-evoking assertions.
71972         Return -1 if offset parameter is out of bounds.
71973         Change the type of a local from int to size_t.
71974
71975         * lib/strftime.c (my_strftime_localtime_r): Include this function
71976         definition in the `#if ! HAVE_TM_GMTOFF' block.
71977
71978         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
71979         Include xalloc.h instead.
71980
71981 2001-12-02  Jim Meyering  <meyering@lucent.com>
71982
71983         * lib/tempname.c: Don't declare getenv, thus reverting the change of
71984         2001-11-18.  It's no longer necessary, now that stdlib.h is always
71985         included.
71986
71987         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
71988         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
71989
71990 2001-11-30  Akim Demaille  <akim@epita.fr>
71991
71992         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
71993         before being defined.
71994
71995 2001-11-27  Paul Eggert  <eggert@twinsun.com>
71996
71997         * lib/quotearg.h (quotearg_n, quotearg_n_style):
71998         First arg is int, not unsigned.
71999         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
72000         (SIZE_MAX, UINT_MAX): New macros.
72001         (quotearg_n_options): Abort if N is negative.
72002         Avoid overflow check on hosts where size_t is 64 bits and int
72003         is 32 bits, as overflow is impossible there.
72004         Fix off-by-one typo that caused unnecessary reallocation.
72005
72006 2001-11-27  Jim Meyering  <meyering@lucent.com>
72007
72008         * lib/tempname.c: Merge with version from libc.
72009         * lib/regex.c: Likewise.
72010
72011         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
72012         systems for which STDC_HEADERS is 0, it was not included, resulting in
72013         a warning about an integer-to-pointer conversion problem with getenv.
72014         Reported by Volker Borchert.
72015
72016 2001-11-26  Jim Meyering  <meyering@lucent.com>
72017
72018         * lib/gtod.h: Remove file.
72019         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
72020         * lib/gettimeofday.c: Don't include gtod.h.
72021         (GTOD_init): Remove function.
72022         (rpl_gettimeofday): Do its job here instead, rather than aborting.
72023         Suggestion from Volker Borchert.
72024
72025 2001-11-23  Jim Meyering  <meyering@lucent.com>
72026
72027         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
72028         it.
72029         * lib/hash.c (struct hash_table): Define it here instead.
72030
72031 2001-11-22  Jim Meyering  <meyering@lucent.com>
72032
72033         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
72034
72035 2001-11-20  Jim Meyering  <meyering@lucent.com>
72036
72037         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
72038         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
72039
72040 2001-11-19  Jim Meyering  <meyering@lucent.com>
72041
72042         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
72043         directory.  Use "conftestXXXXXX" as the template.
72044         Suggestion from Paul Eggert.
72045
72046         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
72047         immediately, so the test doesn't mistakenly hit the max-open-files
72048         limit.
72049
72050 2001-11-18  Paul Eggert  <eggert@twinsun.com>
72051
72052         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
72053         (TEMPORARIES): New macro.
72054         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
72055         removes an artificial limitation (e.g. HP-UX 10.20, where
72056         TMP_MAX is 17576).
72057
72058 2001-11-18  Jim Meyering  <meyering@lucent.com>
72059
72060         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
72061
72062 2001-11-18  Jim Meyering  <meyering@lucent.com>
72063
72064         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
72065         on SunOS 4.
72066
72067         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
72068         files will be created before anything else.
72069
72070 2001-11-17  Paul Eggert  <eggert@twinsun.com>
72071
72072         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
72073         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
72074
72075 2001-11-17  Jim Meyering  <meyering@lucent.com>
72076
72077         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
72078         Prompted by a report from Bob Proulx.
72079
72080         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
72081         Instead, require UTILS_FUNC_MKSTEMP.
72082
72083 2001-11-17  Jim Meyering  <meyering@lucent.com>
72084
72085         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
72086         Now, that's done as part of AC_FUNC_STRTOD.
72087
72088 2001-11-17  Jim Meyering  <meyering@lucent.com>
72089
72090         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
72091         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
72092         rather than group writable.  Patch by Juan F. Codagnone.
72093
72094         * lib/readtokens.c: Remove explicit declarations of xmalloc and
72095         xrealloc, Instead, include "xalloc.h".
72096
72097         * lib/mountlist.c: Include unlocked-io.h after all system headers.
72098         Remove explicit declarations of xmalloc, xrealloc,
72099         and xstrdup.  Instead, include "xalloc.h".
72100
72101         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
72102         unlocked-io.h.
72103         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
72104         Likewise.
72105         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
72106
72107         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
72108         Reported by Padraig Brady.
72109
72110         * lib/mkstemp.c: #undef mkstemp.
72111         Include config.h.
72112         (rpl_mkstemp): Rename from mkstemp.
72113         Protoize.
72114
72115 2001-11-16  Jim Meyering  <meyering@lucent.com>
72116
72117         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
72118         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
72119         determine the amount of total physical memory, use pstat_getstatic.
72120         HPUX-11 doesn't define _SC_PHYS_PAGES.
72121         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
72122         If sysconf couldn't be used to determine the amount of available
72123         physical memory, use both pstat_getstatic and pstat_getdynamic.
72124         Based on a patch from Bob Proulx.
72125
72126 2001-11-10  Jim Meyering  <meyering@lucent.com>
72127
72128         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
72129         (jm_PREREQ): Use it.
72130
72131 2001-11-09  Jim Meyering  <meyering@lucent.com>
72132
72133         * m4/jm-macros.m4: Require autoconf-2.52f.
72134         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
72135         Use these AC_-prefixed names, not the AM_-prefixed ones.
72136
72137         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
72138
72139 2001-11-05  Jim Meyering  <meyering@lucent.com>
72140
72141         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
72142
72143 2001-11-04  Jim Meyering  <meyering@lucent.com>
72144
72145         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
72146         $DEFS.
72147
72148 2001-11-03  Jim Meyering  <meyering@lucent.com>
72149
72150         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
72151         of AC_DEFUN.
72152
72153         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
72154         know the name of the variable in the macro definition.
72155
72156 2001-11-03  Jim Meyering  <meyering@lucent.com>
72157
72158         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
72159         in argmatch_to_argument call.
72160
72161         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
72162         argument.
72163
72164         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
72165         e.g., a fault due to an attempt to free a NULL pointer.
72166
72167 2001-11-01  Jim Meyering  <meyering@lucent.com>
72168
72169         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
72170         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
72171
72172 2001-11-01  Jim Meyering  <meyering@lucent.com>
72173
72174         * lib/dirfd.c, lib/dirfd.h: New files.
72175         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
72176
72177         * lib/hash.c (hash_print) [TESTING]: Clean up.
72178
72179 2001-10-22  Paul Eggert  <eggert@twinsun.com>
72180
72181         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
72182         to avoid a warning if -Wall.
72183
72184 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
72185
72186         * README: New file
72187         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
72188         (per RMS's instructions, this is now the canonical source)
72189         * lgpl/, gpl/: New directories.
72190
72191 2001-10-21  Paul Eggert  <eggert@twinsun.com>
72192
72193         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
72194
72195 2001-10-21  Jim Meyering  <meyering@lucent.com>
72196
72197         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
72198         this code would end up calling gettext even in packages built
72199         with --disable-nls.
72200         * lib/getopt.c (_): Likewise.
72201         * lib/regex.c (_): Likewise.
72202
72203 2001-10-20  Paul Eggert  <eggert@twinsun.com>
72204
72205         * m4/error.m4 (jm_PREREQ_ERROR):
72206         Do not invoke AC_CHECK_FUNCS with strerror_r, as
72207         AC_FUNC_STRERROR_R does that.
72208         Check for strerror declaration.
72209
72210         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
72211         are supposed to have them these days.
72212         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
72213         Merge changes from latest Autoconf CVS.
72214         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
72215         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
72216         POSIX decided to standardize on the int flavor of strerror_r.
72217
72218 2001-10-20  Paul Eggert  <eggert@twinsun.com>
72219
72220         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
72221         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
72222         Use strerror_r that is only a macro, even if it is not a function.
72223         (strerror): Check for HAVE_DECL_STRERROR before declaring.
72224         (private_strerror): Use prototypes, not old-style function definition.
72225         (print_errno_message): New function.
72226         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
72227         char*-flavored one.
72228         (error_tail, error, error_at_line): Use it.
72229
72230 2001-10-11  Jim Meyering  <meyering@lucent.com>
72231
72232         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
72233         and quote_n (1, ... to avoid clobbering a buffer.
72234
72235 2001-10-05  Jim Meyering  <meyering@lucent.com>
72236
72237         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
72238         hash-pjw.h.
72239         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
72240         * lib/hash-pjw.h: New file.
72241
72242 2001-09-30  Jim Meyering  <meyering@lucent.com>
72243
72244         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
72245         `struct fsstat' has the `f_fstypename' member.
72246         Use that to define FS_TYPE, which is now used to make
72247         the getfsstat link test tighter.
72248
72249 2001-09-30  Jim Meyering  <meyering@lucent.com>
72250
72251         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
72252         Include <sys/ucred.h>, for Apple Darwin.
72253         Include sys/mount.h and sys/fs_types.h only if available.
72254         (FS_TYPE): Define.
72255         (read_filesystem_list): Use FS_TYPE.
72256
72257 2001-09-29  Paul Eggert  <eggert@twinsun.com>
72258
72259         * lib/exclude.c (excluded_filename): 0 -> false, since it's
72260         a boolean context.
72261
72262 2001-09-29  Jim Meyering  <meyering@lucent.com>
72263
72264         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
72265         [one-argument getmntent function]): Include stdio.h before mntent.h.
72266         SunOS 4.1.x needs it for the declaration of `FILE'.
72267         Patch by Volker Borchert.
72268
72269         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
72270         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
72271         sys/fs_types.h, and make the link-test for getfsstat guard #include
72272         directives with appropriate #if HAVE_*_H tests so that we can
72273         detect getfsstat on Apple Darwin1.3.7 systems.
72274         Reported by Nelson Beebe.
72275         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
72276
72277 2001-09-28  Paul Eggert  <eggert@twinsun.com>
72278
72279         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
72280         #defines strtoimax.  Also treat the other strto* functions
72281         like strtoimax.
72282
72283         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
72284         Check for strtoul and strtoumax,
72285         as those declarations are made even in the signed case.
72286         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
72287         Likewise, for strtol and strtoimax.
72288
72289 2001-09-28  Paul Eggert  <eggert@twinsun.com>
72290
72291         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
72292         #defines strtoimax.  Also treat the other strto* functions
72293         like strtoimax.
72294
72295         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
72296         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
72297         (strtoimax, strtoumax): Do not declare if already defined as a macro.
72298
72299 2001-09-26  Jim Meyering  <meyering@lucent.com>
72300
72301         Most macros in unlocked-io.h had the wrong number of arguments.
72302         * lib/gen-uio: New script.
72303         (USE_UNLOCKED_IO): Define to 1 if not already defined.
72304         * lib/unlocked-io.hin: Remove file.
72305         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
72306         rather than trying to embed it here.
72307         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
72308         Reported by Padraig Brady.
72309
72310 2001-09-25  Volker Borchert  <bt@teknon.de>
72311
72312         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
72313         `result'.
72314
72315 2001-09-24  Jim Meyering  <meyering@lucent.com>
72316
72317         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
72318
72319 2001-09-23  Jim Meyering  <meyering@lucent.com>
72320
72321         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
72322         instead of the mere test for existence of mntent.h.  The latter
72323         would get a false-positive on AIX 3.4 systems.
72324         In the outer getmntent if-block, don't die if neither of the getmntent
72325         tests succeeds.  Instead, just fall through and continue with the
72326         remaining tests.
72327
72328 2001-09-23  Jim Meyering  <meyering@lucent.com>
72329
72330         * lib/mountlist.c: Remove useless parentheses in #if directives.
72331         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
72332         the deprecated MOUNTED symbol is no longer defined in mntent.h.
72333
72334 2001-09-22  Jim Meyering  <meyering@lucent.com>
72335
72336         * m4/gettext.m4: New file.  From gettext.
72337         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
72338         * m4/progtest.m4: Likewise
72339         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
72340         * m4/glibc21.m4: Likewise.
72341
72342         * m4/libintl.m4: Remove.  No longer used.
72343
72344 2001-09-22  Jim Meyering  <meyering@lucent.com>
72345
72346         * lib/localcharset.c: Update from latest gettext.
72347         * lib/config.charset: Likewise.
72348
72349 2001-09-20  Jim Meyering  <meyering@lucent.com>
72350
72351         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
72352         strtoimax.
72353         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
72354         strtoumax.
72355
72356 2001-09-20  Jim Meyering  <meyering@lucent.com>
72357
72358         * lib/xstrtol.c (strtoimax): Guard declaration with
72359         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
72360         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
72361         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
72362         (strtoumax): Likewise, for completeness (it wasn't necessary).
72363
72364 2001-09-17  Paul Eggert  <eggert@twinsun.com>
72365
72366         * lib/strtoimax.c (HAVE_LONG_LONG):
72367         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
72368         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
72369         to work around bug in IBM C compiler.
72370
72371 2001-09-17  Jim Meyering  <meyering@lucent.com>
72372
72373         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
72374         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
72375         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
72376         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
72377         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
72378         whenever the right hand side need not be expanded by the shell.
72379
72380 2001-09-16  Paul Eggert  <eggert@twinsun.com>
72381
72382         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
72383         library.  It's not correct, as some older glibcs are buggy.
72384         fnmatch wasn't fixed until glibc 2.2.
72385
72386         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
72387         special shell magic here.
72388
72389 2001-09-16  Jim Meyering  <meyering@lucent.com>
72390
72391         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
72392         * m4/jm-macros.m4: Require it.
72393
72394 2001-09-16  Jim Meyering  <meyering@lucent.com>
72395
72396         * lib/mkdir.c: New file.
72397
72398 2001-09-15  Jim Meyering  <meyering@lucent.com>
72399
72400         * m4/jm-macros.m4: Check for help2man.
72401
72402 2001-09-11  Jim Meyering  <meyering@lucent.com>
72403
72404         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
72405         The body, by Paul Eggert, was moved here from configure.in.
72406         * m4/jm-macros.m4: Require UTILS_HOST_OS.
72407
72408 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72409
72410         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
72411         (jm_PREREQ): Use it.
72412
72413 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72414
72415         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
72416         Use ssize_t, not int, to store result of readlink.
72417         Check for ssize_t overflow as well as size_t overflow,
72418         as POSIX says the result of readlink is implementation-defined
72419         when ssize_t overflows.
72420         Remove unnecessary cast to char*.
72421         Use free+malloc instead of realloc, as the storage doesn't need
72422         to be preserved and it's clearer and can be more efficient that way.
72423         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
72424         * lib/xreadlink.h (xreadlink): Update prototype.
72425
72426 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72427
72428         * lib/xgetcwd.c: Revert some of the previous change; intead,
72429         fix the HAVE_GETCWD_NULL code to behave more like the
72430         !HAVE_GETCWD_NULL code used to.
72431
72432         Include "xalloc.h".
72433         (xgetcwd): Do not return NULL when memory is exhausted; instead,
72434         invoke xalloc_die.
72435
72436 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72437
72438         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
72439         sys/param.h, as pathmax.h includes them.
72440
72441 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72442
72443         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
72444         (jm_PREREQ_XGETCWD): New macro.
72445
72446         * m4/getcwd.m4: New file.
72447
72448 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72449
72450         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
72451         like the HAVE_GETCWD_NULL code.
72452         Include pathmax.h if not HAVE_GETCWD.
72453         Do not include xalloc.h.
72454         (INITIAL_BUFFER_SIZE): New symbol.
72455         Do not use xmalloc / xrealloc, since the caller is responsible for
72456         handling errors.  Preserve errno around `free' during failure.
72457         Do not overrun buffer when using getwd.
72458
72459 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72460
72461         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
72462         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
72463         getcwd (NULL, 0).
72464
72465 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72466
72467         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
72468         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
72469         spotted by Jim Meyering.
72470
72471 2001-09-03  Jim Meyering  <meyering@lucent.com>
72472
72473         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
72474         failure.
72475
72476 2001-09-02  Jim Meyering  <meyering@lucent.com>
72477
72478         * lib/error.c: Update from GNU libc.
72479
72480 2001-09-01  Jim Meyering  <meyering@lucent.com>
72481
72482         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
72483         Used by df.
72484
72485 2001-09-01  Jim Meyering  <meyering@lucent.com>
72486
72487         * lib/xreadlink.c: New file.
72488         * lib/xreadlink.h: New file.
72489         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
72490         xreadlink.h.
72491
72492         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
72493         doesn't conflict with sparc Solaris 7's definition in
72494         /usr/include/sys/int_types.h.
72495
72496         * lib/exclude.c: Use `""', not `<>' to #include non-system header
72497         files.
72498         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
72499         and strncasecmp as r-values.  Unixware didn't have declarations.
72500
72501 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72502
72503         * lib/xstrtol.h: Add copyright notice.
72504         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
72505         LONGINT_INVALID_SUFFIX_CHAR.
72506
72507 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72508
72509         * lib/xstrtol.c (strtoimax): New decl.
72510
72511 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72512
72513         * lib/xgetcwd.c: Don't include pathmax.h.
72514         Include stdlib.h and unistd.h if available.
72515         Include xalloc.h.
72516         (xmalloc, xstrdup, free): Remove decls.
72517         (xgetcwd): Don't assume sizes fit in unsigned.
72518         Check for overflow when computing sizes.
72519         Simplify reallocation code.
72520
72521 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72522
72523         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
72524         a directory's st_size can have an arbitrary value, so the old
72525         usage could waste an arbitrary amount of memory.  All uses
72526         changed.
72527         * lib/savedir.h: Update prototype.
72528
72529 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72530
72531         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
72532
72533         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
72534         old strtoimax.c.
72535
72536         Also, make the following further changes to make this file's
72537         configuration more similar to that of strtol.c:
72538         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
72539         (strtoumax, uintmax_t, strtoull, strtol): Remove.
72540         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
72541         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
72542         changed to signed values.
72543
72544         And make the following changes as well:
72545         Fix copyright notice, as 1999 was missing.
72546         (verify): New macro.
72547         (strtoimax): Check sizes at compile-time, not run-time.
72548         Prefer strtol to strtoll if both work.
72549         (main): Remove; it was not that useful and was a pain to maintain.
72550
72551         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
72552
72553 2001-08-31  Jim Meyering  <meyering@lucent.com>
72554
72555         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
72556         Use an initial, malloc'd, buffer of length 128 rather than
72557         a statically allocated one of length 1024.
72558
72559 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72560
72561         Simplify code, partly by assuming autoconf 2.52 semantics.
72562
72563         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
72564
72565         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
72566         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
72567         All uses removed.
72568         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
72569         Move AC_REQUIRE to next-to-top level, to avoid confusion.
72570         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
72571         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
72572         jm_AC_HEADER_INTTYPES_H.
72573         * m4/jm-macros.m4 (jm_MACROS): Likewise.
72574
72575         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
72576
72577         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
72578         Quote first arg of AC_DEFUN.
72579         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
72580         since they are needed to parse the include file even if we need
72581         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
72582         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
72583         but with opposite signedness.
72584
72585 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72586
72587         Merge 'exclude' changes from tar 1.13.22.
72588         This fixes one or two unlikely storage allocation overflow bugs,
72589         but doesn't change user-visible behavior otherwise.
72590
72591 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72592
72593         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
72594         (jm_PREREQ_EXCLUDE): New macro.
72595
72596 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72597
72598         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
72599         tm to be declared.
72600
72601 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72602
72603         * lib/hash.c: Remove '2001' from copyright notice.
72604
72605 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72606
72607         * lib/full-write.h: New file.
72608         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
72609         * lib/full-write.c: Correct credits, as cccp.c no longer
72610         exists and anyway it was so heavily changed from the old cccp
72611         code as to be unrecognizable.  Include full-write.h.
72612         (full_write) Return size_t, with short writes meaning failure.
72613         All callers changed.  This fixes a bug with large buffers
72614         on 64-bit hosts.
72615         * lib/utime.c: Include full-write.h.
72616
72617 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72618
72619         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
72620         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
72621         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
72622         Include if available.
72623         (<xalloc.h>): Include
72624         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
72625         (verify): New macro.  Use it to verify that EXCLUDE macros do not
72626         collide with FNM macros.
72627         (struct patopts): New struct.
72628         (struct exclude): Use it, as exclude patterns now come with options.
72629         (new_exclude): Support above changes.
72630         (new_exclude, add_exclude_file):
72631         Initial size must now be a power of two to simplify overflow checking.
72632         (free_exclude, fnmatch_no_wildcards): New function.
72633         (excluded_filename): No longer requires options arg, as the options
72634         are determined by add_exclude.  Now returns bool, not int.
72635         (excluded_filename, add_exclude):
72636         Add support for the fancy new exclusion options.
72637         (add_exclude, add_exclude_file): Now takes int options arg.
72638         Check for arithmetic overflow when computing sizes.
72639         (add_exclude_file): xrealloc might modify errno, so don't
72640         realloc until after errno might be used.
72641
72642         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
72643         New macros.
72644         (free_exclude): New decl.
72645         (add_exclude, add_exclude_file): Now takes int options arg.
72646         (excluded_filename): No longer requires options arg, as the options
72647         are determined by add_exclude.  Now returns bool, not int.
72648
72649 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72650
72651         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
72652
72653 2001-08-27  Jim Meyering  <meyering@lucent.com>
72654
72655         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
72656
72657         * lib/version-etc.c (N_): Remove definition.
72658         Revert most of last change.
72659         Instead, simply don't mark the `Copyright...' string for translation.
72660         Based on advice from Paul Eggert.
72661
72662         * lib/strtoxmax.c: Tweak comment.
72663
72664 2001-08-26  Jim Meyering  <meyering@lucent.com>
72665
72666         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
72667
72668         * m4/xstrtoimax.m4: New file.
72669         * m4/xstrtoumax.m4: Add comments explaining why we
72670         AC_REPLACE_FUNCS(strtol).
72671
72672 2001-08-26  Jim Meyering  <meyering@lucent.com>
72673
72674         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
72675         of copyright with `%s' so translators don't get an untranslated
72676         message in 2002.
72677         (COPYRIGHT_YEAR): Define.
72678         (version_etc): Use fprintf rather than fputs.
72679         Suggestion from Ulrich Drepper.
72680
72681         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
72682
72683         * lib/strtoll.c: New file, from GNU libc.
72684         * lib/xstrtoimax.c: New file.
72685
72686         * lib/xstrtol.h: Add xstrtoimax.
72687         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
72688         * lib/strtoimax.c: New file.  Likewise, but first define
72689         STRTOUXMAX_SIGNED.
72690
72691         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
72692         ...
72693         * lib/strtoxmax.c: ... then renamed to this.
72694
72695 2001-08-18  Paul Eggert  <eggert@twinsun.com>
72696
72697         * m4/inttypes.m4: Add AC_PREREQ(2.13).
72698         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
72699         (jm_AC_TYPE_INTMAX_T): New macro.
72700         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
72701
72702         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
72703
72704         * m4/longlong.m4: Renamed from ulonglong.m4.
72705         * m4/inttypes.m4: Renamed from inttypes_h.m4.
72706         * m4/uintmax_t.m4: Removed.
72707
72708 2001-08-13  Paul Eggert  <eggert@twinsun.com>
72709
72710         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
72711         Port to Solaris 8, where 'sed' requires a space after the 'r'
72712         command, and where sh dislikes "$/".  Clean up the spacing a bit.
72713         Redirect output to $tmp just once.
72714
72715 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
72716
72717         * lib/addext.c (<errno.h>): Include.
72718         (errno): Declare if not defined.
72719         (addext): Work correctly when pathconf returns -1 and leaves
72720         errno alone because there is no limit.  Also, work even if
72721         pathconf returns a value greater than SIZE_MAX.
72722
72723 2001-08-12  Jim Meyering  <meyering@lucent.com>
72724
72725         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
72726         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
72727         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
72728         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
72729         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
72730         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
72731         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
72732         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
72733         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
72734         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
72735         utime.m4, utimes.m4, xstrtoumax.m4:
72736         Quote the first argument in each use of AC_DEFUN.
72737
72738 2001-08-12  Jim Meyering  <meyering@lucent.com>
72739
72740         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
72741         Simply `return getcwd (NULL, 0);'.
72742         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
72743         Use 1300 as initial value for length, not PATH_MAX.
72744
72745         * lib/pathmax.h: Clean up cpp syntax.
72746
72747 2001-08-12  Jim Meyering  <meyering@lucent.com>
72748
72749         * lib/gettimeofday.c: New file.
72750         * lib/gtod.h: New file.
72751         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
72752
72753 2001-08-05  Jim Meyering  <meyering@lucent.com>
72754
72755         * m4/jm-macros.m4: Require autoconf-2.52.
72756
72757 2001-08-04  Jim Meyering  <meyering@lucent.com>
72758
72759         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
72760         stmt, to get in sync with glibc.
72761
72762 2001-08-03  Paul Eggert  <eggert@twinsun.com>
72763
72764         The following changes are from gettext 0.10.39 as maintained by
72765         Bruno Haible.
72766
72767         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
72768         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
72769         with inverted sense.  All uses changed.
72770
72771         * lib/mbswidth.c: Don't include <limits.h>.
72772         Include <stdlib.h> and <string.h> unconditionally.
72773         (iswcntrl, mbsinit, ISCNTRL): New macros.
72774         (mbsnwidth): Use K&R style function declarations.
72775         Don't bother checking for MB_LEN_MAX == 1, since the compiler
72776         can optimize it when MB_CUR_MAX == 1.
72777         The width of control characters is zero, not 1.
72778
72779 2001-08-03  Paul Eggert  <eggert@twinsun.com>
72780
72781         The following changes are from gettext 0.10.39 as maintained by
72782         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
72783
72784         * m4/codeset.m4: Upgrade to serial AM1.
72785         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
72786         all uses changed.  Quote first arg of AC_DEFUN.
72787         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
72788
72789         * m4/iconv.m4: Upgrade to serial AM2.
72790         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
72791         Add --with-libconv-prefix.
72792         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
72793         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
72794         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
72795         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
72796         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
72797
72798         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
72799         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
72800         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
72801         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
72802         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
72803         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
72804         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
72805         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
72806         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
72807
72808         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
72809         string.h any more.
72810
72811         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
72812         not the default value.
72813
72814         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
72815         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
72816         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
72817         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
72818         Also check for iswcntrl, used for wcwidth fallback.
72819         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
72820         to Autoconf 2.13.
72821
72822 2001-08-03  Jim Meyering  <meyering@lucent.com>
72823
72824         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
72825         as it was in the original.  Reported by Paul Eggert.
72826
72827 2001-07-16  Jim Meyering  <meyering@lucent.com>
72828
72829         * m4/gettimeofday.m4: New file.
72830         Prompted by a report from Bernhard Baehr.
72831
72832 2001-07-15  Jim Meyering  <meyering@lucent.com>
72833
72834         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
72835         stuff. Now it's in ../Makefile.cfg.
72836
72837 2001-07-15  Jim Meyering  <meyering@lucent.com>
72838
72839         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
72840         (BUILT_SOURCES): Add unlocked-io.h.
72841         (io_functions): Define.
72842         (unlocked-io.h): New rule.
72843         (DISTCLEANFILES): Add unlocked-io.h.
72844         (all-local): Depend on unlocked-io.h, to ensure it is created.
72845
72846         * lib/unlocked-io.hin: New file
72847
72848         * lib/regex.c: Update from glibc.
72849
72850 2001-07-05  Jim Meyering  <meyering@lucent.com>
72851
72852         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
72853         recommendation.
72854         (libfetish_a_SOURCES): Put all .h files here instead.
72855         Remove a thus-exposed (better checks in automake) duplicate and
72856         two unnecessary .h files.
72857
72858 2001-07-04  Jim Meyering  <meyering@lucent.com>
72859
72860         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
72861         that generates jm-glibc-io.m4 so that it doesn't trigger any make
72862         distcheck failure.
72863
72864 2001-07-02  Jim Meyering  <meyering@lucent.com>
72865
72866         The following changes were prompted by suggestions from Bruno Haible.
72867
72868         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
72869         is now generated.
72870         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
72871         definition of EXTRA_DIST.
72872         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
72873         ensure that the generated file is created/updated whenever the list
72874         of $(unlocked_functions) is changed.
72875         (jm-glibc-io.m4): New rule.
72876         (unlocked-io.h): New rule -- currently unused.
72877
72878 2001-06-24  Jim Meyering  <meyering@lucent.com>
72879
72880         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
72881         unmatched right bracket, rather than kludging it with an extra,
72882         falsely-matching quote in a comment.  Patch by Akim Demaille.
72883
72884 2001-06-11  Jim Meyering  <meyering@lucent.com>
72885
72886         * lib/regex.c: Update from GNU libc.
72887
72888 2001-05-27  Jim Meyering  <meyering@lucent.com>
72889
72890         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
72891         Check for ut_type in struct utmp.
72892
72893 2001-05-27  Jim Meyering  <meyering@lucent.com>
72894
72895         * lib/readutmp.h (UT_TYPE): Define.
72896
72897 2001-05-24  Jim Meyering  <meyering@lucent.com>
72898
72899         * lib/argmatch.c: Include "quote.h".
72900         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
72901         quote function.  Reported by Göran Uddeborg.
72902
72903 2001-05-22  Jim Meyering  <meyering@lucent.com>
72904
72905         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
72906         now that we use the package-supplied version unconditionally.
72907         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
72908
72909 2001-05-21  Jim Meyering  <meyering@lucent.com>
72910
72911         * m4/regex.m4: Change a couple backticks to single quotes to avoid
72912         shell syntax errors.
72913
72914 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
72915
72916         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
72917
72918 2001-05-20  Paul Eggert  <eggert@twinsun.com>
72919
72920         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
72921         Don't bother to check library strftime, since
72922         we'll be using our own my_strftime function anyway.
72923         Define my_strftime instead of strftime.
72924
72925 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
72926
72927         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
72928         which is not yet declared.
72929
72930 2001-05-15  Jim Meyering  <meyering@lucent.com>
72931
72932         * m4/regex.m4: Use proper quoting so brackets appear in the test
72933         program.
72934         Reported by, and with help from, Bruno Haible.
72935
72936 2001-05-13  Jim Meyering  <meyering@lucent.com>
72937
72938         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
72939         undefined.
72940
72941 2001-05-11  Paul Eggert  <eggert@twinsun.com>
72942
72943         dirname code cleanup.  base_name now behaves more compatibly
72944         with POSIX basename when given file names that have trailing
72945         slashes, and similarly for dir_name.  Add new primitives
72946         base_len and dir_len.  Put the directory-name-related decls
72947         into dirname.h.
72948
72949         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
72950         * lib/backupfile.c (base_name): Likewise.
72951         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
72952         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
72953         * lib/makepath.c (strip_trailing_slashes): Likewise.
72954         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
72955         ISSLASH): Likewise.
72956         * lib/rename.c (strip_trailing_slashes): Likewise.
72957         * lib/same.c (base_name): Likewise.
72958         * lib/stripslash.c (ISSLASH): Likewise.
72959
72960         * lib/addext.c: Include <dirname.h> after size_t is defined.
72961         * lib/backupfile.c: Likewise.
72962
72963         * lib/addext.c (addext): Use base_len to trim redundant
72964         trailing slashes instead of doing it ourselves.
72965         But do not trim the last slash if it is not redundant.
72966
72967         * lib/backupfile.c (find_backup_file_name,
72968         max_backup_version): Use base_len instead of rolling it ourselves.
72969         Handle the case of "" and (on DOS) "C:" correctly.
72970
72971         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
72972         needed. Include <string.h>, <dirname.h>.
72973         (base_name): Allow file names ending in slashes, other than names
72974         that are all slashes.  In this case, return the basename followed
72975         by the slashes.  This is more general, and can be used in places
72976         where the original base_name purposely had an assertion failure.
72977         (base_len): New function.
72978
72979         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
72980         Do not include <assert.h>; no longer needed.
72981         Include xalloc.h.
72982         (memrchr): Remove decl.
72983         (dir_name_r): Remove.
72984         (dir_len): Renamed from dirlen.  All callers changed.
72985         Rewrite in terms of base_name, for simplicity and consistency.
72986         (dir_name): Never return NULL.  All callers changed.
72987         Do not include <stdlib.h> in test program; no longer needed.
72988         return 0; is fine for test program.
72989
72990         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
72991         New macros.
72992         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
72993
72994         * lib/path-concat.c (path_concat): Use base_len to compute
72995         base length, not strlen; this means we cannot rely on memcpy
72996         to null-terminate.
72997
72998         * lib/same.c (STREQ): Remove.
72999         (same_name): Handle the case where the basename ends in trailing '/'.
73000
73001         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
73002         a slash was stripped.  Do not strip the last slash after a
73003         file system prefix.
73004
73005 2001-05-11  Paul Eggert  <eggert@twinsun.com>
73006
73007         * lib/Makefile.am (libfetish_a_SOURCES):
73008         Add strftime.c, since we now compile it on all hosts.
73009
73010         * lib/strftime.c (my_strftime):
73011         Define to nstrftime if emacs, but only if my_strftime is not defined.
73012         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
73013         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
73014         Add one more extra argument: a nanoseconds value.
73015         All uses changed.
73016         (ns): New macro.
73017         (my_strftime function): Add %N format.
73018         (emacs_strftimeu): Renamed from emacs_strftime,
73019         with extra ut argument.
73020
73021 2001-05-09  Paul Eggert  <eggert@twinsun.com>
73022
73023         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
73024
73025 2001-04-21  Jim Meyering  <meyering@lucent.com>
73026
73027         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
73028         doesn't interfere.
73029
73030 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
73031
73032         * m4/ftruncate.m4: Check for chsize.
73033         Link with ftruncate.o unconditionally if ftruncate is missing.
73034         This was required when cross-compiling to i586-mingw32msvc.
73035
73036 2001-04-08  Jim Meyering  <meyering@lucent.com>
73037
73038         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
73039         recomputed; that's necessary when the offset spans a DST transition.
73040         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
73041
73042 2001-04-02  Jim Meyering  <meyering@lucent.com>
73043
73044         * lib/regex.h, regex.c: Update from GNU libc.
73045
73046 2001-03-24  Jim Meyering  <meyering@lucent.com>
73047
73048         * m4/jm-macros.m4: Require autoconf-2.49d.
73049
73050 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
73051
73052         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
73053
73054 2001-03-19  Paul Eggert  <eggert@twinsun.com>
73055
73056         * lib/version-etc.c (version_etc_copyright): Update to 2001.
73057
73058 2001-03-17  Jim Meyering  <meyering@lucent.com>
73059
73060         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
73061         now that the version in autoconf is equivalent.
73062         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
73063
73064         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
73065         Suggestion from Akim Demaille.
73066
73067         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
73068         (jm_PREREQ_TEMPNAME): New function.
73069
73070 2001-03-16  Paul Eggert  <eggert@twinsun.com>
73071
73072         * lib/tempname.c (uint64_t): Define to uintmax_t if
73073         not defined, and if UINT64_MAX is not defined.
73074         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
73075         Reported by John David Anglin.
73076
73077 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
73078
73079         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
73080         resolve alias if codeset is empty.
73081         * lib/config.charset (BeOS): Use wildcard syntax.
73082
73083 2001-03-13  Jim Meyering  <meyering@lucent.com>
73084
73085         * lib/path-concat.c (path_concat)
73086         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
73087         concatenating e.g., `C:' and `foo'.
73088         From Bruno Haible.
73089
73090 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
73091
73092         * lib/localcharset.c (locale_charset): Don't use
73093         setlocale(LC_CTYPE,NULL). Don't return NULL.
73094         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
73095
73096 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
73097
73098         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
73099         support for DOS/DJGPP.
73100
73101 2001-03-01  Paul Eggert  <eggert@twinsun.com>
73102
73103         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
73104         lacks mkstemp.  Compile our own tempname.c if we compile our own
73105         mkstemp.c, as mkstemp relies on tempname.
73106
73107 2001-03-01  Jim Meyering  <meyering@lucent.com>
73108
73109         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
73110         AH_VERBATIM really does output its argument verbatim.
73111
73112 2001-02-28  Paul Eggert  <eggert@twinsun.com>
73113
73114         * lib/Makefile.am (libfetish_a_SOURCES):
73115         Add dup-safer.c, fopen-safer.c.
73116         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
73117
73118         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
73119         * lib/unistd-safer.h: New files.
73120
73121 2001-02-25  Paul Eggert  <eggert@twinsun.com>
73122
73123         The mkstemp replacement is taken from glibc 2.2.2, with some
73124         portability fixes for use outside glibc, as follows:
73125
73126         * lib/tempname.c (struct_stat64): New macro.
73127         (direxists, __gen_tempname): Use it.
73128         This avoids a portability problem with Solaris 8.
73129
73130         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
73131         (<stddef.h>, <stdint.h>, <string.h>):
73132         Include only if STDC_HEADERS || _LIBC.
73133         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
73134         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
73135         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
73136         (__set_errno): Define this macro if <errno.h> doesn't.
73137         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
73138         Define these macros if <stdio.h> doesn't.
73139         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
73140         Define these macros if <sys/stat.h>
73141         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
73142         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
73143         __xstat64): Define if not _LIBC.
73144         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
73145         (__gen_tempname): Invoke gettimeofday only if
73146         HAVE_GETTIMEOFDAY || _LIBC;
73147         otherwise, fall back on plain "time".
73148         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
73149
73150         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
73151
73152         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
73153
73154 2001-02-18  Paul Eggert  <eggert@twinsun.com>
73155
73156         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
73157
73158 2001-02-17  Paul Eggert  <eggert@twinsun.com>
73159
73160         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
73161         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
73162         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
73163         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73164
73165 2001-02-17  Paul Eggert  <eggert@twinsun.com>
73166
73167         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
73168         Remove workaround macros for hosts that have mbrtowc but not
73169         mbstate_t, as we now insist on proper declarations for both
73170         before using mbrtowc.
73171
73172 2001-02-17  Jim Meyering  <meyering@lucent.com>
73173
73174         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
73175         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
73176         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
73177         UnixWare 7.1.1.
73178
73179         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
73180         rather than AC_CACHE_VAL.
73181
73182 2001-02-17  Jim Meyering  <meyering@lucent.com>
73183
73184         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
73185         around included file name.
73186
73187         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
73188
73189         * lib/strftime.c: Update from GNU libc (the only changes were to
73190         comments).
73191
73192 2001-02-17  Jim Meyering  <meyering@lucent.com>
73193
73194         * lib/regex.c: Update from libc.
73195
73196 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
73197
73198         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
73199         clash.
73200
73201 2001-02-16  Paul Eggert  <eggert@twinsun.com>
73202
73203         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
73204         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
73205         Reported by Mark Hounschell via Paul Eggert.
73206
73207 2001-02-07  Jim Meyering  <meyering@lucent.com>
73208
73209         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
73210
73211 2001-02-05  Jim Meyering  <meyering@lucent.com>
73212
73213         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
73214         it includes the patch required for `large file' support with at least
73215         HP-UX's 10.20 /bin/cc.
73216
73217 2001-02-03  Jim Meyering  <meyering@lucent.com>
73218
73219         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
73220         AS_IF, now that it works once again (mysteriously).
73221         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
73222
73223 2001-01-30  Jim Meyering  <meyering@lucent.com>
73224
73225         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
73226         * m4/chown.m4: Rename conftestchown to conftest.chown.
73227         * m4/rename.m4: s/conftestdir/conftest.d1/ and
73228         s/conftestdir2/conftest.d2/.
73229         * m4/utimes.m4: s/conftestdata/conftest.data/
73230         Inspired by Pavel Roskin's change in autoconf.
73231
73232 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
73233
73234         * lib/config.charset: Update for FreeBSD 4.2.
73235
73236 2001-01-27  Jim Meyering  <meyering@lucent.com>
73237
73238         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
73239         a use of AS_IF.
73240         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
73241
73242 2001-01-26  Jim Meyering  <meyering@lucent.com>
73243
73244         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
73245         quotearg.c includes it.
73246
73247 2001-01-26  Jim Meyering  <meyering@lucent.com>
73248
73249         * lib/quotearg.c: Include stddef.h.
73250         * lib/quote.c: Include stddef.h.
73251         Reported by Axel Kittenberger.
73252
73253         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
73254         line in double quotes so that it evokes a better diagnostic.
73255         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
73256         Reported by Axel Kittenberger.
73257
73258 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
73259
73260         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
73261         as if it was a `charset'.
73262
73263 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
73264
73265         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
73266         has const.
73267
73268 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
73269
73270         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
73271         to avoid a warning.  Add back 'const' to inptr.
73272
73273 2001-01-20  Jim Meyering  <meyering@lucent.com>
73274
73275         Be sure that headers are checked before used in code compiled
73276         for the type checks.
73277         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
73278         In place of that, invoke jm_CHECK_ALL_TYPES.
73279         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
73280         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
73281         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
73282         The check for ssize_t was mistakenly run before the test for unistd.h.
73283
73284         The configure-time check for stdbool.h was missing.
73285         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
73286         (jm_PREREQ_HASH): New function.
73287
73288 2001-01-17  Jim Meyering  <meyering@lucent.com>
73289
73290         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
73291         for autoconf-2.49c.
73292         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
73293
73294 2001-01-16  Jim Meyering  <meyering@lucent.com>
73295
73296         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
73297         From Bruno Haible.
73298
73299 2001-01-14  Jim Meyering  <meyering@lucent.com>
73300
73301         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
73302         foo and bar.  Create conftestdir/ in the script, not in the C code.
73303         Remove directories in the script, not in the C code.
73304         Remove conftestdir{,2} before trying to create the directory.
73305         Make the entire configure script fail if the mkdir fails.
73306
73307 2001-01-14  Jim Meyering  <meyering@lucent.com>
73308
73309         * lib/rename.c: New file.  From Volker Borchert.
73310         Include stdlib.h, string.h or strings.h, and xalloc.h.
73311         Use strip_trailing_slashes rather than open-coding it.
73312
73313 2001-01-03  Paul Eggert  <eggert@twinsun.com>
73314
73315         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
73316
73317 2001-01-03  Jim Meyering  <meyering@lucent.com>
73318
73319         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
73320         of local `inptr' to avoid warning with some system declarations of
73321         iconv.
73322
73323 2001-01-02  Volker Borchert  <bt@teknon.de>
73324
73325         * m4/rename.m4: New file.
73326         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
73327
73328 2001-01-01  Jim Meyering  <meyering@lucent.com>
73329
73330         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
73331         even on systems with utmpx.h.  It's necessary for the declaration of
73332         utmp's ut_user member.  Reported by Andreas Jaeger.
73333
73334         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
73335         available. They are required for the declarations of getgrgid and
73336         getpwuid resp.
73337         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
73338         Reported by Andreas Jaeger.
73339
73340 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
73341
73342         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
73343         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
73344         so `make install' also works in VPATH builds.
73345
73346 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
73347
73348         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
73349         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
73350         can be used in subdirectories.
73351
73352 2000-12-29  Paul Eggert  <eggert@twinsun.com>
73353
73354         * lib/modechange.c: Do not assume that mode_t uses the
73355         traditional octal encoding.  E.g. "chmod 1 FOO" should set
73356         the other-execute bit of FOO even if S_IXOTH != 1.
73357
73358         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
73359         WOTH, XOTH, ALLM): New macros.
73360         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
73361          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
73362         Use them.
73363         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
73364         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
73365         (mode_compile):
73366         No need to use uintmax_t; unsigned long is long enough.
73367         Don't bother to get suffix since we don't use it.
73368
73369 2000-12-26  Jim Meyering  <meyering@lucent.com>
73370
73371         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
73372         better with autoheader.
73373
73374 2000-12-24  Jim Meyering  <meyering@lucent.com>
73375
73376         * lib/hash.c (is_prime): Return explicit boolean values.
73377         (hash_get_first): Return NULL to appease Irix5.6's 89.
73378         Reported by Nelson Beebe.
73379
73380 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
73381
73382         * lib/localcharset.c (locale_charset): Add support for Win32.
73383
73384 2000-12-18  Paul Eggert  <eggert@twinsun.com>
73385
73386         * lib/physmem.h, lib/physmem.c: New files.
73387
73388         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
73389         (noinst_HEADERS): Add physmem.h.
73390
73391         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
73392         't' for compatibility with Solaris 8 sort.
73393
73394 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
73395
73396         * lib/config.charset: Add support for BeOS.
73397
73398 2000-12-17  Jim Meyering  <meyering@lucent.com>
73399
73400         * m4/dos.m4 (jm_AC_DOS): New file and macro.
73401         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
73402
73403 2000-12-16  Jim Meyering  <meyering@lucent.com>
73404
73405         This bug had a serious impact on chown: `chown N:M FILE' (for integer
73406         N and M) would have treated it like `chown N:N FILE'.
73407
73408         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
73409
73410 2000-12-16  Jim Meyering  <meyering@lucent.com>
73411
73412         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
73413         SHELLS_FILE to a file name that's useful on djgpp systems.
73414         Include stdlib.h.
73415         (ADDITIONAL_DEFAULT_SHELLS): Define.
73416         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
73417         Based mostly on a patch from Prashant TR.
73418
73419 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
73420
73421         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
73422         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
73423         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
73424
73425 2000-12-08  Andreas Schwab  <schwab@suse.de>
73426
73427         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
73428         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
73429
73430 2000-12-07  Jim Meyering  <meyering@lucent.com>
73431
73432         * lib/stripslash.c (ISSLASH): Define.
73433         (strip_trailing_slashes): Use ISSLASH rather than comparing against
73434         `/'.
73435         From Prashant TR.
73436
73437         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
73438         (dir_name_r): Declare this function as static.
73439         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
73440         manifest itself on a name containing a mix of slashes and
73441         backslashes.
73442         Make this function work with names starting with a DOS-style
73443         drive letter and colon prefix.
73444         (dir_name): Append `.' if necessary.
73445         Based mostly on patches from Prashant TR and Eli Zaretskii.
73446
73447         * lib/dirname.h (dir_name_r): Remove prototype.
73448
73449 2000-12-06  Paul Eggert  <eggert@twinsun.com>
73450
73451         * m4/off_t-format.m4: Remove this file.
73452         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
73453
73454 2000-12-06  Jim Meyering  <meyering@lucent.com>
73455
73456         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
73457         replacement strtoull, we may well need the replacement strtoul, too.
73458         Check for declarations of strtoul and strtoull.
73459         Check for strtol.  Mainly as a cue to cause automake to include
73460         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
73461         Check for limits.h -- strtol.c needs it.
73462
73463 2000-12-05  Jim Meyering  <meyering@lucent.com>
73464
73465         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
73466
73467 2000-12-04  Jim Meyering  <meyering@lucent.com>
73468
73469         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
73470         Also include memory.h, stdlib.h, unistd.h if appropriate.
73471         Reported by Andreas Jaeger (conflicting declaration of malloc).
73472
73473 2000-12-02  Jim Meyering  <meyering@lucent.com>
73474
73475         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
73476         * m4/jm-macros.m4 (jm_MACROS): require it.
73477
73478 2000-12-02  Jim Meyering  <meyering@lucent.com>
73479
73480         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
73481
73482 2000-12-01  Paul Eggert  <eggert@twinsun.com>
73483
73484         * lib/memrchr.c: Include <config.h> before any system include file.
73485
73486 2000-11-30  Jim Meyering  <meyering@lucent.com>
73487
73488         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
73489
73490 2000-11-30  Jim Meyering  <meyering@lucent.com>
73491
73492         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
73493
73494 2000-11-29  Paul Eggert  <eggert@twinsun.com>
73495
73496         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
73497
73498 2000-11-26  Jim Meyering  <meyering@lucent.com>
73499
73500         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
73501
73502 2000-11-22  Paul Eggert  <eggert@twinsun.com>
73503
73504         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
73505         size of (size_t) -1; it's not portable.
73506
73507 2000-11-17  Jim Meyering  <meyering@lucent.com>
73508
73509         * lib/strstr.c: Update from GNU libc.
73510
73511 2000-11-17  Akim Demaille  <akim@epita.fr>
73512
73513         * lib/obstack.h: Formatting changes.
73514         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
73515         prevent type checking.
73516         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
73517         cast the value to (void *): assigning a `foo *' to a `void *'
73518         variable is valid.
73519         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
73520
73521 2000-11-16  Jim Meyering  <meyering@lucent.com>
73522
73523         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
73524
73525 2000-11-11  Jim Meyering  <meyering@lucent.com>
73526
73527         * lib/error.c: Add a couple #includes, merging from GNU libc version.
73528
73529 2000-11-10  Jim Meyering  <meyering@lucent.com>
73530
73531         * lib/obstack.h: Update from GNU libc.
73532         * lib/obstack.c: Likewise.
73533
73534 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
73535
73536         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
73537
73538 2000-11-06  Paul Eggert  <eggert@twinsun.com>
73539
73540         * lib/getusershell.c (setusershell): Use rewind rather than
73541         fseek/fseeko, to avoid configuration hassles with fseeko.
73542         Don't bother opening SHELLS_FILE if shellstream is NULL;
73543         it's not necessary.
73544
73545 2000-11-05  Jim Meyering  <meyering@lucent.com>
73546
73547         * lib/makepath.h (make_dir): Declare.
73548         * lib/makepath.c (make_dir): Remove `static' attribute.
73549         Tweak a comment.
73550
73551 2000-11-04  Jim Meyering  <meyering@lucent.com>
73552
73553         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
73554
73555 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
73556
73557         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
73558         last one in a bucket, advance to the next bucket.
73559
73560 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
73561
73562         * lib/fnmatch.c: Do not comment out all the code if we are using
73563         the GNU C library, because in some cases we are replacing buggy
73564         code in the GNU C library itself.
73565
73566 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
73567
73568         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
73569         (regex_compile): Catch bogus \(\1\).
73570
73571 2000-10-30  Paul Eggert  <eggert@twinsun.com>
73572
73573         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
73574         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
73575         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
73576
73577 2000-10-30  Paul Eggert  <eggert@twinsun.com>
73578
73579         * lib/error.h, getline.h, modechange.h:
73580         Remove "2000" from Copyright line, as the file hasn't been
73581         changed this year other than in the copyright notice.
73582
73583         * lib/xalloc.h: Add "2000" to Copyright line, as this file
73584         was changed this year.
73585
73586 2000-10-29  Jim Meyering  <meyering@lucent.com>
73587
73588         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
73589         renaming.
73590         * m4/ls-mntd-fs.m4: Likewise
73591
73592 2000-10-29  Jim Meyering  <meyering@lucent.com>
73593
73594         * lib/xstat.in: Fix grammar in comment.
73595
73596 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
73597
73598         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
73599         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
73600         doesn't define __restrict_arr.
73601
73602 2000-10-28  Jim Meyering  <meyering@lucent.com>
73603
73604         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
73605         (jm_PREREQ_MEMCHR): New function.
73606
73607 2000-10-28  Jim Meyering  <meyering@lucent.com>
73608
73609         * lib/memchr.c: Update from libc.
73610         Adjust for portability:
73611         [HAVE_STDLIB_H]: Include stdlib.h.
73612         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
73613         Undef __memchr, too.
73614         [!weak_alias]: Define __memchr to memchr.
73615
73616         * lib/regex.c: Update from libc.
73617         * lib/regex.h: Likewise.
73618         * lib/getopt1.c: Likewise.
73619         * lib/memcmp.c: Likewise.
73620
73621         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
73622         Avoid using fseek, when possible -- it's broken by design.
73623         Patch by Ulrich Drepper.
73624
73625 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
73626
73627         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
73628         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
73629         Giving in to popular pressure to shut up the compiler with casts.
73630
73631 2000-10-26  Jim Meyering  <meyering@lucent.com>
73632
73633         * lib/strftime.c: Update from libc.
73634
73635 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
73636
73637         * regex.c: More `unsigned char' -> `re_char' changes.
73638         Also change several `int' into `re_wchar_t'.
73639         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
73640         (PUSH_FAILURE_POINTER): Don't cast any more.
73641         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
73642         We want GCC to complain, since this piece of code makes
73643         re_match non-reentrant, which *should* be fixed.
73644         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
73645         (EXTEND_BUFFER): Use RETALLOC.
73646         (SET_LIST_BIT): Don't cast.
73647         (re_wchar_t): New type.
73648         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
73649         that those two functions will always properly return.
73650         (IMMEDIATE_QUIT_CHECK): Cast to void.
73651         (analyse_first): Use recursion rather than an explicit stack.
73652         (re_compile_fastmap): Can't fail anymore.
73653         (re_search_2): Don't check re_compile_fastmap for failure.
73654         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
73655         Now also sets the new value (passed in a new argument).
73656         (re_match_2_internal): Use it.
73657         Also, use a new var `reg' of type size_t when looping through regs
73658         rather than reuse the inappropriate `mcnt'.
73659
73660 2000-10-25  Jim Meyering  <meyering@lucent.com>
73661
73662         * lib/obstack.c: Update from libc.
73663
73664 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
73665
73666         * regex.c (regex_compile): Change the way of handling a range from
73667         a char less than 256 to a char not less than 256.
73668
73669 2000-10-24  Andrew Innes  <andrewi@gnu.org>
73670
73671         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
73672         NT-Emacs only.
73673         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
73674         so that re_search functions only quit when callers expect them to.
73675
73676 2000-10-23  Jim Meyering  <meyering@lucent.com>
73677
73678         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
73679         wrong.  That set_locale call must not have any side effects.
73680         From Paul Eggert.
73681
73682 2000-10-22  Jim Meyering  <meyering@lucent.com>
73683
73684         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
73685         [CYCLIC]: Remove now-unused definition.
73686
73687         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
73688         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
73689         Suggestion from Ulrich Drepper.
73690
73691 2000-10-21  Jim Meyering  <meyering@lucent.com>
73692
73693         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
73694         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
73695         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
73696
73697 2000-10-21  Jim Meyering  <meyering@lucent.com>
73698
73699         * lib/dirname.c (memrchr): Declare if necessary.
73700         (dir_name): Remove the restriction that there be no
73701         trailing slashes.  Now, this code skips past them, effectively
73702         ignoring them.
73703         [TEST_DIRNAME] (main): New unit tests.
73704
73705         * lib/memrchr.c: New file from GNU libc.
73706         Undef __memrchr, too.
73707         [!weak_alias]: Define __memrchr to memrchr.
73708         Guard weak_alias use with `#ifdef weak_alias'.
73709
73710 2000-10-21  Jim Meyering  <meyering@lucent.com>
73711
73712         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
73713         (dir_name): Use dir_name_r.
73714         * lib/dirname.h (dir_name_r): Declare it.
73715
73716 2000-10-17  Jim Meyering  <meyering@lucent.com>
73717
73718         * lib/quote.h (PARAMS): Define and use.
73719         Reported by Akim Demaille.
73720
73721         * lib/getopt.c: Update from libc.
73722
73723 2000-10-16  Jim Meyering  <meyering@lucent.com>
73724
73725         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
73726         setlocale.
73727         From Jan Fedak.
73728
73729 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
73730
73731         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
73732
73733 2000-09-25  Jim Meyering  <meyering@lucent.com>
73734
73735         * lib/md5.h (rol): Define (from GnuPG).
73736
73737         * lib/sha.c: Give credit (GnuPG) where due.
73738         (M): Use rol rather than open-coding it.
73739         Add a FIXME comment.
73740
73741 2000-09-21  Jim Meyering  <meyering@lucent.com>
73742
73743         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
73744         Reported by Michael Stone.
73745
73746 2000-09-20  Jim Meyering  <meyering@lucent.com>
73747
73748         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
73749         (noinst_HEADERS): Add sha.h.
73750         Based on code from Scott G. Miller and from GnuPG.
73751
73752 2000-09-18  Jim Meyering  <meyering@lucent.com>
73753
73754         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
73755         LIBS. Otherwise, everyone ends up linking with -lelf for some
73756         configurations.
73757         Reported by Mike Stone.
73758
73759 2000-09-15  Jim Meyering  <meyering@lucent.com>
73760
73761         * lib/regex.c: Update from libc.
73762
73763 2000-09-10  Jim Meyering  <meyering@lucent.com>
73764
73765         * lib/getopt.c (_getopt_internal): Update from glibc.
73766
73767 2000-09-09  Jim Meyering  <meyering@lucent.com>
73768
73769         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
73770         think it should be used as a general replacement for isascii.
73771         * lib/fnmatch.c: Likewise.
73772         * lib/mbswidth.c: Likewise
73773         * lib/regex.c: Likewise.
73774
73775         Don't use atoi.
73776         * lib/userspec.c: Include sys/param.h and limits.h.
73777         Include xstrtol.h.
73778         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73779         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
73780         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
73781         UID, GID.  Check range.
73782
73783 2000-09-06  Jim Meyering  <meyering@lucent.com>
73784
73785         * lib/getopt.c (_getopt_internal): Update from glibc.
73786
73787 2000-08-30  Jim Meyering  <meyering@lucent.com>
73788
73789         * lib/strftime.c: Merge in changes from GNU libc.
73790
73791 2000-08-26  Jim Meyering  <meyering@lucent.com>
73792
73793         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
73794         * m4/fpending.m4: New file.
73795
73796 2000-08-26  Jim Meyering  <meyering@lucent.com>
73797
73798         * lib/closeout.c: Include "__fpending.h".
73799         (close_stdout_status): Return right away if there's nothing to flush.
73800
73801         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
73802         * lib/__fpending.c: New file.
73803         * lib/__fpending.h: New file.
73804
73805 2000-08-20  Jim Meyering  <meyering@lucent.com>
73806
73807         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
73808         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
73809         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
73810
73811 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
73812
73813         Improve fileutils installation on systems where running
73814         programs (like install) can't be unlinked.
73815         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
73816         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
73817
73818 2000-08-07  Paul Eggert  <eggert@twinsun.com>
73819
73820         Standardize on "memory exhausted" instead of "Memory exhausted"
73821         or "virtual memory exhausted".
73822         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
73823         "virtual memory exhausted".
73824         * lib/same.c (same_name): Invoke xalloc_die instead of printing
73825         our own message.
73826         * lib/userspec.c (parse_user_spec): Likewise.
73827         * lib/bumpalloc.h: comment fix
73828         * lib/same.c, userspec.c: Include xalloc.h.
73829
73830         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
73831         not char *const and pointing to a constant array.
73832         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
73833         (xrealloc): Comment fix.
73834
73835         * lib/userspec.c (parse_user_spec):
73836         Don't translate a message until just before returning,
73837         to avoid unnecessary translation.
73838
73839 2000-08-07  Jim Meyering  <meyering@lucent.com>
73840
73841         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
73842         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
73843         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
73844         getgroups.c, gethostname.c, getopt.h, group-member.c,
73845         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
73846         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
73847         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
73848         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
73849         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
73850         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
73851         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
73852         yesno.c: Back out Copyright date changes for each file with no change
73853         this year.  This eases coordination with other programs using the same
73854         source code modules.  From Paul Eggert.
73855
73856 2000-08-06  Paul Eggert  <eggert@twinsun.com>
73857
73858         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
73859         not char, for compatibility with glibc 2.1.3 strftime.c.
73860
73861 2000-08-03  Greg McGary  <greg@mcgary.org>
73862
73863         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
73864         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
73865         (EXTEND_BUFFER): Use them.
73866
73867 2000-08-01  Jim Meyering  <meyering@lucent.com>
73868
73869         * lib/dirname.c (ISSLASH): Define.
73870         (BACKSLASH_IS_PATH_SEPARATOR): Define.
73871         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
73872         both `\' and `/' may be use as path separators.
73873         Based on a patch from Prashant TR.
73874
73875 2000-07-31  Paul Eggert  <eggert@twinsun.com>
73876
73877         * lib/quotearg.c (quotearg_n_options): Don't make the initial
73878         slot vector a constant, since it might get modified.
73879
73880 2000-07-31  Jim Meyering  <meyering@lucent.com>
73881
73882         * lib/xmalloc.c: Use `virtual memory exhausted', not
73883         `Memory exhausted'.
73884         * lib/obstack.c (print_and_abort): Likewise.
73885
73886 2000-07-30  Paul Eggert  <eggert@twinsun.com>
73887
73888         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
73889         buffer, so that the caller can always quote one small
73890         component of a "memory exhausted" message in slot 0.
73891         From a suggestion by Jim Meyering.
73892
73893 2000-07-30  Jim Meyering  <meyering@lucent.com>
73894
73895         * lib/makepath.c (make_path): Quote the other instance, too.
73896
73897         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
73898         (STATIC_BUF_SIZE): Define.
73899         (quotearg_n_options): Use only statically allocated storage when
73900         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
73901         than STATIC_BUF_SIZE.
73902
73903 2000-07-29  Jim Meyering  <meyering@lucent.com>
73904
73905         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
73906         * lib/dirname.c (dir_name): Likewise.
73907
73908         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
73909         `/'.
73910
73911         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
73912         (dir_name): Assert that there are no trailing slashes.
73913
73914 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
73915
73916         * lib/mbswidth.h (mbswidth): Add a flags argument.
73917         (mbswidth): New declaration.
73918         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
73919         * lib/mbswidth.c (mbswidth): Add a flags argument.
73920         (mbsnwidth): New function.
73921
73922 2000-07-24  Jim Meyering  <meyering@lucent.com>
73923
73924         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
73925
73926 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73927
73928         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
73929
73930 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73931
73932         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
73933         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
73934         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
73935         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
73936         invoke multibyte primitives.
73937
73938 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73939
73940         * lib/quotearg.c:
73941         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
73942         so that mbstate_t is always defined.
73943
73944         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
73945         be 1 in at least one GCC installation, and this configuration
73946         error is likely to be common.  Ignoring MB_LEN_MAX hurts
73947         performance on hosts that have mbrtowc but have only unibyte
73948         locales, but I assume these hosts are rare.
73949
73950 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73951
73952         * lib/mbswidth.c (_XOPEN_SOURCE):
73953         Don't define; this causes problems on Solaris 7.
73954         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
73955
73956 2000-07-23  Jim Meyering  <meyering@lucent.com>
73957
73958         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
73959         too: getgrgid, getpwuid, getuid.
73960
73961 2000-07-23  Jim Meyering  <meyering@lucent.com>
73962
73963         * lib/basename.c (base_name): Add an assertion.
73964
73965 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
73966
73967         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
73968         shadow its mbsinit function.
73969
73970 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
73971
73972         * lib/mbswidth.h: New file.
73973         * lib/mbswidth.c: New file.
73974         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
73975         (noinst_HEADERS): Add mbswidth.h.
73976
73977 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
73978
73979         * lib/config.charset: Add support for FreeBSD. Improve support for
73980         HP-UX and IRIX 6.
73981
73982 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
73983
73984         * m4/mbswidth.m4: New file.
73985         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
73986
73987 2000-07-15  Jim Meyering  <meyering@lucent.com>
73988
73989         * lib/makepath.c: Include quote.h.
73990         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
73991         corresponding argument in a `quote (...)' call.
73992         Give better diagnostics.
73993
73994         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
73995         (noinst_HEADERS): Add quote.h.
73996
73997         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
73998         from tar's src/misc.c.
73999         * lib/quote.h: New file.  Prototypes for same.
74000
74001 2000-07-14  Paul Eggert  <eggert@twinsun.com>
74002
74003         From a suggestion by Bruno Haible.
74004         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
74005         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
74006         to decide whether to define the BeOS workaround macro;
74007         this adjusts to the change to AC_MBSTATE_T.
74008
74009 2000-07-14  Jim Meyering  <meyering@lucent.com>
74010
74011         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
74012         jm_AC_TYPE_UINTMAX_T.
74013
74014 2000-07-13  Paul Eggert  <eggert@twinsun.com>
74015
74016         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
74017
74018         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
74019         quotearg_buffer_restyled): Add support for
74020         clocale_quoting_style.  Undo previous change to
74021         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
74022         and "{RIGHT QUOTATION MARK}" msgids.
74023
74024 2000-07-10  Paul Eggert  <eggert@twinsun.com>
74025
74026         From a suggestion by Bruno Haible.
74027         * m4/mbstate_t.m4 (AC_MBSTATE_T):
74028         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
74029         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
74030         and mbstate_t, to a single-part test that simply defines mbstate_t.
74031         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
74032         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
74033
74034 2000-07-10  Jim Meyering  <meyering@lucent.com>
74035
74036         * m4/strerror_r.m4: Mirror the correction made in autoconf.
74037
74038         * m4/gnu-source.m4: Output to confdefs.h directly.
74039         Suggestion from Akim Demaille.
74040
74041 2000-07-09  Paul Eggert  <eggert@twinsun.com>
74042
74043         The old behavior of quoting `like this' doesn't look good with
74044         newer, ISO-style fonts.  See:
74045         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
74046
74047         Instead, quote "like this" by default.  Let the translator
74048         tailor the locale-specific quoting behavior by providing
74049         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
74050
74051         * lib/quotearg.c (N_): New macro.
74052         (gettext_default): New function.
74053         (quotearg_buffer_restyled): Use
74054         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
74055         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
74056
74057 2000-07-09  Jim Meyering  <meyering@lucent.com>
74058
74059         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
74060         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
74061
74062         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
74063         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
74064
74065 2000-07-09  Jim Meyering  <meyering@lucent.com>
74066
74067         * lib/Most files: Update copyright dates to include 2000.
74068
74069 2000-07-08  Jim Meyering  <meyering@lucent.com>
74070
74071         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
74072         if not defined.
74073         (xgethostname): Remove now-unnecessary #ifdef.
74074         Move declaration of `err' into loop where it's used.
74075
74076 2000-07-05  Paul Eggert  <eggert@twinsun.com>
74077         and Bruno Haible  <haible@clisp.cons.org>
74078
74079         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
74080         only if the test for an object-type mbstate_t fails.  This
74081         prevents us from mistakenly reporting that mbstate_t is a
74082         system object type after we "#define mbstate_t int" to work
74083         around its lack.
74084
74085 2000-07-05  Paul Eggert  <eggert@twinsun.com>
74086         and Bruno Haible  <haible@clisp.cons.org>
74087
74088         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
74089
74090 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
74091
74092         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
74093         to strerror_r.
74094         Include <ctype.h> for use of isalpha.
74095
74096 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
74097
74098         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
74099         by allocating a larger buffer. Test the gethostname return value for
74100         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
74101         returns an error and ENAMETOOLONG isn't defined.
74102
74103 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
74104
74105         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
74106         dimension.
74107
74108 2000-07-04  Jim Meyering  <meyering@lucent.com>
74109
74110         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
74111         of the deprecated AC_CHECKING.
74112
74113 2000-07-04  Jim Meyering  <meyering@lucent.com>
74114
74115         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
74116         Reported by Bruno Haible.
74117
74118 2000-07-04  Jim Meyering  <meyering@lucent.com>
74119
74120         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
74121         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
74122         lacks mbrtowc.
74123
74124 2000-07-03  Paul Eggert  <eggert@twinsun.com>
74125
74126         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
74127         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
74128
74129 2000-07-03  Paul Eggert  <eggert@twinsun.com>
74130         and Bruno Haible  <haible@clisp.cons.org>
74131
74132         * lib/quotearg.c (mbrtowc):
74133         Assign to *pwc, and return 1 only if result is nonzero.
74134         (iswprint): Use ISPRINT when substituting our own mbrtowc.
74135
74136 2000-07-03  Jim Meyering  <meyering@lucent.com>
74137
74138         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
74139
74140 2000-07-03  Jim Meyering  <meyering@lucent.com>
74141
74142         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
74143         This is necessary to get a definition of e.g., UTMP_FILE on
74144         HP-UX 10.20.
74145         From Bob Proulx.
74146
74147 2000-07-02  Jim Meyering  <meyering@lucent.com>
74148
74149         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
74150
74151         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
74152         AC_LIBOBJ(function_name).
74153         * m4/chown.m4: Likewise.
74154         * m4/fnmatch.m4: Likewise.
74155         * m4/ftruncate.m4: Likewise.
74156         * m4/getgroups.m4: Likewise.
74157         * m4/getline.m4: Likewise.
74158         * m4/group-member.m4: Likewise.
74159         * m4/jm-macros.m4: Likewise.
74160         * m4/lstat.m4: Likewise.
74161         * m4/malloc.m4: Likewise.
74162         * m4/memcmp.m4: Likewise.
74163         * m4/nanosleep.m4: Likewise.
74164         * m4/putenv.m4: Likewise.
74165         * m4/realloc.m4: Likewise.
74166         * m4/regex.m4: Likewise.
74167         * m4/stat.m4: Likewise.
74168         * m4/strftime.m4: Likewise.
74169
74170 2000-07-02  Jim Meyering  <meyering@lucent.com>
74171
74172         * lib/quotearg.c (mbstate_t): Don't define here.
74173
74174 2000-07-02  Jim Meyering  <meyering@lucent.com>
74175
74176         * lib/nanosleep.c (SIGCONT): Define if not already defined.
74177
74178 2000-07-01  Jim Meyering  <meyering@lucent.com>
74179
74180         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
74181
74182 2000-07-01  Jim Meyering  <meyering@lucent.com>
74183
74184         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
74185         problem.
74186
74187 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
74188
74189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
74190         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
74191
74192 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
74193
74194         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
74195         per change in ../m4/ls-mntd-fs.m4.
74196         (read_filesystem_list): Ignore symbolic links.
74197
74198 2000-06-29  Jim Meyering  <meyering@lucent.com>
74199
74200         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
74201         for declaration of strcmp.
74202
74203         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
74204
74205         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
74206         Avoid warning by casting result to `char *' to remove `const'.
74207
74208 2000-06-28  Jim Meyering  <meyering@lucent.com>
74209
74210         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
74211         included by quotearg.c, for which we perform this test.  From
74212         Bruno Haible.
74213
74214 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
74215
74216         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
74217         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
74218         <utmpx.h> exists, put readutmp.o into LIBOBJS.
74219
74220 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
74221
74222         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
74223
74224 2000-06-26  Paul Eggert  <eggert@twinsun.com>
74225
74226         savedir now sets errno on failure and invokes xmalloc to get memory.
74227         Fix a couple of other minor bugs while we're at it.
74228
74229         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
74230         (NAMLEN): Remove macro.
74231         (malloc, realloc): Remove decls.
74232         (stpcpy): Likewise.
74233         ("xalloc.h"): Include.
74234         (NAME_SIZE_DEFAULT): New macro.
74235         (savedir): Use xmalloc / xrealloc to allocate memory.
74236         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
74237         Skip "" directory entries.
74238         Use strlen to calculate directory entry length, since the old method
74239         is rarely used these days and isn't worth supporting.
74240         Don't use a pointer after freeing it.
74241         Check for integer overflow when calculating allocation size.
74242         Use memcpy to copy entries, instead of stpcpy.
74243         Set errno properly when returning NULL.
74244         Check for readdir error.
74245
74246 2000-06-26  Jim Meyering  <meyering@lucent.com>
74247
74248         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
74249
74250 2000-06-25  Jim Meyering  <meyering@lucent.com>
74251
74252         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
74253         Linux header bug when _XOPEN_SOURCE is defined to 500.
74254
74255 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
74256
74257         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
74258         deficiency.
74259
74260 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
74261
74262         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
74263         Include xalloc.h.
74264         Don't include <stdlib.h>.  Don't declare malloc, realloc.
74265
74266 2000-06-24  Jim Meyering  <meyering@lucent.com>
74267
74268         * m4/strerror_r.m4: Revive this file -- to try out an experimental
74269         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
74270         for which strerror does return char*, but which lacks a conveniently
74271         accessible declaration of the function.  If the compile-test says
74272         strerror_r doesn't work, then resort to a `run'-test that works on
74273         BeOS and segfaults on DEC Unix.
74274
74275 2000-06-24  Jim Meyering  <meyering@lucent.com>
74276
74277         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
74278
74279 2000-06-23  Paul Eggert  <eggert@twinsun.com>
74280
74281         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
74282         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
74283
74284 2000-06-23  Paul Eggert  <eggert@twinsun.com>
74285
74286         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
74287         (mbrtowc, mbstate_t): Define substitutes if
74288         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
74289         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
74290         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
74291
74292 2000-06-23  Jim Meyering  <meyering@lucent.com>
74293
74294         * m4/afs.m4: Add missing AC_MSG_RESULT.
74295         Reported by Bruno Haible.
74296
74297         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
74298         Suggestion from Bruno Haible.
74299
74300 2000-06-23  Jim Meyering  <meyering@lucent.com>
74301
74302         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
74303
74304 2000-06-21  Jim Meyering  <meyering@lucent.com>
74305
74306         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
74307
74308 2000-06-21  Jim Meyering  <meyering@lucent.com>
74309
74310         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
74311         (noinst_HEADERS): Add getstr.h.
74312
74313         * lib/getline.c (getstr): Move into a separate file.
74314         * lib/getstr.c (getstr): New file, extracted from getline.c, with
74315         the following changes: new parameter, delim2; both delim[12]
74316         parameters have type `int', not `char'.  The latter would lose
74317         with 8-bit delimiters.
74318         * lib/getstr.h: New file.
74319
74320 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74321
74322         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
74323         than 1024, return a memory chunk of least possible size, instead
74324         of size PATH_MAX + 2. In the loop, increment the size proportionally.
74325         Use free/xmalloc instead of xrealloc to avoid copying for very long
74326         paths.
74327
74328 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74329
74330         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
74331         the empty string.
74332
74333 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74334
74335         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
74336         address, not strdup.  Include <stdlib.h> and don't declare free().
74337
74338 2000-06-19  Jim Meyering  <meyering@lucent.com>
74339
74340         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
74341
74342 2000-06-18  Jim Meyering  <meyering@lucent.com>
74343
74344         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
74345
74346         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
74347         `checking whether...' message to be consistent with that of the
74348         lstat test.
74349
74350 2000-06-18  Jim Meyering  <meyering@lucent.com>
74351
74352         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
74353         Besides, these days every porting target provides a mkdir function.
74354
74355         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
74356         needed. (this snippet comes from src/system.h).
74357
74358 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
74359
74360         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
74361
74362 2000-06-15  Paul Eggert  <eggert@twinsun.com>
74363
74364         * lib/human.c (adjust_value): New function.
74365         (human_readable_inexact): Apply rounding style even when
74366         printing approximate values.
74367
74368 2000-06-14  Paul Eggert  <eggert@twinsun.com>
74369
74370         * lib/human.c (human_readable_inexact): Allow an input block
74371         size that is not a multiple of the output block size, and vice versa.
74372         Reported by Piergiorgio Sartor.
74373
74374 2000-06-14  Paul Eggert  <eggert@twinsun.com>
74375
74376         * lib/getdate.y (get_date): Apply relative times after time
74377         zone indicator, not before.  Reported by Todd A. Jacobs.
74378
74379 2000-06-13  Jim Meyering  <meyering@lucent.com>
74380
74381         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
74382
74383         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
74384
74385 2000-06-12  Paul Eggert  <eggert@twinsun.com>
74386
74387         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
74388
74389 2000-06-12  Jim Meyering  <meyering@lucent.com>
74390
74391         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
74392         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
74393         optional argument.
74394         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
74395         the optional argument, `lib'.
74396
74397 2000-06-08  Jim Meyering  <meyering@lucent.com>
74398
74399         * m4/largefile.m4: Remove file (now that it's part of autoconf).
74400
74401 2000-06-04  Paul Eggert  <eggert@twinsun.com>
74402
74403         Rewrite largefile configuration so that we don't need to run
74404         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
74405         AC_CANONICAL_HOST in configure.in -- jmm]
74406
74407         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
74408         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
74409         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
74410         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
74411         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
74412         All uses changed.
74413         Instead of inspecting the output of getconf, try to compile the
74414         test program without and with the macro definition.
74415         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
74416         for getconf.  Instead, check for the needed flags by compiling
74417         test programs.
74418
74419 2000-06-04  Paul Eggert  <eggert@twinsun.com>
74420
74421         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
74422
74423 2000-06-04  Jim Meyering  <meyering@lucent.com>
74424
74425         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
74426         SunOS 4.1.4 for which gid_t is an unsigned type.
74427
74428 2000-06-03  Jim Meyering  <meyering@lucent.com>
74429
74430         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
74431         now that autoconf requires that.
74432
74433         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
74434         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
74435         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
74436
74437 2000-06-03  Jim Meyering  <meyering@lucent.com>
74438
74439         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
74440
74441 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
74442
74443         * m4/glibc21.m4: New file.
74444         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
74445
74446 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
74447
74448         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
74449         newer, don't install charset.alias.
74450         * lib/config.charset: Change the Linux/glibc rules so they become empty
74451         on glibc-2.1 or newer.
74452
74453 2000-06-02  Jim Meyering  <meyering@lucent.com>
74454
74455         * lib/mountlist.c: Back out last change.  Instead, do this...
74456         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
74457         me_dummy member using the same `ignore'-testing code.
74458         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
74459         fs_type strings.
74460         From Mark D. Roth.
74461
74462 2000-05-29  Jim Meyering  <meyering@lucent.com>
74463
74464         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
74465         mounts with the `ignore' attribute.  Based on a patch from
74466         Mark D. Roth.
74467
74468 2000-05-28  Jim Meyering  <meyering@lucent.com>
74469
74470         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
74471         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74472         * m4/stat.m4: Likewise.
74473         * m4/lstat.m4: Likewise.
74474         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
74475
74476         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
74477         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
74478
74479 2000-05-26  Jim Meyering  <meyering@lucent.com>
74480
74481         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
74482
74483 2000-05-24  Jim Meyering  <meyering@lucent.com>
74484
74485         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
74486         autoconf requires that.
74487         * m4/lib-check.m4: Likewise.
74488         * m4/jm-macros.m4: Likewise.
74489         * m4/strftime.m4: Likewise.
74490
74491         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
74492         AC_CHECK_DECLS, now that autoconf requires that.
74493
74494 2000-05-22  Jim Meyering  <meyering@lucent.com>
74495
74496         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74497         * m4/lstat.m4: Likewise.
74498
74499 2000-05-22  Jim Meyering  <meyering@lucent.com>
74500
74501         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
74502
74503 2000-05-20  Jim Meyering  <meyering@lucent.com>
74504
74505         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
74506         (jm_PREREQ): Use it.
74507
74508 2000-05-18  Jim Meyering  <meyering@lucent.com>
74509
74510         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
74511         back, too, since it may have been modified by allocate_entry.
74512         (hash_delete): Rewrite to use neither the assignment operator
74513         nor the comma operator in an if-expression.
74514
74515 2000-05-15  Paul Eggert  <eggert@twinsun.com>
74516
74517         * lib/closeout.c:
74518         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
74519         Remove; no longer needed.
74520         "quotearg.h": Add include.
74521         (file_name): Do not bother to explicitly initialize to NULL; it's less
74522         efficient on some hosts.
74523         (close_stdout_status): Remove test as to whether stdout was already
74524         closed; it breaks for the case "echo x | sort >&-".
74525         Quote file name colons.
74526         Do not assume that _("write error") lacks format strings.
74527
74528 2000-05-15  Jim Meyering  <meyering@lucent.com>
74529
74530         * lib/version-etc.c (version_etc_copyright): Update the copyright
74531         string used in all --version output.
74532
74533 2000-05-14  Jim Meyering  <meyering@lucent.com>
74534
74535         * lib/closeout.c (close_stdout_set_file_name): New function.
74536         (close_stdout_status): Use new file-scoped global.
74537         Return right away if fstat says the stdout file descriptor is invalid.
74538         * lib/closeout.h (close_stdout_set_file_name): Declare.
74539
74540 2000-05-10  Jim Meyering  <meyering@lucent.com>
74541
74542         * lib/closeout.c [default_exit_status]: New file-scoped variable.
74543         (close_stdout_set_status): New function.
74544         * lib/closeout.h (close_stdout_set_status): Declare.
74545
74546 2000-05-09  Jim Meyering  <meyering@lucent.com>
74547
74548         * m4/gettext.m4: Rename this...
74549         * m4/libintl.m4: ...to this.
74550
74551 2000-05-08  Jim Meyering  <meyering@lucent.com>
74552
74553         * lib/long-options.c: Don't include closeout.h.
74554         (parse_long_options): Don't call close_stdout for --version.
74555
74556 2000-05-06  Paul Eggert  <eggert@twinsun.com>
74557
74558         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
74559         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
74560         2.1.3 bug.  This avoids a clash when files like regex.c define
74561         _GNU_SOURCE.
74562
74563 2000-05-06  Jim Meyering  <meyering@lucent.com>
74564
74565         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
74566         (AC_REPLACE_FUNCS): Add strnlen.
74567
74568         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
74569         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
74570
74571         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
74572         AC_SEARCH_LIBS call for nanosleep.
74573         (LIB_NANOSLEEP): Set and AC_SUBST.
74574
74575 2000-05-06  Jim Meyering  <meyering@lucent.com>
74576
74577         * lib/strnlen.c: Undefine __strnlen and strnlen.
74578         [!weak_alias]: Define __strnlen to strnlen.
74579
74580         * lib/atexit.c: New file, from libiberty.
74581
74582 2000-05-06  Jim Meyering  <meyering@lucent.com>
74583
74584         * lib/closeout.c (close_stdout_status): Also check for errors on the
74585         stderr stream.
74586
74587 2000-05-05  Jim Meyering  <meyering@lucent.com>
74588
74589         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
74590         AC_SEARCH_LIBS call for clock_gettime.
74591         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
74592
74593         * m4/search-libs.m4: Update from autoconf.
74594
74595         su doesn't work on Solaris 2.6.
74596         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
74597         <shadow.h>.  Reported by Dragos Harabor.
74598
74599 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
74600
74601         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
74602         memcpy instead of xmalloc, xrealloc, path_concat.
74603         (locale_charset): Treat empty environment variables as absent.
74604         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
74605
74606 2000-05-04  Jim Meyering  <meyering@lucent.com>
74607
74608         * lib/getopt.c: Update from glibc.
74609         * lib/obstack.c: Likewise.
74610         * lib/obstack.h: Likewise.
74611         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
74612         file
74613
74614         * lib/regex.h: Likewise.
74615         * lib/strndup.c: Likewise.
74616         * lib/strnlen.c: New file, from glibc.
74617
74618 2000-05-03  Jim Meyering  <meyering@lucent.com>
74619
74620         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
74621
74622 2000-05-02  Paul Eggert  <eggert@twinsun.com>
74623
74624         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
74625         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
74626         compile-time test, rather than inspecting host and OS, to
74627         decide whether to define _LARGEFILE_SOURCE.
74628
74629 2000-05-01  Jim Meyering  <meyering@lucent.com>
74630
74631         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
74632
74633         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
74634         Based on a patch from Bruno Haible.
74635
74636 2000-05-01  Jim Meyering  <meyering@lucent.com>
74637
74638         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
74639
74640 2000-04-29  Jim Meyering  <meyering@lucent.com>
74641
74642         * lib/path-concat.c: Declare strdup only if it's not defined.
74643         * lib/canon-host.c: Likewise.
74644
74645 2000-04-28  Jim Meyering  <meyering@lucent.com>
74646
74647         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
74648         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
74649         is included first, then limits.h is included by locale.h by libintl.h.
74650         From John David Anglin.
74651
74652 2000-04-25  Jim Meyering  <meyering@lucent.com>
74653
74654         * lib/makepath.c (S_IRWXUGO): Define.
74655         (make_path): Always perform explicit chmod if MODE specifies any
74656         of the `special' permission bits.  Prompted by a bug report against
74657         install from Mate Wierdl and Joost van Baal.
74658
74659 2000-04-18  Jim Meyering  <meyering@lucent.com>
74660
74661         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
74662         (jm_PREREQ): Use it.
74663
74664 2000-04-18  Jim Meyering  <meyering@lucent.com>
74665
74666         * lib/README: New file.
74667
74668         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
74669         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
74670
74671 2000-04-17  Jim Meyering  <meyering@lucent.com>
74672
74673         Get it right :-)
74674         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
74675         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
74676         Suggestion from Akim Demaille.
74677
74678 2000-04-17  Jim Meyering  <meyering@lucent.com>
74679
74680         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
74681         the definition of it to rpl_strftime also defined-away the system's
74682         declaration.
74683
74684 2000-04-15  Jim Meyering  <meyering@lucent.com>
74685
74686         Use `C' to denote so-called `contiguous' files, the same way
74687         that tar does.
74688         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
74689         (ftypelet): Use S_ISCTG.
74690         From Michael Deutschmann.
74691
74692 2000-04-14  Jim Meyering  <meyering@lucent.com>
74693
74694         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
74695         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
74696         clobbered.
74697
74698 2000-04-14  Jim Meyering  <meyering@lucent.com>
74699
74700         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
74701
74702 2000-04-13  Jim Meyering  <meyering@lucent.com>
74703
74704         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
74705         AH_VERBATIM to insert required #ifndef into config.h.in.
74706         Suggestion from Akim Demaille.
74707
74708 2000-04-12  Jim Meyering  <meyering@lucent.com>
74709
74710         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
74711         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
74712         Christian Krackowizer.
74713
74714         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
74715         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
74716         (AC_SYS_LARGEFILE): Require.
74717         (AM_C_PROTOTYPES): Require.
74718
74719 2000-04-08  Jim Meyering  <meyering@lucent.com>
74720
74721         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
74722         names don't conflict.  Reported by Eli Zaretskii.
74723
74724 2000-04-07  Jim Meyering  <meyering@lucent.com>
74725
74726         * lib/putenv.c: Move inclusion of errno.h so it follows that of
74727         sys/types.h, to work around system header problems on AIX 3.2.5.
74728         From Bruno Haible.
74729
74730 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
74731
74732         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
74733         bug.  Deal with the different error behavior of Irix iconv.
74734
74735 2000-04-05  Paul Eggert  <eggert@twinsun.com>
74736
74737         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
74738         IRIX if the installer said otherwise.
74739
74740 2000-04-05  Jim Meyering  <meyering@lucent.com>
74741
74742         Portability tweaks required for ultrix4.3.
74743         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
74744         (jm_CHECK_DECLS): Add getutent to the list of functions.
74745         (_jm_DECL_HEADERS): Add utmpx.h.
74746         From John David Anglin.
74747
74748         * m4/strftime.m4: Back out the 2000-04-02 change.
74749         Instead of that change, simply undefine putenv in the test program.
74750
74751 2000-04-05  Jim Meyering  <meyering@lucent.com>
74752
74753         Portability tweaks required for ultrix4.3.
74754         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
74755         getutent.
74756         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
74757         * lib/canon-host.c: Declare strdup.
74758         * lib/path-concat.c: Likewise.
74759         From John David Anglin.
74760
74761 2000-04-04  Jim Meyering  <meyering@lucent.com>
74762
74763         Be more DOS 8.3-friendly.
74764         * lib/ref-add.sin: Renamed from ref-add.sed.in.
74765         * lib/ref-del.sin: Renamed from ref-del.sed.in.
74766         * lib/Makefile.am: Reflect renaming.
74767         Reported by Eli Zaretskii.
74768
74769         Use a temporary file name that won't clash with `charset.alias'
74770         in the DOS 8.3 name space.
74771         * lib/Makefile.am (charset_tmp): Define.
74772         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
74773         (uninstall-local): Likewise.
74774         Reported by Eli Zaretskii.
74775
74776 2000-04-03  Jim Meyering  <meyering@lucent.com>
74777
74778         * m4/gettext.m4: Fix typo in comment.
74779
74780         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
74781         textutils/configure.in).  Suggestion from Paul Eggert.
74782         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
74783
74784 2000-04-02  Paul Eggert  <eggert@twinsun.com>
74785
74786         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
74787         variable in the shell rather than using putenv, which isn't
74788         portable.  This avoids the configure-time inter-test dependency
74789         on the potentially-renamed putenv function.
74790
74791 2000-03-30  Paul Eggert  <eggert@twinsun.com>
74792
74793         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
74794         before checking struct stat.st_blksize, so that
74795         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
74796
74797 2000-03-29  Paul Eggert  <eggert@twinsun.com>
74798
74799         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
74800         since strftime.c uses HAVE_STRFTIME to decide whether to use
74801         the underlying strftime.
74802
74803 2000-03-29  Paul Eggert  <eggert@twinsun.com>
74804
74805         * lib/time/strftime.c (my_strftime): Make sure we call the system
74806         strftime, not ourselves, when invoking the underlying strftime.
74807
74808 2000-03-24  Jim Meyering  <meyering@lucent.com>
74809
74810         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
74811         (charset_alias): Define.
74812         (install-exec-local): Factor out common code.
74813         (uninstall-local): Split lines longer than 80.
74814         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
74815         (SUFFIXES): Define.
74816         (.sed.in.sed): New rule.  Don't redirect directly to $@.
74817         (CLEANFILES): Add ref-add.sed and ref-del.sed.
74818
74819 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
74820
74821         * lib/config.charset: Output a line containing "Packages using this
74822         file".
74823         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
74824         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
74825         ref-del.sed): New rules.
74826
74827 2000-03-17  Jim Meyering  <meyering@lucent.com>
74828
74829         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
74830         Otherwise, include <strings.h>
74831
74832 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
74833
74834         * lib/unicodeio.c (utf8_wctomb): New function.
74835         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
74836         format instead of in UCS-4 with platform dependent endianness.
74837
74838 2000-03-10  Jim Meyering  <meyering@lucent.com>
74839
74840         * m4/lib-check.m4: Look for getspnam in -lgen, too.
74841         From Marco Franzen.
74842
74843 2000-03-07  Paul Eggert  <eggert@twinsun.com>
74844
74845         * lib/savedir.c (savedir): Work even if directory size is
74846         negative; this can happen with some screwy NFS configurations.
74847
74848 2000-03-06  Jim Meyering  <meyering@lucent.com>
74849
74850         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
74851         if it's NULL (because we ran out of memory).  From Bruno Haible.
74852
74853 2000-03-05  Jim Meyering  <meyering@lucent.com>
74854
74855         * lib/localcharset.c ("path-concat.h"): Include.
74856         (get_charset_aliases): Use path_concat instead of ANSI string
74857         concatenation.
74858
74859         * lib/unicodeio.h (PARAMS): Define.
74860         Use it to guard prototype.
74861
74862 2000-03-04  Jim Meyering  <meyering@lucent.com>
74863
74864         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
74865         for lib/localcharset.c.
74866
74867 2000-03-04  Jim Meyering  <meyering@lucent.com>
74868
74869         * lib/Makefile.am (install-exec-local): Create $(libdir) before
74870         installing into it.
74871         (uninstall-local): Uncomment this rule so `make distcheck' works
74872         once again.
74873
74874         * lib/unicodeio.c (<errno.h>): Include it.
74875         (errno): Declare if not defined.
74876
74877         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
74878
74879         * lib/config.charset: New version, incorporating remarks from a linux
74880         i18n mailing list.  From Bruno Haible.
74881
74882 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
74883
74884         * m4/codeset.m4: New file.
74885         * m4/iconv.m4: New file.
74886         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
74887
74888 2000-03-03  Jim Meyering  <meyering@lucent.com>
74889
74890         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
74891
74892 2000-03-02  Jim Meyering  <meyering@lucent.com>
74893
74894         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
74895         the messages come out on separate lines.
74896
74897         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
74898         rather than jm_CHECK_DECLARATIONS.
74899         * m4/decl.m4: Remove now-unused file.
74900
74901         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
74902         geteuid.
74903
74904 2000-03-02  Jim Meyering  <meyering@lucent.com>
74905
74906         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
74907
74908 2000-03-01  Jim Meyering  <meyering@lucent.com>
74909
74910         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
74911         * lib/unicodeio.c: Likewise.
74912
74913 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
74914
74915         * lib/config.charset: New file.
74916         * lib/localcharset.c: New file.
74917         * lib/unicodeio.h, lib/unicodeio.c: New files.
74918         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
74919         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
74920         (noinst_HEADERS): Add unicodeio.h.
74921         (all-local, install-exec-local, charset.alias): New targets.
74922
74923 2000-02-28  Paul Eggert  <eggert@twinsun.com>
74924
74925         * lib/quotearg.c (ALERT_CHAR): New macro.
74926         (quotearg_buffer_restyled): Use it.
74927
74928 2000-02-27  Jim Meyering  <meyering@lucent.com>
74929
74930         * m4/check-decl.m4: Add getenv to the list.
74931
74932 2000-02-27  Jim Meyering  <meyering@lucent.com>
74933
74934         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
74935         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
74936
74937         * lib/backupfile.c: Guard inclusion of stdlib.h with
74938         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
74939         Declare malloc if needed.
74940
74941         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
74942         `#ifndef HAVE_DECL..'
74943         now that autoconf always defines the HAVE_DECL_ symbols.
74944         * lib/human.c: Likewise.
74945         * lib/same.c: Likewise.
74946         * lib/strtoumax.c: Likewise.
74947
74948         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
74949         declaration check was not run.
74950         * lib/hash.c: Likewise.
74951         * lib/human.c: Likewise.
74952         * lib/same.c: Likewise.
74953         * lib/strtoumax.c: Likewise.
74954
74955         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
74956         `.', then first look up the entire `.'-containing string as a login
74957         name.
74958
74959 2000-02-23  Jim Meyering  <meyering@lucent.com>
74960
74961         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
74962         in place of my hack.
74963
74964 2000-02-18  Paul Eggert  <eggert@twinsun.com>
74965
74966         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
74967         (textint): New typedef.
74968         (parser_control): Member year changed from int to textint.
74969         All uses changed.
74970         (YYSTYPE): Removed; replaced by %union with int and textint members.
74971         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
74972         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
74973         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
74974         (tSNUMBER, tUNUMBER): Now of type <textintval>.
74975         (date, number, to_year): Use width of number in digits, not its value,
74976         to determine whether it's a 2-digit year, or a 2-digit time.
74977         (yylex): Store number of digits of numeric tokens.
74978         Reported by John Kendall.
74979
74980         (parser_control): Changed from struct parser_control to typedef (for
74981         consistency).  All uses changed.
74982
74983         (tID): Removed; not used.
74984         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
74985
74986 2000-02-14  Paul Eggert  <eggert@twinsun.com>
74987
74988         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
74989         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
74990
74991 2000-02-12  Jim Meyering  <meyering@lucent.com>
74992
74993         * lib/userspec.c (ISDIGIT): Define it.
74994         (isdigit): Remove definition.
74995         (is_number): Use ISDIGIT, not isdigit.
74996         <libintl.h>: Include.
74997         (_ and N_): Define.
74998         (parse_user_spec): Mark translatable strings.
74999
75000 2000-02-10  Jim Meyering  <meyering@lucent.com>
75001
75002         With these changes, nanosleep.[ch] are finally enough like the other
75003         lib/* replacement files to compile on a few more losing systems.
75004
75005         * lib/nanosleep.h: Don't include config.h.
75006         Remove prototype from declaration of nanosleep.
75007         (PARAMS): Remove now-unneeded definition.
75008         * lib/nanosleep.c: #undef nanosleep.
75009         (rpl_nanosleep): Rename from nanosleep.
75010
75011 2000-02-10  Jim Meyering  <meyering@lucent.com>
75012
75013         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
75014         gnu_nanosleep to rpl_nanosleep.
75015
75016 2000-02-09  Jim Meyering  <meyering@lucent.com>
75017
75018         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
75019         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
75020
75021 2000-02-08  Akim Demaille  <akim@epita.fr>
75022
75023         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
75024         `[' and `]' and remove uses of `changequote'.
75025         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
75026         (AC_SYS_LARGEFILE): Likewise.
75027         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
75028         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
75029         of changequote.
75030         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
75031         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
75032         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
75033         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
75034
75035 2000-02-05  Jim Meyering  <meyering@lucent.com>
75036
75037         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
75038         Remove explicit use of AC_HEADER_TIME.  It is required by
75039         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
75040         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
75041         in autoconf whereby the expansion of the latter ended up preceding
75042         the expansion of its prerequisite, AC_HEADER_TIME.
75043         Reported by Volker Borchert.
75044
75045 2000-02-03  Jim Meyering  <meyering@lucent.com>
75046
75047         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
75048
75049 2000-02-03  Jim Meyering  <meyering@lucent.com>
75050
75051         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
75052         rather than with `#if HAVE_UTMPNAME'.
75053
75054 2000-02-02  Jim Meyering  <meyering@lucent.com>
75055
75056         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
75057         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
75058         Reported by Eli Zaretskii.
75059
75060 2000-02-01  Jim Meyering  <meyering@lucent.com>
75061
75062         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
75063
75064 2000-01-31  Jim Meyering  <meyering@lucent.com>
75065
75066         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
75067         functions.  Add the time.h and sys/time.h headers along with the
75068         AC_REQUIRE'ment of AC_HEADER_TIME.
75069
75070 2000-01-31  Jim Meyering  <meyering@lucent.com>
75071
75072         * lib/nanosleep.h (nanosleep): Guard declaration with
75073         `#if ! HAVE_DECL_NANOSLEEP'.
75074         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
75075         the declaration in that vendor's sys/timers.h.
75076         Reported by Christian Krackowizer.
75077
75078         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
75079         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
75080         (ISPRINT): Likewise.
75081         Reported by Tom Tromey.
75082
75083 2000-01-30  Jim Meyering  <meyering@lucent.com>
75084
75085         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
75086
75087         * m4/prereq.m4 (utmp_includes): Define.
75088         Check for ut_user and ut_name members in both struct utmpx
75089         and struct utmp.
75090
75091 2000-01-30  Jim Meyering  <meyering@lucent.com>
75092
75093         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
75094         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
75095         header files where only utmpx.ut_user is declared.
75096
75097         * lib/readutmp.h (UT_USER): Define.
75098
75099 2000-01-29  Jim Meyering  <meyering@lucent.com>
75100
75101         * m4/lib-check.m4: New file containing library-related checks from
75102         fileutils and sh-utils (textutils had none).
75103
75104 2000-01-28  Jim Meyering  <meyering@lucent.com>
75105
75106         * m4/perl.m4: Change format of warning message to look more like that
75107         from the missing script.  Suggestion from François Pinard.
75108
75109 2000-01-25  Jim Meyering  <meyering@lucent.com>
75110
75111         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
75112         well as time.h in the compile check.
75113         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
75114         Fix typo in cross-compiling case: s/yes/no/.
75115
75116 2000-01-23  Jim Meyering  <meyering@lucent.com>
75117
75118         * m4/jm-macros.m4: Move df-related tests here from
75119         fileutils/configure.in
75120
75121         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
75122         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
75123
75124         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
75125         s/space/ac_fsusage_space/.
75126         (jm_FILE_SYSTEM_USAGE): Take two parameters.
75127
75128         * m4/ftruncate.m4: New file (derived from part of
75129         fileutils/configure.in).
75130         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
75131         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
75132
75133         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
75134         AC_SUBST these here, rather than just in sh-util/configure.in, so
75135         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
75136         all the same.
75137         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
75138         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
75139         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
75140         (AC_SUBST(POW_LIBM)): Likewise.
75141         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
75142
75143 2000-01-23  Jim Meyering  <meyering@lucent.com>
75144
75145         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
75146         obstack.c.
75147
75148 2000-01-22  Jim Meyering  <meyering@lucent.com>
75149
75150         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
75151
75152         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
75153
75154         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
75155         configure.in
75156         (AC_CHECK_HEADERS): Likewise for sh-utils.
75157         (AC_CHECK_HEADERS): Likewise for textutils.
75158         Merge the three lists of headers.
75159
75160         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
75161         from fileutils' configure.in.
75162
75163         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
75164         code. Moved tests into their own function (_jm_DECL_HEADERS) in
75165         check-decl.m4.
75166
75167         * m4/check-decl.m4: Use #if rather than #ifdef.
75168         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
75169         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
75170         (_jm_DECL_HEADERS): Define new function.
75171         (jm_CHECK_DECLARATIONS): Require it.
75172
75173 2000-01-22  Jim Meyering  <meyering@lucent.com>
75174
75175         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
75176         [! HAVE_DECL_STRTOULL]: Declare strtoull.
75177         Required for some AIX systems.  Reported by Christian Krackowizer.
75178         [TESTING] (main): New function.
75179
75180         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
75181         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
75182         letters.
75183
75184         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
75185         iswprint.
75186
75187         * lib/strverscmp.c (ISDIGIT): Define.
75188         (strverscmp): Use ISDIGIT, not isdigit.
75189
75190 2000-01-19  Jim Meyering  <meyering@lucent.com>
75191
75192         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
75193         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
75194         defines `struct timespec' in <sys/time.h>
75195
75196         * m4/c-bs-a.m4: Remove uses of changequote altogether.
75197         Thanks to Akim for explaining.
75198
75199 2000-01-17  Paul Eggert  <eggert@twinsun.com>
75200
75201         * lib/nanosleep.c (nanosleep):
75202         Don't use SA_INTERRUPT to decide whether to call sigaction, as
75203         POSIX.1 doesn't require SA_INTERRUPT and some systems
75204         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
75205         it's been part of POSIX.1 since day 1 (in 1988).
75206
75207 2000-01-17  Jim Meyering  <meyering@lucent.com>
75208
75209         * lib/interlock: Remove unused file.  Reported by François Pinard.
75210
75211 2000-01-16  Paul Eggert  <eggert@twinsun.com>
75212
75213         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
75214         alert, backslash, formfeed, and vertical tab unnecessarily in
75215         shell quoting style.
75216
75217 2000-01-16  Jim Meyering  <meyering@lucent.com>
75218
75219         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
75220         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
75221         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
75222         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
75223
75224 2000-01-16  Jim Meyering  <meyering@lucent.com>
75225
75226         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
75227         because the latter didn't work.
75228
75229 2000-01-15  Jim Meyering  <meyering@lucent.com>
75230
75231         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
75232         (AC_REPLACE_FUNCS): Add memcpy and memset.
75233         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
75234         Add strpbrk.
75235         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
75236
75237 2000-01-12  Jim Meyering  <meyering@lucent.com>
75238
75239         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
75240         (jm_PREREQ): Use it.
75241         (jm_PREREQ_READUTMP): New macro.
75242         (jm_PREREQ): Use it.
75243
75244 2000-01-11  Paul Eggert  <eggert@twinsun.com>
75245
75246         Quote multibyte characters correctly.
75247         * m4/c-bs-a.m4: New file.
75248         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
75249         (jm_PREREQ): Use it.
75250
75251 2000-01-11  Paul Eggert  <eggert@twinsun.com>
75252
75253         * m4/uintmax_t.m4: Port to autoconf 2.13.
75254
75255 2000-01-08  Jim Meyering  <meyering@ascend.com>
75256
75257         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
75258         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
75259
75260 2000-01-04  Jim Meyering  <meyering@ascend.com>
75261
75262         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
75263         jm_STRUCT_DIRENT_D_TYPE.
75264         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
75265         jm_STRUCT_DIRENT_D_INO.
75266         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
75267         jm_STRUCT_UTIMBUF.
75268         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
75269         renamings.
75270         * m4/utime.m4: Likewise.
75271
75272         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
75273         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
75274
75275 2000-01-03  Paul Eggert  <eggert@twinsun.com>
75276
75277         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
75278         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
75279
75280 2000-01-02  Jim Meyering  <meyering@ascend.com>
75281
75282         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
75283         remember if this is necessary.
75284
75285 1999-12-26  Jim Meyering  <meyering@ascend.com>
75286
75287         * m4/jm-macros.m4: Use it here.
75288         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
75289
75290 1999-12-23  Jim Meyering  <meyering@ascend.com>
75291
75292         * m4/jm-macros.m4: Check for clock_gettime (moved from
75293         fileutils/configure.in)
75294         Check for gettimeofday.
75295
75296 1999-12-20  Jim Meyering  <meyering@ascend.com>
75297
75298         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
75299         autoconf-2.14a-1999-12-20.
75300
75301 1999-12-19  Jim Meyering  <meyering@ascend.com>
75302
75303         * m4/lstat-slash.m4: New file.
75304         * m4/jm-macros.m4: Use the new macro:
75305         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75306
75307 1999-12-07  Jim Meyering  <meyering@ascend.com>
75308
75309         * m4/perl.m4: Require that File::Compare be available, too.
75310         Too many systems seem to lack it.
75311
75312         * m4/strftime.m4: Add checks for most of the cpp macros tested in
75313         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
75314
75315 1999-11-18  Paul Eggert  <eggert@twinsun.com>
75316
75317         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
75318         problem with the QNX 4.25 shell, which doesn't propagate exit
75319         status of failed commands inside shell assignments.
75320
75321 1999-11-17  Jim Meyering  <meyering@ascend.com>
75322
75323         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
75324
75325 1999-11-07  Jim Meyering  <meyering@ascend.com>
75326
75327         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
75328
75329 1999-11-06  Jim Meyering  <meyering@ascend.com>
75330
75331         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
75332         * m4/jm-macros.m4 (jm_MACROS): Use it here.
75333
75334 1999-11-05  Jim Meyering  <meyering@ascend.com>
75335
75336         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
75337         configure.in of textutils, fileutils, and sh-utils into this one
75338         (shared between those packages) file.
75339         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
75340         AC_STRUCT_ST_BLKSIZE.
75341
75342 1999-11-03  Jim Meyering  <meyering@ascend.com>
75343
75344         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
75345         of AC_CHECK_TYPE checks includes unistd.h.
75346         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
75347         Suggestion from Akim Demaille.
75348
75349 1999-10-30  Jim Meyering  <meyering@ascend.com>
75350
75351         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
75352         m4-quoted string.
75353         * m4/ls-mntd-fs.m4: Likewise.
75354         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
75355         * m4/jm-winsz1.m4: Likewise.
75356
75357         * m4/const.m4: Remove file, since the fix made it into the experimental
75358         version of autoconf.
75359         * m4/mktime.m4: Likewise.
75360
75361         * m4/check-type.m4: Remove file, now that the latest version of
75362         AC_CHECK_TYPE takes a third arg to specify additional #includes.
75363
75364         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
75365         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
75366         AC_CHECK_TYPE.
75367
75368 1999-10-04  Jim Meyering  <meyering@ascend.com>
75369
75370         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
75371
75372 1999-09-22  Paul Eggert  <eggert@twinsun.com>
75373
75374         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
75375         2.95.1 bug with HP-UX 10.20.
75376
75377 1999-09-17  Jim Meyering  <meyering@ascend.com>
75378
75379         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
75380         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
75381         due to missing strdup (against sh-utils-2.0).
75382
75383 1999-08-29  Jim Meyering  <meyering@ascend.com>
75384
75385         * m4/jm-macros.m4: Require jm_BISON.
75386         * m4/bison.m4: New file.
75387
75388 1999-08-17  Paul Eggert  <eggert@twinsun.com>
75389
75390         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
75391         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
75392
75393 1999-08-05  Jim Meyering  <meyering@ascend.com>
75394
75395         * m4/getline.m4: Rename test file from conftestdata to conftest.data
75396         to avoid conflicts with `conftest' on 8+3 filesystems.
75397         Suggestion from Eli Zaretskii.
75398
75399 1999-08-04  Jim Meyering  <meyering@ascend.com>
75400
75401         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
75402         fileutils and sh-utils (textutils's getline test was inadequate).
75403         (AM_FUNC_GETLINE): Run this test.
75404         (AC_CHECK_FUNCS): Check for getdelim.
75405         Reported by Bob Proulx.
75406
75407 1999-08-02  Jim Meyering  <meyering@ascend.com>
75408
75409         * m4/jm-macros.m4: Add a comment.
75410
75411 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75412
75413         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
75414         <inttypes.h> defines strtoumax as a macro (and not as a
75415         function).
75416
75417 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75418
75419         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
75420         that we can shift, multiply and divide unsigned long long
75421         values; Ultrix cc can't do it.
75422
75423 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75424
75425         * m4/mktime.m4: New file, which is a preview of what should appear
75426         in the next public autoconf release.
75427
75428 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75429
75430         * m4/lfs.m4: Remove this file.
75431         * m4/largefile.m4: New file.  It contains the old contents of
75432         lfs.m4, except that all names with prefix AC_LFS have been
75433         changed to use the prefix AC_SYS_LARGEFILE instead, to be
75434         compatible with future autoconf versions.  Also, some minor m4
75435         quoting problems have been fixed.
75436
75437 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75438
75439         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
75440         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
75441         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
75442         and simplify the shell code.
75443
75444 1999-08-01  Jim Meyering  <meyering@ascend.com>
75445
75446         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
75447         m4.
75448
75449 1999-07-20  Jim Meyering  <meyering@ascend.com>
75450
75451         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
75452
75453 1999-07-15  Jim Meyering  <meyering@ascend.com>
75454
75455         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
75456
75457 1999-05-22  Jim Meyering  <meyering@ascend.com>
75458
75459         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
75460
75461 1999-05-20  Jim Meyering  <meyering@ascend.com>
75462
75463         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
75464         Add a colon after each `then' in case $4 is empty.
75465
75466 1999-05-16  Jim Meyering  <meyering@ascend.com>
75467
75468         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
75469
75470 1999-05-10  Jim Meyering  <meyering@ascend.com>
75471
75472         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
75473
75474         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
75475         AC_FUNC_MKTIME.
75476
75477 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
75478
75479         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
75480
75481 1999-05-04  Paul Eggert  <eggert@twinsun.com>
75482
75483         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
75484         not CPPFLAGS, so that linking works correctly in IRIX.
75485
75486 1999-04-30  Paul Eggert  <eggert@twinsun.com>
75487
75488         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
75489
75490 1999-04-20  Paul Eggert  <eggert@twinsun.com>
75491
75492         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
75493         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
75494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
75495         jm_AC_TYPE_UNSIGNED_LONG_LONG.
75496         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
75497
75498         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
75499
75500 1999-04-20  Jim Meyering  <meyering@ascend.com>
75501
75502         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
75503         AC_REPLACE xstroull if necessary.  From Paul Eggert.
75504         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
75505
75506 1999-04-18  Jim Meyering  <meyering@ascend.com>
75507
75508         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
75509         * m4/jm-macros.m4: Use it.
75510
75511 1999-04-06  Jim Meyering  <meyering@ascend.com>
75512
75513         * m4/strftime.m4: Remove test for %f.
75514
75515 1999-03-29  Jim Meyering  <meyering@ascend.com>
75516
75517         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
75518         superset of the AC_TYPE_* checks in the textutils, fileutils,
75519         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
75520         AC_TYPE_PID_T.
75521
75522 1999-03-28  Jim Meyering  <meyering@ascend.com>
75523
75524         * m4/jm-macros.m4: Define GNU_PACKAGE here.
75525         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
75526         replaced e.g., in the *.sh files of the sh-utils.
75527
75528 1999-03-20  Jim Meyering  <meyering@ascend.com>
75529
75530         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
75531         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
75532         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
75533
75534 1999-03-19  Jim Meyering  <meyering@ascend.com>
75535
75536         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
75537
75538 1999-03-12  Jim Meyering  <meyering@ascend.com>
75539
75540         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
75541
75542 1999-03-07  Jim Meyering  <meyering@ascend.com>
75543
75544         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
75545         declared.
75546
75547 1999-02-17  Jim Meyering  <meyering@ascend.com>
75548
75549         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
75550         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
75551
75552 1999-02-07  Jim Meyering  <meyering@ascend.com>
75553
75554         * m4/group-member.m4: New file -- extracted from sh-utils'
75555         configure.in.
75556
75557         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
75558         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
75559
75560 1999-02-06  Jim Meyering  <meyering@ascend.com>
75561
75562         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
75563         * m4/fnmatch.m4: Likewise.
75564         * m4/getgroups.m4: Likewise.
75565         * m4/lstat.m4: Likewise.
75566         * m4/malloc.m4: Likewise.
75567         * m4/putenv.m4: Likewise.
75568         * m4/realloc.m4: Likewise.
75569         * m4/regex.m4: Likewise.
75570         * m4/stat.m4: Likewise.
75571         * m4/strftime.m4: Likewise.
75572         Suggestion from Alain Magloire.
75573
75574         * m4/chown.m4: Use `.$ac_objext', not `.o'.
75575         * m4/fnmatch.m4: Likewise.
75576         * m4/getgroups.m4: Likewise.
75577         * m4/getline.m4: Likewise.
75578         * m4/lstat.m4: Likewise.
75579         * m4/malloc.m4: Likewise.
75580         * m4/memcmp.m4: Likewise.
75581         * m4/putenv.m4: Likewise.
75582         * m4/realloc.m4: Likewise.
75583         * m4/regex.m4: Likewise.
75584         * m4/stat.m4: Likewise.
75585         * m4/strftime.m4: Likewise.
75586         Suggestion from Alain Magloire.
75587
75588         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
75589         an argument.
75590
75591         * m4/regex.m4: Add a run-time Test for proper operation of
75592         re_compile_pattern.
75593
75594 1999-01-31  Jim Meyering  <meyering@ascend.com>
75595
75596         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
75597
75598 1999-01-30  Jim Meyering  <meyering@ascend.com>
75599
75600         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
75601
75602         * m4/jm-mktime.m4: Make this a wrapper around the official
75603         AM_FUNC_MKTIME rather than my private copy, now that the official one
75604         is up to date.
75605         * m4/mktime.m4: Remove file.
75606
75607         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
75608         * m4/uptime.m4: Likewise.
75609         * m4/uintmax_t.m4: Likewise.
75610
75611 1999-01-28  Jim Meyering  <meyering@ascend.com>
75612
75613         * m4/jm-macros.m4: Use jm_AFS.
75614         * m4/afs.m4: New file (from fileutils' configure.in).
75615
75616         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
75617         * m4/chown.m4: Likewise.
75618         * m4/d-ino.m4: Likewise.
75619         * m4/d-type.m4: Likewise.
75620         * m4/fnmatch.m4: Likewise.
75621         * m4/getgroups.m4: Likewise.
75622         * m4/gettext.m4: Likewise.
75623         * m4/jm-mktime.m4: Likewise.
75624         * m4/jm-winsz2.m4: Likewise.
75625         * m4/lcmessage.m4: Likewise.
75626         * m4/ls-mntd-fs.m4: Likewise.
75627         * m4/malloc.m4: Likewise.
75628         * m4/memcmp.m4: Likewise.
75629         * m4/putenv.m4: Likewise.
75630         * m4/realloc.m4: Likewise.
75631         * m4/st_mtim.m4: Likewise.
75632         * m4/strftime.m4: Likewise.
75633
75634 1999-01-16  Jim Meyering  <meyering@ascend.com>
75635
75636         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
75637         (ARGMATCH_DIE_DECL): Define.
75638
75639 1999-01-12  Jim Meyering  <meyering@ascend.com>
75640
75641         * m4/Makefile.am.in: Rewrite to avoid using fmt.
75642         Reported by Lars Hecking.
75643
75644 1999-01-10  Jim Meyering  <meyering@ascend.com>
75645
75646         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
75647         gross kludge.
75648         * m4/inttypes_h.m4: Likewise.
75649         * m4/lstat.m4: Likewise.
75650         * m4/malloc.m4: Likewise.
75651         * m4/readdir.m4: Likewise.
75652         * m4/realloc.m4: Likewise.
75653         * m4/st_dm_mode.m4: Likewise.
75654         * m4/stat.m4: Likewise.
75655         * m4/utimbuf.m4: Likewise.
75656         * m4/utimes.m4: Likewise.
75657
75658         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
75659         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
75660         comments in config.h.in are meaningful.
75661
75662         * m4/jm-macros.m4: Require autoconf-2.13 here.
75663
75664         * m4/regex.m4: By default, don't use the included regex.c on systems
75665         with glibc 2.  Suggestion from Uli Drepper.
75666
75667 1999-01-02  Jim Meyering  <meyering@ascend.com>
75668
75669         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
75670
75671 1998-12-18  Jim Meyering  <meyering@ascend.com>
75672
75673         * m4/Makefile.am.in (Makefile.am): Simplify rule.
75674         Based on a suggestion from Lars Hecking.
75675
75676 1998-11-16  Paul Eggert  <eggert@twinsun.com>
75677
75678         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
75679
75680 1998-11-16  Jim Meyering  <meyering@ascend.com>
75681
75682         * m4/lfs.m4: Double-quote the `uname...` expression.
75683
75684 1998-11-14  Jim Meyering  <meyering@ascend.com>
75685
75686         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
75687         * m4/stat.m4: Likewise.
75688
75689 1998-11-03  Jim Meyering  <meyering@ascend.com>
75690
75691         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
75692         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
75693
75694 1998-10-18  Jim Meyering  <meyering@ascend.com>
75695
75696         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
75697
75698 1998-10-17  Jim Meyering  <meyering@ascend.com>
75699
75700         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
75701         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
75702         calls for those previously hard-coded headers.  Instead, take a new
75703         parameter.
75704         (jm_CHECK_DECLARATIONS): Reflect interface change.
75705         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
75706         (jm_CHECK_DECL_LOCALTIME_R): New macro.
75707
75708         * m4/mktime.m4: Test for spring-forward gap before long-running test.
75709
75710 1998-10-14  Jim Meyering  <meyering@ascend.com>
75711
75712         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
75713         instead of "TZ=America/Vancouver".  From Paul Eggert.
75714
75715 1998-10-11  Jim Meyering  <meyering@ascend.com>
75716
75717         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
75718         This adds a test for a recently added compatibility fix for mktime.c.
75719         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
75720
75721 1998-09-27  Jim Meyering  <meyering@ascend.com>
75722
75723         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
75724
75725         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
75726         ../configure.in, including a change from Gordon Matzigkeit to allow
75727         cross-compiling for the Hurd.
75728
75729         * m4/glibc.m4: New file/macro to test for the GNU C Library
75730         versions 1 and 2.  From Gordon Matzigkeit.
75731         Indent.
75732
75733 1998-09-21  Jim Meyering  <meyering@ascend.com>
75734
75735         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
75736
75737 1998-08-18  Paul Eggert  <eggert@twinsun.com>
75738
75739         Port nanosecond-resolution times to UnixWare 2.1.2 and
75740         pedantic Solaris 2.6.
75741
75742         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
75743         AC_STRUCT_ST_MTIM.
75744         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
75745         Generate name of ns member, instead of just 1 or undef.
75746         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
75747
75748 1998-08-15  Jim Meyering  <meyering@ascend.com>
75749
75750         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
75751         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
75752         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
75753         instead of jm_TYPE_SSIZE_T.
75754
75755 1998-08-12  Jim Meyering  <meyering@ascend.com>
75756
75757         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
75758
75759 1998-08-02  Jim Meyering  <meyering@ascend.com>
75760
75761         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
75762         in acconfig.h manually.
75763
75764 1998-07-31  Paul Eggert  <eggert@twinsun.com>
75765
75766         * m4/st_mtim.m4: New file.
75767
75768 1998-07-28  Jim Meyering  <meyering@ascend.com>
75769
75770         * m4/utimes.m4: Undef stat.
75771
75772 1998-07-25  Jim Meyering  <meyering@ascend.com>
75773
75774         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
75775         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
75776
75777 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
75778
75779         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
75780         uid and gid actually remain unchanged.
75781
75782 1998-07-07  Jim Meyering  <meyering@ascend.com>
75783
75784         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
75785
75786 1998-07-04  Jim Meyering  <meyering@ascend.com>
75787
75788         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
75789         to prove that this macro can be used in packages without regex.c.
75790
75791 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
75792
75793         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
75794         is to be used.
75795
75796 1998-07-03  Jim Meyering  <meyering@ascend.com>
75797
75798         * m4/gettext.m4: Add -lintl if it's found to be necessary.
75799
75800         * m4/gettext.m4: New file -- from gettext-0.10.35.
75801         * m4/lcmessage.m4: Likewise.
75802         * m4/progtest.m4: Likewise.
75803
75804         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
75805         * m4/jm-macros.m4: Require the new macro.
75806
75807 1998-06-29  Jim Meyering  <meyering@ascend.com>
75808
75809         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
75810         for the definition of NGROUPS (used in a system header included
75811         by sys/mount.h).
75812
75813 1998-06-28  Jim Meyering  <meyering@ascend.com>
75814
75815         * m4/ls-mntd-fs.m4: New file.
75816         * m4/fstypename.m4: New file.
75817
75818         * m4/jm-macros.m4: Require the new macro.
75819         * m4/jm-glibc-io.m4: New file.
75820
75821 1998-05-19  Jim Meyering  <meyering@ascend.com>
75822
75823         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
75824         * m4/lchown.m4: New file.
75825
75826         * m4/Makefile.am.in: New file.
75827         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
75828
75829 1998-05-14  Jim Meyering  <meyering@ascend.com>
75830
75831         * m4/Makefile.am (EXTRA_DIST): Add them.
75832         * m4/jm-macros.m4: New file.
75833         * m4/utimbuf.m4: New file.
75834
75835 1998-05-12  Jim Meyering  <meyering@ascend.com>
75836
75837         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
75838
75839 1998-05-11  Jim Meyering  <meyering@ascend.com>
75840
75841         * m4/isc-posix.m4: New file.
75842
75843 1998-05-10  Jim Meyering  <meyering@ascend.com>
75844
75845         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
75846
75847 1998-05-09  Jim Meyering  <meyering@ascend.com>
75848
75849         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
75850         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
75851         with automake.
75852
75853         * m4/ssize_t.m4: New file.
75854         * m4/mktime.m4: Remove file -- the new automake has this now.
75855
75856 1998-04-26  Jim Meyering  <meyering@ascend.com>
75857
75858         * m4/assert.m4: New file.
75859         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
75860
75861 1998-04-05  Jim Meyering  <meyering@ascend.com>
75862
75863         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
75864         (jm_PREREQ): Use it here.
75865
75866 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
75867
75868         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
75869         in acconfig.h.
75870
75871 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
75872
75873         * m4/prereq.m4: New file.
75874         * m4/error.m4: New file.
75875         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
75876
75877 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
75878
75879         * m4/getline.m4: Don't set am_cv_func_working_getline before the
75880         cache-check for the same variable -- that defeated the purpose of
75881         the test; the test program was never run.  This was a problem only
75882         on systems with losing getline functions -- HP-UX 10.20 is one.
75883         Reported by Bjorn Helgaas.
75884
75885 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
75886
75887         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
75888
75889 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
75890
75891         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
75892
75893         * m4/const.m4: New file.  Use an initializer in this declaration
75894         typedef int charset[2]; const charset x;
75895         Reported by Bob Glickstein.
75896
75897 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
75898
75899         * m4/chown.m4: Fix reversed types on -1 args to chown.
75900         From Kaveh Ghazi.
75901
75902 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
75903
75904         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
75905         Add lseek and memchr.
75906
75907         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
75908         T.E.Dickey <dickey@clark.net> said that some older preprocessors
75909         have a 20-character limit on names.
75910
75911 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
75912
75913         * m4/inttypes_h.m4: New file.
75914         * m4/uintmax_t.m4: New file.
75915         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
75916
75917
75918         -----
75919
75920         Local Variables:
75921         coding: utf-8
75922         End:
75923
75924         Copyright (C) 1997-2011 Free Software Foundation, Inc.
75925
75926         Copying and distribution of this file, with or without
75927         modification, are permitted provided the copyright notice
75928         and this notice are preserved.